搭建三節點的 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