1. 程式人生 > >大資料偽分散式環境搭建hadoop+zookeeper+hive+sqoop+hbase

大資料偽分散式環境搭建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是設定成開機自啟的,我是在確認配置沒有問題後,永久關閉防火牆-->

chkconfig iptables off,然後測試成功的,status狀態1個leader,2個slave

現在開機後需要啟動的命令:

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