1. 程式人生 > >搭建三節點的 Hbase 環境及動態新增主從節點

搭建三節點的 Hbase 環境及動態新增主從節點

目錄

  • 試驗環境 hadoop-2.6.4 + zookeeper-3.4.5 + hbase-0.99.2
  • 搭建過程 hbase-0.99.2
  • 動態新增主節點、從節點

1、試驗環境

1.1 節點為三個:

  • 192.168.2.181   hbase1    (主節點)
  • 192.168.2.182   hbase2    (從節點)
  • 192.168.2.183   hbase3    (從節點)

1.2 安裝jdk環境, jdk1.7

1.3 配置ssh : hbase1>hbase2免登陸 , hbase1>hbase3 免登陸

1.4 hadoop-2.6.4   相關配置檔案如下:

hadoop-env.sh

 

# The java implementation to use.

export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_45

Core-site.xml

 

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hbase1:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/apps/hdpdata/</value>

</property>

</configuration>

hdfs-site.xml

 

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/data/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/data/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.secondary.http.address</name>

<value>hbase1:50090</value>

</property>

</configuration>

mapred-site.xml

 

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

yarn-site.xml

 

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hbase1</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

Slaves

 

hbase2

hbase3

1.5 zookeeper-3.4.5

     1.5.1 解壓 

             tar -zxvf zookeeper-3.4.5.tar.gz -C /home/hadoop/app/

     1.5.2 修改配置

             cd /home/hadoop/app/zookeeper-3.4.5/conf/

             cp zoo_sample.cfg zoo.cfg

             vim zoo.cfg

             修改:dataDir=/home/hadoop/app/zookeeper-3.4.5/tmp

             在最後新增:

              server.1=hbase1:2888:3888

              server.2=hbase2:2888:3888

              server.3=hbase3:2888:3888

              儲存退出

              然後建立一個tmp資料夾

              mkdir /home/hadoop/app/zookeeper-3.4.5/tmp

              echo 1 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

      1.5.3 配置從節點:

              將配置好的zookeeper拷貝到其他節點(首先分別在hbase2、hbase3根目錄下建立一個hadoop目錄:mkdir /hadoop)

              scp -r /home/hadoop/app/zookeeper-3.4.5/ hbase2:/home/hadoop/app/

              scp -r /home/hadoop/app/zookeeper-3.4.5/ hbase3:/home/hadoop/app/

              hbase2:

                            echo 2 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

              hbase3:

                            echo 3 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

 

2、搭建過程 hbase-0.99.2

     解壓 

          tar –zxvf  hbase-0.99.2-bin.tar.gz

          mv hbase-0.99.2 hbase

    修改環境變數

        su – root

        vi   /etc/profile

        新增內容如下:

export HBASE_HOME=/home/hadoop/hbase

export PATH=$PATH:$HBASE_HOME/bin

     執行命令:

     source /etc/profile

     su – hadoop

   修改配置檔案

Hbase-env.sh

 

# The java implementation to use.  Java 1.7+ required.

export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_45

 

# Extra Java CLASSPATH elements.  Optional.

export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 

# Tell HBase whether it should manage it's own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false

Hbase-site.xml

 

<configuration>

 

<property>

<name>hbase.rootdir</name>

<value>hdfs://hbase1:9000/hbase</value>

</property>

 

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

 

<property>

<name>hbase.zookeeper.quorum</name>

<value>hbase1,hbase2,hbase3</value>

</property>

 

<property>

<name>hbase.master.maxclockskew</name>

<value>180000</value>

</property>

 

</configuration>

regionservers

 

hbase2

hbase3

      將hadoop中的 core-site.xml   hdfs-site.xml 拷到 hbase的conf檔案中

               cp /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml /home/hadoop/hbase/conf

               cp /home/hadoop/hadoop/etc/hadoop/core-site.xml /home/hadoop/hbase/conf

     傳送到從節點hbase2, hbase3中

               su - hadoop

               scp –r /home/hadoop/hbase hbase2:/home/hadoop

               scp –r /home/hadoop/hbase hbase3:/home/hadoop

   啟動主節點程序(先啟動zookeeper,再啟動hadoop,最後在啟動hbase)

               su – hadoop

               start-hbase.sh

檢視hbase1 中程序 jps 

      

檢視hbase2 中程序 jps 

      

檢視hbase3 中程序 jps 

          

 

3、動態新增主節點、從節點

新增主節點:設定hbase雙主命令(在某個節點可以是從節點)
    $ local-master-backup.sh start 2

新增從節點:動態新增hbase節點
    $ hbase-daemon.sh start regionserver