Hive环境搭建(完整版)-配置
生活随笔
收集整理的這篇文章主要介紹了
Hive环境搭建(完整版)-配置
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Hive部署:
前提:
在安裝Hive之前,要求先預(yù)裝: - 安裝JDK 8 - 安裝Hadoop-2.7.7 - 安裝MySQL 5.6.x!!!我這里主節(jié)點(diǎn)叫chun1,根據(jù)自己的進(jìn)行修改
一、安裝
1. 下載hive,并解壓縮到用戶主目錄下:
tar -xzvf apache-hive-2.3.6-bin.tar.gz 改名: mv apache-hive-2.3.6-bin hive2. 設(shè)置環(huán)境變量:
sudo vim /etc/profile 在文件的最后,添加如下兩句: export HIVE_HOME=/usr/local/hive export PATH=$HIVE_HOME/bin:$PATH然后執(zhí)行: source /etc/profile二、配置管理
首先進(jìn)入conf目錄把所有帶template后綴的文件移除后綴。
其中hive-default.xml移除后綴后,需要修改名為hive-site.xml。
1. 可通過以下方法對Hive進(jìn)行配置:
1.1 修改hive-env.sh
cp hive-env.sh.template hive-env.sh 因?yàn)镠ive使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安裝路徑:vim hive-env.sh在打開的配置文件中,添加如下幾行:export JAVA_HOME=/usr/local/hadoop/jdk1.8.0_221 export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HIVE_HOME=/usr/local/hive export HIVE_CONF_DIR=$HIVE_HOME/conf export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib1.2 修改hive-log4j2.properties,配置hive的log
cp hive-log4j2.properties.template hive-log4j2.propertiesvim conf/hive-log4j2.properties 配置下面的參數(shù)(如果沒有l(wèi)ogs目錄,在hive根目錄下創(chuàng)建它):property.hive.log.dir=/usr/local/hive/logs1.3 在/usr/local/hive-2.1.5/下新建一個tmp目錄,在tmp/下新建一個hive目錄。
cd /usr/local/hive mkdir tmp mkdir tmp/hive1.4 修改hive-site.xml
cp hive-default.xml.template hive-site.xml將hive-site.xml文件中:凡是${system:java.io.tmpdir}都替換成:/home/hduser/hive/tmp凡是${system:user.name}都替換為chun1 //你的主節(jié)點(diǎn)名2) hive-site.xml 中配置 MySQL 數(shù)據(jù)庫連接信息:
下面的配置信息只把需要改的寫出來了,vim命令行模式下輸入/+內(nèi)容進(jìn)行搜索對應(yīng)的name,將value做修改
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><!-- 設(shè)置下面這些屬性 --><property><name>hive.exec.scratchdir</name><value>/tmp/hive</value></property><property><name>hive.exec.local.scratchdir</name><value>/usr/local/hive/tmp/hive</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/hive/tmp/${hive.session.id}_resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><property><name>hive.querylog.location</name><value>/usr/local/hive/tmp/hive</value><description>Location of Hive run time structured log file</description></property> <property><name>hive.aux.jars.path</name><value>/usr/local/hive/lib,/usr/local/hive/jdbc</value><description>These JAR file are available to all users for all jobs。</description></property><property><name>hive.metastore.warehouse.dir</name><value>hdfs://chun1:9000/user/hive/warehouse</value><description>相對于fs.default.name有關(guān)的目錄,管理表存儲的位置</description></property><!--配置Hive Metastore--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://chun1:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value> //有些高版本的驅(qū)動需要在改成com.mysql.cj.jdbc.Driver</property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123</value> //這里是你mysql的密碼</property> <!--配置hiveserver2主機(jī)(這里最好是配置ip地址,以便于從Windows連接)--><property><name>hive.server2.thrift.bind.host</name><value>chun1</value><description>Bind host on which to run the HiveServer2 Thrift service.</description></property><!--配置beeline遠(yuǎn)程客戶端連接時的用戶名和密碼。這個用戶名要在對應(yīng)的hadoop的配置文件core-site.xml中也配置--> <property><name>hive.server2.thrift.client.user</name><value>chun1</value><description>Username to use against thrift client. default is 'anonymous'</description></property><property><name>hive.server2.thrift.client.password</name><value>123</value> //這里是你主機(jī)用戶的密碼<description>Password to use against thrift client. default is 'anonymous'</description></property> <!-- 配置下面兩個屬性,可以配置 hive 2.x web ui --><property><name>hive.server2.webui.host</name><value>chun1</value></property><!-- 重啟HiveServer2,訪問http://172.16.212.17:10002/ --> </configuration>1.4 配置Hive Metastore
默認(rèn)情況下, Hive的元數(shù)據(jù)保存在了內(nèi)嵌的derby數(shù)據(jù)庫里, 但一般情況下生產(chǎn)環(huán)境使用MySQL來存放Hive元數(shù)據(jù)。 將 mysql-connector-java-x.x.x.jar 放入 $HIVE_HOME/lib 下。(mysql jdbc驅(qū)動程序)!!!!這里注意mysql版本一定要比mysql-connector-java-x.x.x.jar版本低,要不然會報錯,他是向下兼容!(這里很重要,當(dāng)時我在這卡了很久,當(dāng)你有問題的時候可以看看是不是這個問題)
四、運(yùn)行
1. 運(yùn)行Hive CLI:
在命令行運(yùn)行hive命令時必須保證HDFS已經(jīng)啟動。可以使用start-dfs.sh來啟動HDFS。
(特別說明:從 Hive 2.1 版本開始, 在第一次運(yùn)行hive之前,需要先運(yùn)行schematool命令來執(zhí)行初始化操作。)
1。// 如果是使用MySQL數(shù)據(jù)庫:
// 先啟動mysql服務(wù)器:執(zhí)行
// 執(zhí)行初始化操作
schematool -initSchema -dbType mysql執(zhí)行成功后,可以查看MySQL中元數(shù)據(jù)庫hive是否已經(jīng)創(chuàng)建成功。
2.// 如果是使用derby數(shù)據(jù)庫:
schematool -initSchema -dbType derby// 進(jìn)入hive命令行:
hive
(或hive --service metastore &)
// 使用 show tables 來顯示所有的表:
創(chuàng)建個數(shù)據(jù)庫然后創(chuàng)建表
hive> drop table chun; OK Time taken: 1.125 seconds hive> create database chun; OK Time taken: 0.099 seconds hive> use chun; OK Time taken: 0.024 seconds下面進(jìn)入HDFS 的web端來查看一下Hive的倉庫
在瀏覽器輸入:192.168.228.138:50070可以看到剛才創(chuàng)建的表
總結(jié)
以上是生活随笔為你收集整理的Hive环境搭建(完整版)-配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好消息,20个城市实现公积金互认互贷,公
- 下一篇: REVERSE-PRACTICE-BUU