本文hive安裝環境
系統:centos6.9
jdk:jdk1.8.0_201
hadoop:hadoop-2.7.2
HBase:hbase-1.2.4
zookeeper:zookeeper-3.4.9
mysql:mysql-server
hive安裝版本:
apache-hive-2.1.1
mysql數據庫連接安裝包
mysql-connector-java-5.1.44-bin.jar
1、下載安裝包
apache-hive-2.1.1-bin.tar.gz
2、將下載的安裝包上傳到centos6.9b並解壓,重新命名爲hive
3、配置環境變量(在root下)
輸入命令vi /ect/profile
# Hive environment
export HIVE_HOME=/opt/modules/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
4、source /etc/profile 生效環境變量
5、將mysql連接安裝包mysql-connector-java-5.1.44-bin.jar放到hive中的lib文件下
5、修改hive配置文件,切換至目錄cd /opt/modules/hive/conf,把初始化文件複製一份並改名
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
6、新建hive在hdfs的緩存目錄(配置文件會用到)
hadoop fs -mkdir hbase
hadoop fs -mkdir hbase/temp
7、在hive目錄下,建立temp文件夾(配置文件會用到)
8、修改hive-env.sh
#hadoop這裏根據你的地址
export HADOOP_HOME=/opt/modules/hadoop
export HIVE_CONF_DIR=/opt/modules/hive/conf
export HIVE_HOME=/opt/modules/hive
export HIVE_AUX_JARS_PATH=/opt/modules/hive/lib
9、在mysql數據庫中新建hive數據庫
10、修改hive-site.xml(文件信息比較多,用Ctrl搜索name值,修改value值即可)
配置數據庫
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://主機名:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value>
</property>
#配置連接驅動
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
#配置數據庫用戶名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>用戶名</value>
</property>
#配置數據庫密碼
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>密碼</value>
</property>
#配置緩存目錄:
<property>
<name>hive.metastore.warehouse.dir</name>
#剛纔創建的第一個
<value>/hbase</value>
<description>
location of default database for the warehouse
</description>
</property>
<property>
<name>hive.exec.scratchdir</name>
#剛纔建的第二個目錄
<value>/hbase/temp</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
#配置剛纔在hive建的temp文件
<property>
<name>hive.querylog.location</name>
<value>/opt/modules/hive/tmp${user.name}</value>
<description>Location of Hive run time structured log file</description>
</property>
在配置文件 hive-site.xml 裏面把
{system:java.io.tmpdir}
改成 /opt/modules/hive/temp
把 {system:user.name} 改成 {user.name}
11、初始化hive,輸入命令
schematool -initSchema -dbType mysql
初始化成功會有以下提示
Starting metastore schema initialization to 2.1.0
Initialization script hive-schema-2.1.0.derby.sql
Initialization script completed
12、輸入命令hive,進入hive進行測試
總結:最近在學習配置的時候,對於路徑的理解不是很深入,總是會出現大大小小的問題,經過練習,對於路徑能熟悉很多,大多數的事情都是從不熟悉到熟悉,慢慢堅持