本篇將在阿里云ECS服務器部署HADOOP集群(一):Hadoop完全分布式集群環境搭建的基礎上搭建,
本地模式需要采用MySQL資料庫存盤資料,
1 環境介紹
- 一臺阿里云ECS服務器:master
- 作業系統:CentOS 7.3
- Hadoop:hadoop-2.7.3.tar.gz
- Java: jdk-8u77-linux-x64.tar.gz
- Hive:apache-hive-2.3.6-bin.tar.gz
- Mysql: Mysql 5.7
- MySQL Connector-J:mysql-connector-java-5.1.47.tar.gz
2 安裝 Mysql
參照 mysql 安裝(Linux、Ubuntu)
3 Hive 下載
下載 apache-hive-2.3.6-bin.tar.gz 并在合適的位置解壓縮,筆者這里解壓縮的路徑為:
/usr/local
將解壓得到的目錄改名為 hive
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
重新加載環境:
source /etc/profile
5 修改 Hive 配置資訊
1 cd $HIVE_HOME/conf 2 # 新建 hive-site.xml 檔案, 或者復制已有的 hive-default.xml.templat 模版 3 vim hive-site.xml
配置可參考如下代碼:
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <?xml-stylesheet type="text/xsl" href="https://www.cnblogs.com/RansonDu/p/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集群系列:
- 阿里云ECS服務器部署HADOOP集群(一):Hadoop完全分布式集群環境搭建
- 阿里云ECS服務器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)
- 阿里云ECS服務器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
- 阿里云ECS服務器部署HADOOP集群(五):Pig 安裝
- 阿里云ECS服務器部署HADOOP集群(六):Flume 安裝
- 阿里云ECS服務器部署HADOOP集群(七):Sqoop 安裝
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/42154.html
標籤:大數據
