1、准备
- hadoop2.7.3集群(本例采用一主二从的构造)
- zookeeper-3.4.8.tar.gz
- hbase-1.2.5-bin.tar.gz
2、安装zookeeper集群
在master下解压安装包到/usr/local目录下 进行改名和权限更改
进入zookeeper的conf目录下 ,复制一份zoo_sample.cfg用于zookeeper的配置文件
编辑zoo.cfg,主要更改dataDir和加入集群机器的名字和Ip
在主目录下建立zookeeper/data目录(与之前配置文件中dataDir一致),新建myid文件并且写入“1”
在conf目录下配置日志文件log4j.properites,更改如图所示的两处地方
更改bin目录下的zkEnv.sh文件 配置日志路径
在master机器中用scp命令将zookeeper文件夹传送到各个slave机器上
scp -r zookeeper/ slave1:~/
在不同slave下,更改zookeeper dataDir下的myid文件(递增即可)
在每台机器上都配置zookeeper的环境变量
在每台机器上运行zookeeper(bin下的zkServer.sh start) 并查看状态
master:
slave1:
slave2:
可以看出状态有follower和leader两种,且都有QuorumPeerMain进程停止zookeeper
在每台机器上分别运行bin\zkServer.sh stop
即可
3、安装Hbase
- 在master下解压tar.gz文件到/usr/local下 修改名字和权限
将Hadoop/etc/hadoop下的配置文件hfdfs-sie.xml和core-site.xml复制到hbase的conf目录下
修改
hbase-env.sh
, 导入jdk环境变量和设置zookeeper外置
导入Hbase的环境变量
修改regionservers和hbase-site.xml文件
regionservers
:写入所有的slave机器
hbase-site.xml
:
将hbase文件夹传送到各个slave节点上
scp -r hbase/ slave1:~
在master启动Hbase bin/start-hbase.sh 通过jps可以看到hmaster
查看slave机器上的进程 出现HRegionServer说明启动成功
如果某一节点没有这个进程,可以查看logs文件下的日志文件,如果出现类似Time difference of 41450ms > max allowed of 30000ms的错误。可能是slave机器与master时间没有同步,需要改时间
运行hbase shell 就可以运行hbase相关的shell命令 如list(列出所有表)
可以在网页端输入master的Ip:端口 进行hbased 1.0以前的版本为60010端口,1.0之后的版本端口为
16010
端口
停止hbase 运行bin/stop-hbase.sh
4、hadoop\zookeeper\hbase的启动和停止顺序
启动:
先启动hadoop集群(在master机器上依次运行start-dfs.sh->start-yarn.sh->mr-jobhistory-daemon.sh start historyserver)
然后启动zookeeper集群(在每个机器上运行bin/zkServer.sh start)
最后启动hbase(在master机器上运行bin/start-hbase.sh)停止:
先停止hbase(在master机器上运行bin/stop-hbase.sh)
然后停止zookeeper集群(在每个机器上运行bin/zkServer.sh stop)
最后停止hadoop集群(在master机器上依次运行stop-dfs.sh->stop-yarn.sh->mr-jobhistory-daemon.sh stop historyserver)