搭建Hadoop與HBase集羣的反思與總結

這幾天應老師要求,在三臺機器上搭建Hadoop環境與HBase環境,其中遇到很多問題,直到今日才基本運行成功。此處不討論配置細節,只是把須要注意的問題列出做參考。html

  • 機器:

    • psyDebian (Debian 7.5)
    • centos1 (centos 6.5)
    • centos2 (centos 6.5)
  • java: java-1.6.0-openjdk
  • hadoop: 2.2.0
  • hbase: 0.98.3 (其自帶的hadoop包版本也爲2.2.0)

  1. 三臺機器時間同步,防火牆(iptables)關閉
  2. 設置hostname。對於Debian,修改/etc/hostname;對於centos,修改/etc/sysconfig/network
  3. 設置/etc/hosts文件。刪除其中的127.0.0.1 主機名以及127.0.1.1 主機名(若是有的話);127.0.0.1 localhost能夠保留。添加各臺機器的IP地址及主機名。
  4. 設置每臺機器之間的ssh無密碼訪問。必須保證兩兩機器之間無密碼訪問成功。
  5. 調整機器的限制。詳情見此處(官網)
  6. 設置hadoop中的配置文件hadoop-env.sh,需設置JAVA_HOME
  7. hbase中配置文件hbase-env.sh,需設置JAVA_HOME;因爲使用自帶zookeeper,須要設置HBASE_MANAGES_ZK=true
  8. core-site.xmlhdfs-site.xmlhbase-site.xml核心文件的配置。相關配置可見此處
  9. 將hadoop與hbase部署到各結點中。注意保持每一個節點中的配置文件一致性,以及有效性(好比JAVA_HOME路徑,若是機器不一樣的話須要填寫本地的Java路徑;還有hdfszookeeper的本地存儲路徑)
  10. 先啓動hdfs,再啓動hbase

這次搭建後在hbase-hadoop-master-psyDebian.out中以及建立表時都有警告:java

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

是jar包重複問題。但若是我刪除了hadoop中的或者hbase中的一個,在啓動或中止時hadoop或hbase都會報錯。目前並未解決該包重複問題,但彷佛並不影響建立表等hbase的使用。apache

相關文章
相關標籤/搜索