Hive多使用者模式環境搭建: 架構:
Namenode | Datanode | Journalnode | Zookeeper | ZKFC | ResourceManager | NodeManager | MySql | MetaStoreServer(服務端) | HiveCLI(用戶端) |
node1 | 1 | 1 | 1 | 1 | 1 | ||||
node2 | 1 | 1 | 1 | 1 | 1 | 1 | |||
node3 | 1 | 1 | 1 | 1 | 1 | 1 | |||
node4 | 1 | 1 | 1 | 1 |
前期準備:安裝MySQL資料庫 部署主機:hadoop1 使用者名/密碼:root/123 安裝Mysql: 1、yum install mysql mysql-server -y 2、mysql安裝完畢後,啟動MySQL服務, service mysqld start 進入MySQL mysql -u root -p 首次進入無密碼 3、登入成功後,修改權限資訊 grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;--授權 use mysql; select host , user , password from user ; delete from user where host !='%'; --删除多餘會對權限造成影響的資料 flush privileges;--重新整理 OK! MySQL配置完成!
Hive安裝 1、将hive的安裝包 apache-hive-1.2.1-bin.tar,上傳至 hadoop3的/home/software目錄下,解壓到/home目錄下: tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /home/ 配置環境變量:修改/etc/profile檔案,添加以下配置: export HIVE_HOME=/home/apache-hive-1.2.1-bin export PATH=$PATH:$HIVE_HOME/bin 儲存退出,重新整理緩存: source /etc/profile hadoop4執行相同操作。 2、配置服務端(hadoop3)。 進入hive安裝目錄下的conf目錄,對hive自帶的配置檔案模闆進行修改 cd /home/apache-hive-1.2.1-bin/conf mv hive-default.xml.template hive-site.xml --系統加載配置時,會自動尋找名為hive-site.xml配置檔案 vi hive-site.xml 删除<configuration>之間的原有配置,添加以下配置: <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExist=true</value> --配置mysql </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>123</value> </property> 此時,hive用戶端的配置已經完成。 但是有個需要特别注意的地方: Metastore Server 作為Hive服務端與MySQL資料庫進行互動,必須要有驅動包才可以。需要把mysql的驅動包mysql-connector-java-5.1.32-bin 拷貝至 /home/apache-hive-1.2.1-bin/lib 目錄下。 3、啟動Hive服務端 hive --service metastore & ------ 末尾不加&為前台啟動,加&為背景啟動 4、配置用戶端 cd /home/apache-hive-1.2.1-bin/conf mv hive-default.xml.template hive-site.xml --系統加載配置時,會自動尋找名為hive-site.xml配置檔案 vi hive-site.xml 删除<configuration>之間的原有配置,添加以下配置: <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://hadoop3:9083</value> </property> 5、需要注意: hive 與 hadoop 各自有一個 jLine的jar包 , 要保證兩個jLine 的版本一緻。 cp /home/apache-hive-1.2.1-bin/lib/jline-2.12.jar /home/hadoop-2.5.1/share/hadoop/yarn/lib/ rm -f /home/hadoop-2.5.1/share/hadoop/yarn/lib/jline-0.9.94.jar 6、啟動hive [[email protected] conf]# hive 17/05/01 19:56:03 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
Logging initialized using configuration in jar:file:/home/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties hive>