阿里雲ECS服務器部署HADOOP集羣(四):Hive本地模式的安裝

本篇將在阿里雲ECS服務器部署HADOOP集羣(一):Hadoop徹底分佈式集羣環境搭建的基礎上搭建。html

 

本地模式須要採用MySQL數據庫存儲數據。java

1 環境介紹

2 安裝 Mysql

參照 mysql 安裝(Linux、Ubuntu)mysql

3 Hive 下載linux

下載 apache-hive-2.3.6-bin.tar.gz 並在合適的位置解壓縮,筆者這裏解壓縮的路徑爲:sql

/usr/local

將解壓獲得的目錄更名爲 hiveshell

1 cd /usr/local 2 mv apache-hive-2.3.6-bin/ hive/

4 添加 Hive 環境變量

在"/etc/profile"中添加內容:數據庫

1 export HIVE_HOME=/usr/local/hive 2 export PATH=$PATH:$HIVE_HOME/bin

從新加載環境:apache

source /etc/profile

5 修改 Hive 配置信息

1 cd $HIVE_HOME/conf 2 # 新建 hive-site.xml 文件, 或者複製已有的 hive-default.xml.templat 模版 3 vim hive-site.xml

配置可參考以下代碼:vim

 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 3 <configuration>
 4   <property>
 5     <name>javax.jdo.option.ConnectionURL</name>
 6     <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
 7     <description>JDBC connect string for a JDBC metastore</description>
 8   </property>
 9   <property>
10     <name>javax.jdo.option.ConnectionDriverName</name>
11     <value>com.mysql.jdbc.Driver</value>
12     <description>Driver class name for a JDBC metastore</description>
13   </property>
14   <property>
15     <name>javax.jdo.option.ConnectionUserName</name>
16     <value>root</value>
17     <description>username to use against metastore database</description>
18   </property>
19   <property>
20     <name>javax.jdo.option.ConnectionPassword</name>
21     <value>password</value>
22     <description>password to use against metastore database</description>
23   </property>
24 </configuration>

6 配置Mysql

6.1 爲 Hive 添加 mysql 鏈接器

下載 mysql-connector-java-5.1.47.tar.gz 並解壓至 $HIVE_HOME/lib 下

tar -zxvf mysql-connector-java-5.1.47.tar.gz -C $HIVE_HOME/lib

6.2 啓動並登錄 mysql shell

1 service mysql start 2 mysql -uroot -p

6.3 配置 mysql 容許 hive 接入:

1 # 將全部數據庫的全部表的全部權限賦給 root 用戶 2 grant all on *.* to root@localhost; 3 # 刷新mysql系統權限關係表 4 flush privileges;

7 啓動 Hive

啓動 hive 以前,確保已啓動 HDFS 和 YARN。服務器

1 start-all.sh
2 hive

在啓動Hive時,有可能會出現Hive metastore database is not initialized的錯誤,這裏給出解決方案。
解決Hive啓動,Hive metastore database is not initialized的錯誤。出錯緣由:之前曾經安裝了Hive或MySQL,從新安裝Hive和MySQL之後,致使版本、配置不一致。解決方法是,使用schematool工具。Hive如今包含一個用於 Hive Metastore 架構操控的脫機工具,名爲 schematool.此工具可用於初始化當前 Hive 版本的 Metastore 架構。此外,其還可處理從較舊版本到新版本的架構升級。因此,解決上述錯誤,你能夠在終端執行以下命令:

schematool -dbType mysql -initSchema

執行後,再啓動Hive,應該就正常了。

上述出自 http://dblab.xmu.edu.cn/blog/1080-2/

啓動進入Hive的交互式執行環境之後,輸入 show databases 會先顯示以下

hive> show databases; OK default Time taken: 7.312 seconds, Fetched: 1 row(s)

8 安裝完成

 

阿里雲ECS服務器部署HADOOP集羣系列:

相關文章
相關標籤/搜索