【集群设计】
在原有的hadoop2.x集群上搭建Hbase集群,因为hbase集群要以来hdfs
hostname ip 软件 进程 角色
hadoop2001 192.168.1.221 Hbase HMASTER 主
hadoop2002 192.168.1.222 Hbase HMASTER 备
hadoop2003 192.168.1.223 Hbase regionservers 子
hadoop2004 192.168.1.224 Hbase regionservers 子
hadoop2005 192.168.1.225 Hbase regionservers 子
hadoop2006 192.168.1.226 Hbase regionservers 子
【前期准备】
hadoop集群要搭建好,zookeeper集群也要搭建好
【1】:下载解压
在hadoop2001机器上先搭建(2001上做了其他机器的免密码登陆)
tar -xzvf Hbase-0.96.2.tar.gz
cp -r Hbase-0.96.2 /usr/local
【2】添加和修改配置
2.1>将hadoop的配置hdfs-site.xml和core-site.xml 放到hbase/conf下
cd /usr/local/hadoop/etc/hadoop
cp hdfs-site.xml core-site.xml /usr/local/hbase-0.96/conf
2.2>修改hbase-env.sh
设置hbse使用外部的zk和使用的jdk
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/local/jdk1.7.0_65
2.3>修改hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value> </property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop2005:2181,hadoop2006:2181,hadoop2004:2181,hadoop2003:2181</value>
</property>
</configuration>
2.4>编辑从节点regionservers启动脚本
hadoop2003
hadoop2004
hadoop2005
hadoop2006
2.5>将hbase节点cp到其他机器上
scp -r /usr/local/hbase-0.96 root@hadoop2002:/usr/local
scp -r /usr/local/hbase-0.96 root@hadoop2003:/usr/local
scp -r /usr/local/hbase-0.96 root@hadoop2004:/usr/local
scp -r /usr/local/hbase-0.96 root@hadoop2005:/usr/local
scp -r /usr/local/hbase-0.96 root@hadoop2006:/usr/local
hbase配置简介.png
hbase-env.sh.png
hbase-site.sh.png
regionservers子节点配置.png
【3】:将hadoop目录下的core-site.xml和hdfs-site.xml复制到hbase/conf下(给每台机器都copy),这是为了让hbase知道上边所配置的ns1是谁,即知道nameService的映射(通过nameservice找到namenode),因为hbase以来hdfs,如果不copyhadoop目录下的core-site.xml和hdfs-site.xml到hbase的conf目录下,会导致HRegionserver(hbase子节点)找不到HDFS的位置,从而导致HRegionserver不能启动
2017-02-21_112541.png【4】:启动集群
在启动hbase集群之前要确保hdfs和zookeeper集群已经打开
在2001机器上开启集群
./start-hbase.sh
这时(01有hmaster进程,03040506上有hregionserver进程)
所以还要在02机器上再开启一个Hmaster进程作为备的Hmaster,以达到高可靠
./hbase-daemon.sh start master
【5】:进程校验
2001.png 2002.png 2003.png03,04,05,06上都会有HRegionServer进程
web页面查看
hadoop2001:60010
【6】:建表验证
./hbase shell
//建user表
create 'user','info','data'
//插数据
put 'user','rk0001','info:name','xiaojiang'
put 'user','rk0001','info:age','16'
put 'user','rk0001','info:sex','boy'
//查看数据
scan 'user'
coll.png
去hdfs上查看hbase数据
2016-12-23_113913.png去hbase页面查看 : hadoop2001:60010
2016-12-23_114026.png【7】:高可靠验证
将01主机上的Hmaster进程kill掉,看会不会切换到02上的Hmaster
网友评论