1. 程式人生 > >Hive2.1.1安裝與配置

Hive2.1.1安裝與配置

Hive2.1.1安裝與配置

1、配置hive環境變數

修改環境變數

vi .bash_profie

加入hive相關的環境變數

export HIVE_HOME=/usr/hive-2.1.1 ##我的安裝路徑

export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

2、修改Hive的配置檔案

hive 配置檔案目錄中

cd /usr/hive-2.1.1/conf
·         1

把初始化的檔案複製一份出來並且改名

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

3、修改hive-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_65    ##Java路徑

export HADOOP_HOME=/usr/hadoop-2.7.3##Hadoop安裝路徑

export HIVE_HOME=/usr/hive-2.1.1##Hive安裝路徑

export HIVE_CONF_DIR=/usr/hive-

2.1.1/conf    ##Hive配置檔案路徑

hdfs 中建立下面的目錄,並且授權

hdfsdfs -mkdir -p /user/hive/warehouse

hdfsdfs -mkdir -p /user/hive/tmp

hdfsdfs -mkdir -p /user/hive/log

hdfsdfs -chmod -R 777 /user/hive/warehouse

hdfsdfs -chmod -R 777 /user/hive/tmp

hdfsdfs -chmod -R 777 /user/hive/log

4、修改hive-site.xml

hive-site.xml 檔案中以下幾個配置項的值設定成上一步中建立的幾個路徑。

<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>

需要在 hive-site.xml 檔案中配置 MySQL 資料庫連線資訊。

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.9.200:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>

5、建立tmp檔案

mkdir /usr/hive-2.1.1/tmp

5、配置jdbc驅動包

mysqljdbc 驅動包下載地址:

下載完成後把mysql-connector-java-5.1.30-bin.jar然後放入 $HIVE_HOME/lib 目錄下

6、初始化hive

Hive 2.1 版本開始, 我們需要先執行 schematool 命令來執行初始化操作。

schematool -dbType mysql -initSchema

看到schemaTool completed 則初始化完成

6、檢測是否成功

檢測hive 是否成功直接在命令列輸入hive即可

Hive
[[email protected] ~]# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Logging initialized using configuration in file:/usr/hive-2.1.1/conf/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive>

7、啟動客戶端連線服務

nohup hiveserver2 &

8、啟動客戶端連線服務

我用是sqldeveloper.exe


如果連線時出現以下錯誤:

java.lang.RuntimeException:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): 

User root is not allowed to impersonateanonymous 錯誤。

修改hadoop 配置檔案 etc/hadoop/core-site.xml,加入如下配置項

<property>

   <name>hadoop.proxyuser.root.hosts</name>

   <value>*</value>

</property>

<property>

   <name>hadoop.proxyuser.root.groups</name>

   <value>*</value>

</property>

然後重啟hadoop