hbase 安装(集群模式)
环境:jdk 1.8 + hadoop2.7.6+zookeeper3.4.9+centos7
一.安装zookeeper(集群模式)
0.安装机器
ip hostname
192.168.100.9 ns1
192.168.100.10 dn1
2.zookeeper tar包一栋至 ns1的 /usr/local,解压
tar -zxvf zookeeper-3.4.9.tar.gz
3.修改zk配置文件
cd /usr/local/zookeeper-3.4.9/conf cp zoo_sample.cfg zoo.cfg
修改配置文件zoo.cfg(所有节点的配置文件相同)
#tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳 tickTime=2000 #initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数 initLimit=10 #syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒 syncLimit=5 #dataDir顾名思义就是zookeeper保存日志的目录 dataLogDir=/usr/local/zookeeper-3.4.9/logs #dataDir顾名思义就是zookeeper保存数据的目录 dataDir=/usr/local/zookeeper-3.4.9/data #clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求; clientPort=2181 #这个参数指定了需要保留的文件数目 autopurge.snapRetainCount=20 #3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。(No Java system property) New in 3.4.0 autopurge.purgeInterval=24 #server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。 server.1= 192.168.100.9:2888:3888 server.2= 192.168.100.10:2888:3888
新建配置中的log data目录
4.配置myid
除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。
这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。
#在192.168.1.148服务器上面创建myid文件,并设置值为1,同时与zoo.cfg文件里面的server.1保持一致,如下
echo "1" > /usr/local/zookeeper-3.4.9/data/myid
在 dn1 上执行如下命令
echo "2" > /usr/local/zookeeper-3.4.9/data/myid
5.添加环境变量
在两个节点的 /etc/profile中添加如下语句
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9 export PATH=${ZOOKEEPER_HOME}/bin:${PATH}
刷新环境变量
source /etc/profile
6.每个节点都启动zk 进行测试
sh /usr/local/zookeeper-3.4.9/bin/zkServer.sh start
查看状态:
sh /usr/local/zookeeper-3.4.9/bin/zkServer.sh status
二 hbase 安装
1.下载hbase
2.解压到/user/local
tar -zxvf hbase-2.1.0-bin.tar.gz
3.配置
cd /usr/local/hbase-2.1.0/conf
hbase-site.xml 修改如下
<configuration> <!--此处的bx为以前搭建hdfs集群时,使用的那个集群代号--> <property> <name>hbase.rootdir</name> <value>hdfs://ns1:9000/hbase</value> </property> <!--指定集群的几台zookeeper主机名--> <property> <name>hbase.zookeeper.quorum</name> <value>ns1,dn1</value> </property> <!--设置使用zookeeper集群,true为使用--> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.tmp.dir</name> <value>/usr/local/hbase-2.1.0/tmp</value> </property> </configuration>
hbase-env.sh 修改如下
#设置补充hbase 自带的zk export HBASE_MANAGES_ZK=false export JAVA_HOME=/usr/local/jdk
regionservers 添加节点
ns1
dn1
赋值hadoop core-site.xml ,hdfs-site.xml 到 /usr/local/hbase-2.1.0/conf
4.启动
ns1 上执行
sh /usr/local/hbase-2.1.0/bin/start-hbase.sh
5,查看状态
ns1 查看
[hadoop@ns1 bin]$ jps 38545 HRegionServer 21090 SecondaryNameNode 21733 JobHistoryServer 24581 HistoryServer 20902 DataNode 24438 Worker 39558 Jps 38408 HMaster #hbase master 34443 QuorumPeerMain 20748 NameNode 24332 Master 21375 NodeManager
dn1 查看
[hadoop@dn1 local]$ jps 26754 HRegionServer #regionserver 已启动 21732 Worker 27156 Jps 25429 QuorumPeerMain 19722 DataNode 19851 NodeManager