目录
- 试验环境 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>
|
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