CentOS7 部署zookeeper-3.4.6 + Hbase-1.0.0
来源:互联网 发布:解答高数题的软件 编辑:程序博客网 时间:2024/06/06 08:47
之前早早的部署好了Hbase,不过用的是hbase集成的zookeeper,据说效果不好(具体如何没有亲测)。于是决定自己独立搭起zookeeper服务器。 首先下载了最新的zookeeper稳定版,目前是3.4.6,解压后开始修改配置文件
根据官方文档的描述,复制conf/zoo_sampe.cfg改名为zoo.cfg,设置如下:
# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=2# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/hdfs/zookeeper# the port at which the clients will connectclientPort=2181server.1 hadoop0:2888:3888server.2 hadoop1:2888:3888server.3 hadoop2:2888:3888
注释已经写得比较清楚了
tickTime是zookeeper的时钟周期,单位是毫秒。initLimit和syncLimit后面跟的数值都是以这个时钟周期为单位的。
initLimit是follower连接leader的超时周期
syncLimit是follower允许和leader不保持同步的最大容忍周期
dataDir是zookeeper的内存快照等数据的保存目录,由于myid也保存在这个目录里,所以这个目录最好不要设置为系统的临时目录,否则每次重启机器都要重建myid
clientPort就是zookeeper客户端连接zookeeper服务器用的端口,如果修改了2181这个默认值,之后在hbase中也要做相应设置
server.x 就是设置zookeeper服务器了。不过要注意的是,zookeeper识别自己是哪个服务器,是通过dataDir里面的myid文件来确定的,而不是这里的参数。因此这里设置好之后,还要去dataDir(我这里是/hdfs/zookeeper)里面手工建立个文件叫myid,内容就是server.x中的x,比如我这里的hadoop0:/hdfs/zookeeper/myid,内容是
1
server.x后面跟的两个端口号,第一个是zookeeper服务器之间通信用的,第二个则是用来做leader election的。如果修改了2888、3888这两个默认值,在hbase的配置文件中也要做相应的设置
修改好这些后,就可以把zookeeper目录复制到各个zookeeper服务器上并运行了
这里要注意的是,与hdfs、hbase不同,zookeeper服务器是独立启动的,而不是在一台机器上敲个命令所有节点都自动启动。因此这里我写了个脚本:
for i in $(seq 0 2)do echo hadoop$i: ssh root@hadoop$i /opt/zookeeper/bin/zkServer.sh $1Done
其中的路径是zookeeper里面的zkServer.sh的所在路径,我这里把zookeeper文件夹整体放到了opt里面。利用这个脚本就可以方便的启动、关闭、查询zookeeper的状态了。比如需要查询zookeeper的状态可以如下操作:
[root@hadoop0 opt]# ./zooKeeper.sh status hadoop0:JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgMode: followerhadoop1:JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgMode: leaderhadoop2:JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgMode: follower
可以看到,当前hadoop1是leader,其他的是follower。
中间有个插曲,就是启动zookeeper后,zookeeper服务器之间无法通信,原因是被系统的iptables限制了。由于对iptables没有过多的了解也暂时不打算深究,我直接用iptables -F清空了设置就可以了
zookeeper启动好以后可以参考官方文档用zookeeper里的bin/zkCli.sh连接zookeeper服务器做一些小例子,这里就不赘述了。
启动好zookeeper后,hbase作相应的设置就好了,首先修改hbase目录下的conf/hbase-env.sh将hbase的zk关掉,也就是去掉注释并修改这个语句
export HBASE_MANAGES_ZK=false
然后修改conf/hbase-site.html,注释掉hbase.zookeeper.property.dataDir相关的设置,zookeeper.quorum设置为zookeeper的服务器就可以了,我这里是
<property> <name>hbase.zookeeper.quorum</name> <value>hadoop0,hadoop1,hadoop2</value></property>
与之前hbase的配置相同没做修改。
其他hbase的设置参考我之前的博文 http://blog.csdn.net/strangerzz/article/details/45040471 ,之后启动hbase就可以了
- CentOS7 部署zookeeper-3.4.6 + Hbase-1.0.0
- CentOs7 Hadoop-2.6.0 部署Hbase-1.0.0
- CentOS7 ZooKeeper 集群部署
- 部署hbase(独立zookeeper)
- hbase、zookeeper及hadoop部署
- hbase、zookeeper及hadoop部署
- Hadoop+Hbase+Zookeeper集群部署
- CentOS7搭建 Hadoop + HBase + Zookeeper集群
- hbase和zookeeper的安装和部署
- Centos7下Zookeeper-3.4.6安装
- CentOS7 Hbase-1.3.1 单机部署
- CentOS7 Hbase-1.3.1 分布式部署
- CentOS7 Hbase-1.3.1 单机部署
- Hadoop集群搭建之四 CentOS7+JDK+Hadoop+zookeeper+HBase
- Centos7+Hadoop+Spark+Zookeeper+Hbase之集群搭建
- hadoop2.5.2 + zookeeper 3.4.5 + hbase1.0.1 部署问题hbase各种报错 兼容问题
- 大数据HBase分布式部署之【二】:zookeeper-3.4.9安装配置!
- centos7 安装 zookeeper-3.4.10
- 免费vpn网站
- MFC中的自定义消息
- 在Spring MVC中使用FileUpload功能
- android View动画初探
- windows下创建.gitignore文件(git提交时忽略某些文件)
- CentOS7 部署zookeeper-3.4.6 + Hbase-1.0.0
- Ubutu14.04配置Androguard
- MakeFile边学边用-变量覆盖 override
- js判读空对象
- 虚函数和纯虚函数的区别
- OpenGL--分格化
- 大型ORACLE数据库优化设计方案
- 如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin
- poi导出excel