如期更新,Hbase集群搭建实在HDFS基础之前的,所以先将之前搭建的hadoop的分布式集群跑起来。
Hbase的集群比Hadoop的集群简单很多,话不多说
1,解压
我用的Hbase还是很早的版本,只要和hadoop相匹配就行,主要匹配hadoop2.x就可以
tar -zxvf hbase-0.96.2-hadoop2-bin.tar.gz -C app/
2,配置
vi hbase-env.sh ##修改如下配置JAVA_HOMEexport JAVA_HOME=/home/songlj/app/jdk1.8.0_161 不用hbase自带的zkexport HBASE_MANAGES_ZK=false
vi hbase-site.xml 在configuration中添加<property><name>hbase.rootdir</name><value>hdfs://ns/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>my06:2181,my07:2181,my08:2181</value></property>
还有一个就是Hbase集群中的HregionServer在哪些机器上,配置如下
vi regionservers 修改为 my06 my07 my08
这一点和Hdfs的salve文件很像,其实原理也是一样的,HMaster会读这个文件,将HregionServer在这些服务器上启动
思考
在hbase-site.xml中ns这个hbase不认识,怎么办呢?只需将hadoop的core-site.xml以及hdfs-site.xml放到hbase的conf目录下即可,这个和之前用java api连接HDFS的时候一样的,其实就是hbase中持有的HDFS的RPCclient要知道nodeServer
cp ~/app/hadoop-2.4.1/etc/hadoop/{core-site.xml,hdfs-site.xml} ./
接下来把配置好的发送到my05,my06,my07,my08上
scp -r hbase-0.96.2-hadoop2/ my05:/home/songlj/app/ scp -r hbase-0.96.2-hadoop2/ my06:/home/songlj/app/ scp -r hbase-0.96.2-hadoop2/ my07:/home/songlj/app/ scp -r hbase-0.96.2-hadoop2/ my08:/home/songlj/app/
启动
在my04上bin目录下执行
./start-hbase.sh
执行后,hbase在本机启动了一个HMaster的进程,在my06,07,08上分别启动了HRegionServer的进程
image.png
image.png
关键点
现在HMaster是单节点,在集群中出现单节点,非HA
所以,在my05上再启动一个HMaster
在bin目录下,执行
./hbase-daemon.sh start master
可以看出这个和启动yarn的resourceManager十分相似,到这里插一句:掌握Hadoop的MR,HDFS,Yarn的搭建,源码十分重要,这个是学好大数据包括Storm,Spark的基础
看看my05上的HMaster是否启动
[songlj@my05 conf]$ jps4850 HMaster2179 ResourceManager5383 Jps [songlj@my05 conf]$
很明显,Hbase的集群已经搭建完成
通过web看一下效果
image.png
现在是05主节点,是因为我将04关掉之后,又重启了一次
望指正,不吝赐教!
作者:ROCK_杰哥
链接:https://www.jianshu.com/p/490704cff766
共同学习,写下你的评论
评论加载中...
作者其他优质文章