大資料偽分散式環境搭建hadoop+zookeeper+hive+sqoop+hbase
最近開始學習大資料,自己在虛擬機器中搭建了一套環境,因為參考的部落格寫的很詳細,自己不再重寫,只給出連結:http://blog.csdn.net/pucao_cug?viewmode=contents
1.安裝hadoop: http://blog.csdn.net/pucao_cug/article/details/71698903
2.安裝hive: http://blog.csdn.net/pucao_cug/article/details/71773665
3.安裝sqoop: http://blog.csdn.net/pucao_cug/article/details/72083172
4.安裝zookeeper: http://blog.csdn.net/pucao_cug/article/details/72228973
5.安裝hbase: http://blog.csdn.net/pucao_cug/article/details/72229223
6.安裝spark: http://blog.csdn.net/pucao_cug/article/details/72353701
自己在搭建過程中,出的一些問題:
1.配置authorized_keys檔案 生成key檔案後,在hserver1上拷貝時少了開頭的一個字母,結果hserver1通過ssh跳轉hserver2和hserver3時,從要輸密碼;
2.hadoop初始化時只初始化一次;自己曾在重啟後又進行了初始化,結果造成VERSION不一致,後面hive無法使用,將初始化生成的檔案全部刪除後,重新初始化,解決了問題;
3.zookeeper改成叢集時,總是報:Error contacting service. It is probably not running
網上看了下'Error contacting
service. It is probably not running.'類錯誤不外乎3種答案:
1,配置檔案zoo.cfg中的datadir資料夾未建立導致
2,防火牆未關閉,建議永久關閉防火牆-->chkconfig
iptables off
3,修改sh腳本里的一個nc的引數來解決,可在自己的版本中並沒有找到nc的呼叫。-->nc屬於老版本,新版本沒有了nc
我的zookeeper是設定成開機自啟的,我是在確認配置沒有問題後,永久關閉防火牆-->
現在開機後需要啟動的命令:
0.防火牆已設定為開機不開起
1.啟動hadoop
進入到hserver1這臺機器的/opt/hadoop/hadoop-2.8.0/sbin目錄
cd /opt/hadoop/hadoop-2.8.0/sbin
./start-all.sh
2.
hadoop測試頁面
http://192.168.229.139:50070/
http://192.168.229.139:8088/
3.hive測試頁面
http://192.168.229.139:50070/explorer.html#/user/hive/warehouse/db_hive_edu.db
4.sqoop測試命令
顯示mysql庫的表
sqoop list-tables --username root --password '123456' --connect jdbc:mysql://192.168.229.139:3306/hive?characterEncoding=UTF-8
建立對應的mysql表
sqoop create-hive-table --connect jdbc:mysql://192.168.229.139:3306/hive?characterEncoding=UTF-8 --table t_test1 --username root -password '123456' --hive-database db_hive_edu
匯入資料
sqoop import --connect jdbc:mysql://192.168.229.139:3306/hive?characterEncoding=UTF-8 --table data_base --username root -password '123456' --fields-terminated-by ',' --hive-import --hive-database db_hive_edu -m 1
5.zookeeper叢集版本
已設定開機自啟
檢視status /opt/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status
6.
Hbase是基於hadoop提供的分散式檔案系統的,所以啟動Hbase之前,先確保hadoop在正常執行,另外Hbase還依賴於zookkeeper,本來我們可以用hbase自帶的zookeeper,但是我們上面的配置啟用的是我們自己的zookeeper叢集,所以在啟動hbase前,還要確保zokeeper已經正常執行。
在hserver1上執行命令,進入到Hbase的bin目錄內,命令是:
cd /opt/hbase/hbase-1.2.6/bin
執行命令啟動Hbase,命令是:
./start-hbase.sh
用瀏覽器訪問Hbase狀態資訊
直接訪問地址:http://192.168.229.139:16030/
啟動hbase的命令列
執行命令,進入到Hbase的bin目錄內,命令是:
cd /opt/hbase/hbase-1.2.6/bin
執行命令啟動Hbase命令列視窗,命令是:
./hbase shell
在hbase命令列模式下,可以輸入一系列hbase命令,進行測試
輸入:status
如果要退出Hbase命令列模式的話,輸入:exit