for my honey!
1竿秆、前言
安裝hive前提是要先安裝hadoop集群,并且hive只需要再hadoop的namenode節(jié)點(diǎn)集群里安裝即可单料,可以不在datanode節(jié)點(diǎn)的機(jī)器上安裝劳较。另外還需要說(shuō)明的是夭拌,雖然修改配置文件并不需要你已經(jīng)把hadoop跑起來(lái)鸿染,但是本文中用到了hadoop命令板祝,在執(zhí)行這些命令前你必須確保hadoop是在正常跑著的肛循,而且啟動(dòng)hive的前提也是需要hadoop在正常運(yùn)行庆寺,所以建議先將其他基礎(chǔ)環(huán)境安裝好蚊夫,hive安裝的環(huán)境基礎(chǔ)包括:
Hadoop-2.7.3
JDK-1.8.0_92
Spark-2.1.1-bin-hadoop2.7
2、下載hive
下載地址:http://hive.apache.org/downloads.html
點(diǎn)擊圖中的Download a release now!
按照步驟找到作一鏡像懦尝,使用wget命令下載
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz
3知纷、安裝HIVE
#假設(shè)hive安裝文件放在/data/soft目錄下
#本集群將hive安裝到/data/spark目錄下
#進(jìn)入安裝目錄
cd /data/spark
#解壓hive
tar -zxvf /data/soft/apache-hive-2.1.1-bin.tar.gz
#切換至root賬戶(hù)配置hive環(huán)境變量
vim /etc/profile
export HIVE_HOME=/data/soft/apache-hive-2.1.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
#root賬戶(hù)下使配置文件的修改生效
source /etc/profile
4、配置hive文件
4.1陵霉、修改HIVE配置文件
#進(jìn)入hive配置文件存放目錄
cd /data/soft/apache-hive-2.1.1-bin/conf
#把初始化的文件 復(fù)制一份出來(lái) 并且改名
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
4.2琅轧、修改hive-env.sh
#打開(kāi)hive-env.sh文件
vim hive-env.sh
#hadoop_home路徑
HADOOP_HOME=/data/spark/hadoop-2.7.3
#hive配置文件存放路徑
export HIVE_CONF_DIR=/data/spark/apache-hive-2.1.1-bin/conf
#hive相關(guān)jar存放路徑
export HIVE_AUX_JARS_PATH=/data/spark/apache-hive-2.1.1-bin/lib
4.3、在hdfs中創(chuàng)建文件并授權(quán)
#hive中存儲(chǔ)的數(shù)據(jù)和產(chǎn)生的臨時(shí)文件需要存儲(chǔ)在hdfs中踊挠,因此需要再hdfs中創(chuàng)建相應(yīng)文件
#存放hive中具體數(shù)據(jù)目錄
hadoop fs -mkdir /data/hive/warehouse
#存放hive運(yùn)行產(chǎn)生的臨時(shí)文件
hadoop fs -mkdir /data/hive/tmp
#存放hive日志文件
hadoop fs -mkdir /data/hive/log
#修改文件權(quán)限
hadoop fs -chmod -R 777 /data/hive/warehouse
hadoop fs -chmod -R 777 /data/hive/tmp
hadoop fs -chmod -R 777 /data/hive/log
4.4乍桂、修改hive-site.xml文件
#設(shè)置hive數(shù)據(jù)存儲(chǔ)目錄、臨時(shí)目錄效床、日志存放目錄
<property>
??<name>hive.exec.scratchdir</name>
??<value>hdfs://master:9000/data/hive/temp</value>
</property>
<property>
?? <name>hive.metastore.warehouse.dir</name>
??<value>hdfs://master:9000/data/hive/warehouse</value>
</property>
<property>
??<name>hive.querylog.location</name>
??<value>hdfs://master:9000/data/hive/log</value>
</property>
<!—該配置是關(guān)閉hive元數(shù)據(jù)版本認(rèn)證睹酌,否則會(huì)在啟動(dòng)spark程序時(shí)報(bào)錯(cuò)-->
<property>
??<name>hive.metastore.schema.verification</name>
??<value>false</value>
</property>
注:1、在配置hdfs文件路徑時(shí)必須填寫(xiě)完整的hdfs絕對(duì)路徑剩檀,如hdfs://master:9000/data/hive/temp
master:9000為集群namenode所在節(jié)點(diǎn)的IP和端口號(hào)
2憋沿、以上配置需要再hive-site.xml文件中找到需要配置的參數(shù),
并修改其默認(rèn)值沪猴。如果只是復(fù)制以上配置到hive-site.xml
文件會(huì)在運(yùn)行時(shí)被默認(rèn)值覆蓋而無(wú)法運(yùn)行
4.5辐啄、 修改hive-site.xml文件中mysql連接庫(kù)配置
#由于本集群采用mysql存儲(chǔ)hive元數(shù)據(jù)信息,因此需要配置mysql連接信息
<!—配置mysql IP 端口以及放元數(shù)據(jù)的庫(kù)名稱(chēng)-->
<property>
??<name>javax.jdo.option.ConnectionURL</name>
??<value>jdbc:mysql://000.000.000.000:3036/hive?createDatabaseIfNotExist=true</value>
</property>
<!—配置mysql啟動(dòng)器名稱(chēng) -->
<property>
??<name>javax.jdo.option.ConnectionDriverName</name>
?? <value>com.mysql.jdbc.Driver</value>
</property>
<!—配置連接mysql用戶(hù)名 -->
<property>
??<name>javax.jdo.option.ConnectionUserName</name>
??<value>******</value>
</property>
<!—配置連接mysql用戶(hù)名登錄密碼-->
<property>
??<name>javax.jdo.option.ConnectionPassword</name>
??<value>********</value>
</property>
注:1运嗜、同樣以上配置信息需要找到hive-site.xml文件中相應(yīng)的配置屬性壶辜,并修改為相應(yīng)的值
2、連接mysql的用戶(hù)名必須擁有很高的操作mysql的權(quán)限否則初始化時(shí)會(huì)提示權(quán)限不足
4.6洗出、修改hive-site.xml臨時(shí)文件目錄
1士复、在本地創(chuàng)建一文件
??mkdir $HIVE_HOME/temp
2、在配置文件 hive-site.xml 里面
??把{system:java.io.tmpdir}改成$HIVE_HOME/tmp/
??把{system:user.name}改成{user.name}
4.7、配置JDBC驅(qū)動(dòng)包
1阱洪、下載jdbc驅(qū)動(dòng)包
?地址https://dev.mysql.com/downloads/connector/j/5.1.html
2便贵、 解壓后將jdbc-connector-java.jar文件拷貝到 $HIVE_HOME/lib文件夾下
5、HIVE運(yùn)行
1冗荸、 初始化hive元數(shù)據(jù)
??$HIVE_HOME/bin/schematool -dbType mysql –initSchema
2承璃、 后臺(tái)運(yùn)行hiveserver2服務(wù)
??$HIVE_HOME/bin/hive --service hiveserver2&
3、 啟動(dòng)beeline
??beeline
4蚌本、 連接hive
??!connect jdbc:hive2://master:10000/default