hbase单节点部署多regionserver
其实这个东西看透原理了很简单。。。。。。
1.前期准备:
hadoop2.6
jdk1.8
两个解压缩后的hbase官网包:命名为hbase1 和hbase2
2.配置hbase-site.xml
(1)hbase1/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://beh/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>10.245.2.62,10.245.2.63,10.245.2.64</value>
</property>
</configuration>
上面的配置把regionserver的本地端口和info端口按照默认来了(60020,60030,这个没仔细区分有啥区别)
(2)hbase1/conf/hbase-env.sh
这个里面修改一下JAVA_HOME就行。
下面是重点:
(3)hbase2/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://beh/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>10.245.2.62,10.245.2.63,10.245.2.64</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>4318</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>4320</value>
</property>
</configuration>
标红的说明单节点不同的regionservery要占用不同的端口,否则会出错。
(4)hbase2/conf/hbase-env.sh
加上如下:
# export HBASE_PID_DIR=/var/hadoop/pids
export HBASE_PID_DIR=/opt/beh/core/hbase/pids
解释:如果不加,则在启动第二个regionserver的时候就会出现regionserver 已经运行在进程***这样的提示,因为hbase会自动在/var/hadoop/pids(这个说实话我没找到,但是感觉是在哪个pids下找的)寻找有运行hbase regionserver的进程存在,如果有就会出现如上提示。
总结:总感觉有点不完善,页面截图太费劲,大概就是页面上会出现两个region