首页 > zookeeper 集群安装

zookeeper 集群安装

一、ZooKeeper相关概念简介:
ZooKeeper是一个开源的、分布式应用程序协调服务,是GoogleChubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper服务器是用Java创建的,它在JVM上运行。你需要使用JDK 6或更高版本
二、环境:
IP地址节点名称操作系统JDK版本ZooKeeper版本
192.168.103.137hadoop01CentOS 6.5 x86_641.7.0_79zookeeper-3.4.12
192.168.103.138hadoop02
192.168.103.140hadoop03
三、安装前准备:
1、  配置hostname
[root@hadoop01 ~]# vi /etc/sysconfig/network
分别修改三台主机的HOSTNAME为hadoop01、hadoop02、hadoop03
NETWORKING=yesHOSTNAME=hadoop01

 

2、  配置hosts解析,三台都要处理
vi /etc/hosts
在后面添加:
192.168.103.137 hadoop01192.168.103.138 hadoop02192.168.103.140 hadoop03
节点之间可以互相ping通,说明通信正常
查看操作系统版本:cat /etc/issue
查看系统位数:getconf LONG_BIT
四、 安装配置JDK
1、上传jdk并解压
[root@hadoop01 ~]# cd /usr/local/src/[root@hadoop01 src]# lsjdk-7u79-linux-x64.tar.gz[root@hadoop01 src]# tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/local/
2、配置环境变量
vi /etc/profile
按shift+g(G)跳到文件结尾,添加:
export JAVA_HOME=/usr/local/jdkexport PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效:
source /etc/profile
检查是否安装成功,输入Java -version
五、安装配置ZooKeeper
1、上传zookeeper并解压
[root@hadoop01 ~]# lsanaconda-ks.cfg install.log install.log.syslog[root@hadoop01 ~]# lsanaconda-ks.cfg install.log install.log.syslog zookeeper-3.4.12.tar.gz[root@hadoop01 ~]# mv zookeeper-3.4.12.tar.gz /usr/local/src/[root@hadoop01 ~]# cd /usr/local/src/[root@hadoop01 src]# lsjdk-7u79-linux-x64.tar.gz zookeeper-3.4.12.tar.gz[root@hadoop02 src]# tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/local/
[root@hadoop01 src]# cd /usr/local/[root@hadoop01 local]# lsbin etc games include jdk lib lib64 libexec sbin share src zookeeper-3.4.12[root@hadoop01 local]# mv zookeeper-3.4.12/ zookeeper[root@hadoop01 local]# lsbin etc games include jdk lib lib64 libexec sbin share src zookeeper[root@hadoop01 local]#
2、  创建日志数据目录
[root@hadoop01 ~]# cd /usr/local/zookeeper/[root@hadoop01 zookeeper]# mkdir data[root@hadoop01 zookeeper]# mkdir logs
3、  修改配置文件
[root@hadoop02 ~]# cd /usr/local/zookeeper/[root@hadoop01 zookeeper]# cd conf/[root@hadoop01 conf]# lsconfiguration.xsl log4j.properties zoo_sample.cfg[root@hadoop01 conf]# mv zoo_sample.cfg zoo.cfg[root@hadoop01 conf]# lsconfiguration.xsl log4j.properties zoo.cfg[root@hadoop01 conf]# vi zoo.cfg
修改dataDir,添加dataLogDir,添加节点
备注:server.A=B:C:D
A:一个数字,表示这是第几台服务器
B:此服务器的IP地址或/etc/hosts文件中映射的主机名
C2888,表示此服务器与集群中的Leader服务器交换信息的端口
D3888,表示如果集群中的Leader服务器宕机了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
4、  创建myid文件:
server1上执行:# echo 1 > /usr/local/zookeeper/data/myid
server2上执行:# echo 2 > /usr/local/zookeeper/data/myid
server3上执行:# echo 3 > /usr/local/zookeeper/data/myid
备注:myid文件中只有一行内容,且内容为该节点对应的server.id中的id编号
5、  配置zookeeper到环境变量中:
vi /etc/profile
按shift+g(G)跳到文件结尾,添加:
export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=${ZOOKEEPER_HOME}/bin:$PATH
使环境变量生效:
source /etc/profile
六、启动ZooKeeper
启动前要关闭防火墙:
[root@hadoop01 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
[root@hadoop01 ~]# chkconfig iptables off

 

启动:zkServer.sh start
状态:zkServer.sh status
启动完3台服务器后zookeeper状态为:
主机名myid状态
hadoop011follower
hadoop022leader
hadoop033follower
顺序启动时,一般是第二台为leader,因为选举机制是按最大myid选的
停止:zkServer.sh stop
查看zookeeper进程:jps
六、开机启动ZooKeeper(可选)
vi /etc/rc.d/init.d/zookeeper
添加以下脚本:
#!/bin/bash
# chkconfig:35 81 82
# description:zookeeper server scriptif [ -z $1 ]thenecho "缺少位置参数"echo "请使用$0 {start|start-foreground|stop|restart|status|upgrade|print-cmd}"exit 1
fiexport JAVA_HOME=/usr/local/jdk
export ZOO_LOG_DIR=/usr/local/zookeeper/logs
ZOOKEEPER_HOME=/usr/local/zookeeper/usr/local/zookeeper/bin/zkServer.sh $1
添加到开机启动项里:
chkconfig --add zookeeper
chkconfig zookeeper on
chkconfig --list
重启测试是否开机启动:reboot

转载于:https://www.cnblogs.com/zengfa/p/9178082.html

更多相关:

  • 序言: ------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件。为了明白下面的内容,你必须已经阅读了docs/OVERVIEW.TXT的内容,它解释了Android.mk文件扮演的角色和用途。 概述:--------- 写...

  • 文章目录1. zookeeper生产环境的安装配置1.1 软件配置1.2 硬件配置1.3 日志配置文件1.4 配置三节点的zookeeper集群2. zookeeper的监控方法2.1 four letters命令2.2 JMX 监控方式3. 通过zookeeper observer实现跨地域部署3.1 什么是observer3.2...

  • 文章目录1. zookeeper 简介1.1 什么是zookeeper1.2 zookeeper 发展历史1.3 zookeeper 典型应用场景1.4 zookeeper 提供的服务1.5 zookeeper的数据模型1.6 znode的分类2. Zookeeper架构2.1 整体架构2.2 session2.3 Quorum 模式...