修改了兩個目錄的路徑,將Hive的配置文件存在安裝目錄的tmp下,所以會創建一個tmp。將所有產生的臨時文件或者配置文件,所有的工作內容都放到了安裝目錄下。
將metastore的路徑更改到app-12上。
相關的連接密碼修改爲Yhf_1018。
連接的字符串。
在初始化之後會創建schema,不需要檢驗。
將log的目錄更改到安裝目錄下。
1、在app-11上,以hadoop用戶登錄。
命令:su - hadoop
2、進入到/hadoop目錄下。
命令:cd /hadoop/
3、將config.conf、startAll.sh、stopAll.sh刪除。
命令:rm -rf config.conf startAll.sh stopAll.sh
4、進入/tmp/Spark-stack/Hive/Automated scripts/目錄下。
命令:cd /tmp/Spark-stack/Hive/Automated scripts/
5、將 startAll.sh、stopAll.sh、config.conf /hadoop/拷貝到/hadoop目錄下。
命令:cp -r startAll.sh stopAll.sh config.conf /hadoop/
6、將cremoteSSH.exp 拷貝到/hadoop/tools/目錄下。
命令:cp remoteSSH.exp /hadoop/tools/
7、進入/hadoop目錄下。
命令:cd /hadoop/
8、賦予執行權限。
命令:chmod a+x *.sh
9、啓動集羣。
命令:./startAll.sh
將Hive安裝到app-12上,減輕app-11的負載。
1、在app-11上,以hadoop登錄。
命令:su – hadoop
注:所有的啓停工作都在app-11上。
2、檢查集羣是否正常啓動。
命令:jps
3、在app-12上。
命令:netstat -tnl
注:如果沒有啓動需要手動啓動。
4、在app-12的hadoopmysql中new terminal。
5、進入root用戶下。
命令:sudo /bin/bash
6、啓動mysql服務器。
命令:service mysql start
7、登錄MySQL,查看是否正常啓動。
命令:mysql -uroot -p
注:輸入數據庫密碼,這裏的默認密碼是Yhf_1018。
8、在app-12上hadoopc2的new terminal,以hadoop用戶登錄。
命令:su – hadoop
注:所有的啓停工作都在app-11上。
9、進入hadoop目錄下。
命令:cd /hadoop/
10、創建安裝Hive的目錄。
命令:mkdir Hive
11、進入到該目錄下。
命令:cd Hive/
12、下載Hive安裝包。
命令:wget https://archive.apache.org/dist/hive/hive-3.1.1/apache-hive-3.1.1-bin.tar.gz
13、解壓安裝包。
命令:tar -xf apache-hive-3.1.1-bin.tar.gz
14、進入到安裝目錄下的配置文件。
命令:cd apache-hive-3.1.1-bin/conf/
15、刪除hive-default.xml.template和hive-log4j2.properties.template模板文件。
命令:rm -r hive-log4j2.properties.template hive-default.xml.template
16、進入到/tmp/Spark-stack/Hive/conf/目錄下。
命令:cd /tmp/Spark-stack/Hive/conf/
17、將修改後的配置文件拷貝到安裝目錄下的配置文件中。
命令:cp -r hive-log4j2.properties hive-site.xml /hadoop/Hive/apache-hive-3.1.1-bin/conf/
18、返回安裝目錄。
命令:cd /hadoop/Hive/apache-hive-3.1.1-bin
19、創建tmp和log文件。
命令:mkdir {tmp,log}
20、將Hive的路徑加到環境變量中。
命令:vi ~/.bashrc
export HIVE_HOME=/hadoop/Hive/apache-hive-3.1.1-bin
export PATH=${HIVE_HOME}/bin:$PATH
21、將環境變量生效。
命令:source ~/.bashrc
22、查看環境變量是否生效。
命令:echo $PATH
23、返回mysql中new terminal,賦權限在任何客戶端都可以登錄,不受ip限制。
命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Yhf_1018' with grant option;
24、將權限生效。
命令:FLUSH privileges;
25、先刪除Metastore的database,這裏是沒有的,爲了多次使用安全的一個措施。
命令:drop database if exists hive;
26、創建Metastore的database。
命令:create database hive;
27、查看是否創建成功。
命令:show databases;
28、退出MySQL。
命令:quit
29、返回hadoopc2的new terminal上,將MySQL的驅動下載到安裝目錄的lib下,先進入到lib的目錄下。
命令:cd lib/
30、下載驅動。
命令:wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
31、進入bin目錄下。
命令:cd /hadoop/Hive/apache-hive-3.1.1-bin/bin
32、初始化Metastore。
命令:schematool -dbType mysql -initSchema
33、啓動Hive service。
命令:nohup ./hive --service metastore > /hadoop/Hive/apache-hive-3.1.1-bin/log/metastore.log 2>&1 &
注:因爲需要將service放到後臺服務,所以使用nohup啓動方式啓動metastore服務,將所有的打印打印到log下
34、將hive進程顯示出來。
命令:ps -ef | grep hive
35、啓動hive。
命令:hive
36、查看databases。
命令:show databases;
注:沒有創建database。
37、按Ctrl+c退出命令行。
38、在app-11上,進入/hadoop目錄。
命令:cd /hadoop/
39、將安裝完的信息export出去。
命令:vi config.conf
40、停止所有的集羣。
命令:./stopAll.sh
41、登錄其他兩臺機器查看集羣。
命令:ssh [email protected] "jps"
、ssh [email protected] "jps"
42、重啓集羣。
命令:./startAll.sh
43、查看集羣啓動。
命令:jps
44、查看其它機器上的集羣。
命令:ssh [email protected] "jps"
、ssh [email protected] "jps"
問題原因:在lib目錄下初始化一系列工作了。
問題解決:刪除集羣重新搭建。
詳細學習內容可觀看Spark快速大數據處理掃一掃~~~或者引擎搜索Spark餘海峯