centos zookeeper 实战之集群搭建

一 .zookeeper简介

1. zookeeper是什么?

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。

2. 为什么要用zookeeper?

大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等),目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制.协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器,ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用
zookeeper多集群显示形式
zookeeper是一个由多个service组成的集群,一个leader,多个follower,每个server保存一份数据部分,全局数据一致,分布式读写,更新请求转发由leader实施.

大概介绍差不多了,zookeeper英译动物园管理员,顾名思义zookeeper主要起到分发管理作用。原理 详见http://blog.csdn.net/xinguan1267/article/details/38422149

二 zookeeper集群安装

1. 下载

下载地址:http://zookeeper.apache.org/releases.html
镜像地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
这里有各个版本,我下载的是zookeeper-3.4.8.tar.gz
http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.8/

2. 安装

说明:本次安装3个节点组成一个zookeeper集群。

119.10.116.242:2181
119.10.116.242:2182
119.10.116.242:2183

下载后目录:

/root/Download/zookeeper/zookeeper-3.4.8.tar.gz

#解压
tar xvf zookeeper-3.4.8.tar.gz
#修改目录名 修改为节点1
mv zookeeper-3.4.8 zookeeper-3.4.8-node1

#移动目录到/usr/local/
mv zookeeper-3.4.8-node1 /usr/local/

#进入/usr/local/目录拷贝其他两个节点
cd /usr/local

#复制节点2
cp -r zookeeper-3.4.8-node1 zookeeper-3.4.8-node2

#复制节点3
cp -r zookeeper-3.4.8-node1 zookeeper-3.4.8-node3

创建数据和日志目录

#创建数据目录
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node1/data
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node2/data
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node3/data

#创建日志目录
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node1/logs
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node2/logs
mkdir /usr/local/zookeeper/zookeeper-3.4.8-node3/logs

修改配置

  • 节点1配置
cd /usr/local/zookeeper/zookeeper-3.4.8-node1/conf

#修改模板配置文件名
mv zoo_sample.cfg zoo.cfg

#编辑
vim zoo.cfg
  • 配置如下
# Zookeeper服务器心跳时间,单位毫秒
tickTime=2000

# 投票选举新leader的初始化时间。
initLimit=10

# Leader与Follower之间的最大响应时间单位,
# 响应超过syncLimit*tickTime,Leader认为Follwer挂掉,
# 从服务器列表中删除Follwer
syncLimit=5

# 数据持久化路径
dataDir=/usr/local/zookeeper/zookeeper-3.4.8-node1/data

# 日志保存路径  这个要自己新建,具体目录根据自己的实际情况为准!
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.8-node1/logs

# 连接端口
clientPort=2181
#maxClientCnxns=60

# 集群配置
server.1=119.10.116.242:2887:3887
server.2=119.10.116.242:2888:3888
server.3=119.10.116.242:2889:3889

创建myid文件

# 进入data目录
cd /usr/local/zookeeper/zookeeper-3.4.8-node1/data

vim myid

# 文件内容 代表集群节点中server.#  对应的数字 
# 节点1 myid文件内容为1,节点2为2,节点3同理
1
  • 节点2配置文件
    /usr/local/zookeeper/zookeeper-3.4.8-node2/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zookeeper-3.4.8-node2/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.8-node2/logs
clientPort=2182
server.1=119.10.116.242:2887:3887
server.2=119.10.116.242:2888:3888
server.3=119.10.116.242:2889:3889
  • 节点3配置文件
    /usr/local/zookeeper/zookeeper-3.4.8-node3/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zookeeper-3.4.8-node3/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.8-node3/logs
clientPort=2183
server.1=119.10.116.242:2887:3887
server.2=119.10.116.242:2888:3888
server.3=119.10.116.242:2889:3889

启动集群节点

cd /usr/local/zookeeper/zookeeper-3.4.8-node1/bin
./zkServer.sh start
cd /usr/local/zookeeper/zookeeper-3.4.8-node2/bin
./zkServer.sh start
cd /usr/local/zookeeper/zookeeper-3.4.8-node3/bin
./zkServer.sh start

控制台输出如下代表启动成功
这里写图片描述

查看进程

jps

这里写图片描述

查看状态

  • 节点1
    节点1状态
  • 节点2
    节点2状态
  • 节点3
    节点3状态

命令:

#启动
./zkServer.sh start

#停止
./zkServer.sh stop

#重启
./zkServer.sh restart

#查看状态
./zkServer.sh status

更多命令相关请移步
http://www.cnblogs.com/likehua/p/3999588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值