Apache ZooKeeper 是一个面向分布式应用程序的高性能协调服务器。要实现Hbase全分布式安装,需要安装ZooKeeper,当然后面kafka也需要安装这个东西。
一、安装zookeeper集群
1.下载zk安装包,官网可下载,本次使用版本zookeeper-3.4.5
2.解压,将下载的安装包解压到soft文件夹统一管理。
tar -zxvf 文件名 -C/目标目录
3.配置(先在一台节点上配置)要配置奇数台
解压后为典型的目录形式。在conf目录下修改配置文件。
server.1=bigdata-5:2888:3888
server.2=bigdata-8:2888:3888
server.3=bigdata-9:2888:3888
3.1将conf/zoo_sample.cfg配置文件更名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
3.2修改配置文件(zoo.cfg)
dataDir=/home/ndscbigdata/soft/zookeeper-3.4.5/data
(该文件夹还不存在,修改配置后要在~/soft/zookeeper-3.4.5/下创建一个 data目录:mkdirdata)
*********************************************** *******
注意要写成绝对路径:/home/ndscbigdata/soft/zookeeper-3.4.5/data
家目录不使用符号“~”,否则jps进程查看不到。原因待查。
******************************************************
3.3在/home/bigdata/soft/zookeeper-3.4.5/data创建一个myid文件,里面内容是server.N中的N
more myid
vim myid--->写入对应这台机器的id号。如server.2里写2。
3.4将配置好的zk拷贝到其他节点
将文件拷贝给其他zookeeper集群节点,使用scp命令。
用户@主机名(ip地址),由于拷贝是文件夹,递归拷贝,加参数-r
scp -r ~/soft/zookeeper-3.4.5/bigdata@ubuntu-bigdata-5:~/soft/
scp-r ~/soft/zookeeper-3.4.5/ bigdata@ubuntu-bigdata-9:~/soft/
conf/zoo.cfg在其他节点上不需要修改,需要修改myid。
3.5在其他节点上修改myid的内容
ubuntu-bigdata-5 ----> more myid----> vim myid ---->1
ubuntu-bigdata-9 ----> more myid----> vim myid ---->3
4.启动zookeeper
在bin目录下有启动命令。(一般只需启动即可,用jps查看,用status查看主从状态)
二、安装hbase集群
1.下载hbase安装包 ,本次下载hbase-1.0.1.1
2.解压 ,方法同上。
3.配置hbase集群,本次基于zookeeper集群。即配置文件修改时使用外部安装好的zookeeper进行调度。由于hadoop集群之前没有配置zookeeper进行namenode,nameservices等调度配置,因此zookeeper作用可能发挥的不是很大。
scp /usr/hadoop/etc/hadoop/core-site.xmlhdfs-site.xml ubuntu-bigdata-8:/home/bigdata/soft/hbase-1.0.1.1/conf
3.1修改hbase-env.sh
3.1.1export JAVA_HOME=/usr/lib/jvm/java-8-oracle
(可以用echo $JAVA_HOME来返回JAVA_HOME路径。)
3.1.2告诉hbase使用外部的zk
exportHBASE_MANAGES_ZK=false
使用集群模式,用外部的zk控制,不使用自己的实例zk 。(猜测在本集群配置的hadoop形式下,使用内部zookeeper效果应该类似,即没有发挥出外部zookeeper的作用)
3.2 修改hbase-site.xml
vimhbase-site.xml
配置四个属性
(1)必须与Hadoop集群的core-site.xml文件配置保持完全一致,如果Hadoop的hdfs使用其他端口,这里同样修改。Hbase该项应该使用机器hostname,不用ip。
(2)指定集群模式,设置为true。
(3)设置主节点ip地址。
(4)设置zookeeper节点ip地址。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ubuntu-bigdata-5:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>192.168.2.194:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.2.194,192.168.2.195,192.168.2.196
</value>
</property>
3.3 配置regionservers
该配置文件只需列出slave节点的主机名或ip地址。
vim regionservers hbase--hmaster(主),regionservers(从)
ubuntu-bigdata-3
ubuntu-bigdata-4
ubuntu-bigdata-8
ubuntu-bigdata-9
ubuntu-bigdata-X
3.4拷贝hbase到其他节点
删除docs文件,否则拷的慢(无关紧要,可删可不删,docs文件不起作用)。
scp -r~/soft/hbase-1.0.1.1/ ndscbigdata@ubuntu-bigdata-3:~/soft/
scp -r~/soft/hbase-1.0.1.1/ ndscbigdata@ubuntu-bigdata-4:~/soft/
scp -r~/soft/hbase-1.0.1.1/ ndscbigdata@ubuntu-bigdata-5:~/soft/
scp -r~/soft/hbase-1.0.1.1/ ndscbigdata@ubuntu-bigdata-9:~/soft/
scp -r ~/soft/hbase-1.0.1.1/ndscbigdata@ubuntu-bigdata-X:~/soft/
5.配置完成,启动所有的hbase。
三、启动方法
1.启动hadoop集群
2.启动ubuntu-bigdata-5,8,9的zookeeper(需要分别启动)
~/soft/zookeper-3.4.5/bin/
./zkServer.sh start
用jps查看进程,在ubuntu5,8,9上分别增加了QuorumPeerMain
可以用./zkServer.shstatus 查看状态,由于配置了三台zookeeper集群,一个Leader模式,两个Follower模式。
由于启动较为繁琐,下一步,可以考虑写一个脚本一次性启动三台zookeeper。
3.启动hbase
~/soft/hbase-1.0.1.1/bin/
./start-hbase.sh
用jps查看进程,主节点增加了HMaster,slave节点增加了HRegionServer。
进入hbase控制台:bin/
./hbase shell