HBase集群搭建

fmms 12年前發布 | 29K 次閱讀 HBase 分布式/云計算/大數據

一、安裝環境:
至少兩臺linux主機,假設兩臺機器的登錄用戶名都為hbase,并且IP分配如下:
192.168.7.85         master機器
192.168.7.72         slave機器
集群的每臺機器需要安裝如下軟件:
1.ubuntu linux

  1. jdk6.0或以上版本
           $ apt-get install openjdk-6-jdk openjdk-6-jre
    3.ssh
           $ sudo apt-get install ssh
           $ sudo apt-get install rsync

    4.hadoop
           下載地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/
    5.hbase
           下載地址:http://www.apache.org/dyn/closer.cgi/hbase/
    二、集群配置
    1.配置linux環境
    在使用HBase的時候,通常需要訪問很多文件和開很多進程,因此需要在linux中提高相應用戶的訪問上限值,通過如下方式配置:
    首先修改/etc/security/limits.conf配置文件,加入如下配置信息:
    hbase      -               nofile      32768
    hbase      soft          nproc      32000
    hbase      hard        nproc      32000
    其中hbase為用戶名
    然后,修改/etc/pam.d/common-session配置文件,加入如下配置信息:
    session requiredpam_limits.so
    重啟機器,確保新環境生效
    2.ssh配置
    配置master機器對每臺slave機器的passwordless登錄環境
    首先,在master機器的用戶主目錄下,通過如下命令來生成證書文件authorized_keys
    $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    然后,將證書文件復制到其他機器的用戶主目錄下
    $scp /home/hbase/.ssh authorized_keys hbase@slave01:/home/hbase/.ssh/authorized_keys
  2. Hadoop配置
    1.參考Nutch+Hadoop集群配置中hadoop的搭建
    2除此之外,還需在conf/hdfs-site.xml文件中配置如下屬性:
    <property>
            <name>dfs.support.append</name>
            <value>true</value>
    </property>
    如不指定,在使用HDFS存儲的時候,HBase可能會遺失數據
    <property>
            <name>dfs.datanode.max.xcievers</name>
            <value>4096</value>
    </property>
    設置datanode可對外提供服務的文件數量的上限
    3將${HBASE_HOME}/lib目錄下的hadoop-.jar文件替換成Hadoop環境中的相應jar文件,以解決Hadoop版本沖突問題。
    注:替換掉hadoop包之后,可能還需要向${HBASE_HOME}/lib目錄中引入額外的第三方jar包,以確保hadoop-
    .jar的順利編譯,如:commons-configuration-*.jar,同樣可從hadoop環境中拷貝。
    4.HBase配置
    4.1 cong/hbase-env.sh配置文件
    至少設置以下環境變量
    export JAVA_HOME=/PATH/TO/JDK_HOME
    4.2conf/hbase-site.xml配置文件
    <configuration>
           <property>
                  <name>dfs.support.append</name>
                  <value>true</value>
                  <description>確保再使用HDFS存儲時,不出現數據遺失</description>
           </property>
           <property>
                  <name>hbase.rootdir</name>
                  <value>hdfs://master:9000/hbase</value>
                  <description>hbase的存儲根路徑</description>
           </property>
           <property>
                  <name>hbase.cluster.distributed</name>
                  <value>true</value>
                  <description>是否采用集群方式部署</description>
           </property>
           <property>
                  <name>hbase.zookeeper.quorum</name>
                  <value>slave01</value>
                  <description>zookeeper的server地址,多臺機器用逗號隔開</description>
           </property>
           <property>
                  <name>hbase.zookeeper.property.dataDir</name>
                  <value>/home/hbase/zookeeper</value>
                  <description>zookeeper的數據存儲目錄</description>
           </property>
    </configuration>
    注:zookeeper默認由hbase集成的方式部署,如果要想獨立部署,需要在hbase-env.sh文件中,將HBASE_MANAGES_ZK設置成false
    4.3conf/regionservers配置文件
    配置RegionServer機器,類似于Hadoop中的slaves配置文件,添加相應的機器ip,這里為
    192.168.7.72
    三、啟動集群環境
    1.首先啟動hadoop的hdfs子進程,在${HADOOP_HOME}目錄下
           bin/start-dfs.sh
    hadoop的其他進程暫不需要
    2.啟動Hbase,在${HBASE_HOME}目錄下
           bin/start-hbase.sh
    3.判斷是否啟動成功
           http://master:60010      &nbsp; 查看MasteServer界面
           http://slave:60030        &nbsp; 查看RegionServer界面
    4.停止Hbase
           bin/stop-hbase.sh
    5.停止hadoop
           bin/stop-dfs.sh
 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!