本篇文章目的:以最小成本学习zookeeper的集群安装。

zookeeper的三要素:

1、一致,能够保证数据的一致性

2、有头,始终有一个leader,node/2+1个节点有效,就能正常工作

3、数据树,树状结构且每个树必须有数据

环境准备

操作系统:CentOS Linux release 7.2.1511 (Core)

JDK版本:1.8.0_121

三台服务器:192.168.1.91; 192.168.1.92; 192.168.1.93;

下载zookeeper

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

选择zookeeper-3.4.9版本

下载即可

拷贝zookeeper

先创建/soft目录,然后利用WinSCP拷贝到该目录下

[root@localhost /]# mkdir /soft

解压zookeeper

[root@localhost /]# cd /soft/

[root@localhost soft]# tar zxvf zookeeper-3.4.9.tar.gz

移动到/usr/local目录下

[root@localhost soft]# mv zookeeper-3.4.9 /usr/local/zookeeper

配置zookeeper

1、  创建数据目录

下面zoo.cfg配置文件的dataDir将会修改为这个目录

[root@localhost zookeeper]# cd /usr/local/zookeeper

[root@localhost zookeeper]# mkdir data

2、配置zoo.cfg

[root@localhost zookeeper]# cd conf

[root@localhost conf]# cp zoo_sample.cfg zoo.cfg

[root@localhost conf]# vi zoo.cfg

先把dataDir=/tmp/zookeeper注释,然后将下面四行代码添加到文件末尾

dataDir=/usr/local/zookeeper/data

server.1=192.168.1.91:2888:3888

server.2=192.168.1.92:2888:3888

server.3=192.168.1.93:2888:3888

3、创建myid文件

[root@localhost conf]# cd ../data

[root@localhost data]# touch myid

[root@localhost data]# echo "1">>myid

拷贝zookeeper

拷贝zookeeper到另外两台机器

[root@localhost data]# scp -r /usr/local/zookeeper root@192.168.1.92:/usr/local/

[root@localhost data]# scp -r /usr/local/zookeeper root@192.168.1.93:/usr/local/

中间会要求输入密码,分别输入你另外两台机器的密码就行了

修改myid文件

192.168.1.92的myid内容改为2

[root@localhost zookeeper]# cd /usr/local/zookeeper/data

[root@localhost data]# echo "2">myid

192.168.1.93的myid内容改为3

[root@localhost zookeeper]# cd /usr/local/zookeeper/data

[root@localhost data]# echo "3">myid

开启zookeeper端口

开启2888、3888、2181端口

[root@localhost data]# firewall-cmd --zone=public --add-port=2888/tcp --permanent

[root@localhost data]# firewall-cmd --zone=public --add-port=3888/tcp --permanent

[root@localhost data]# firewall-cmd --zone=public --add-port=2181/tcp --permanent

重启防火墙

[root@localhost data]# firewall-cmd --reload

启动zookeeper

1、启动(每台机器都要启动)

[root@localhost bin]# /usr/local/zookeeper/bin/zkServer.sh start

如果输出以下内容,表示启动成功

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED 

2、  查看状态

[root@localhost data]# /usr/local/zookeeper/bin/zkServer.sh status

192.168.1.91

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower

192.168.1.92

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader

192.168.1.93

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower

由此我们看出192.168.1.92这台机器被自动选举为leader了

客户端连接

[root@localhost zookeeper]# /usr/local/zookeeper/bin/zkCli.sh -server 192.168.1.92:2181

最终如下图,表示连接成功:

好了,集群配置完成。

参考网址

http://www.linuxidc.com/Linux/2016-12/137958.htm

http://www.cnblogs.com/luotianshuai/p/5206662.html  这篇文章讲的很详细,可以仔细看看,尤其是里面的配置文件的解释,有对性能的说明

centos7安装zookeeper3.4.9集群的更多相关文章

  1. centos7安装zookeeper3.4.12集群

    zookeeper的三要素: 1.一致,能够保证数据的一致性 2.有头,始终有一个leader,node/2+1个节点有效,就能正常工作 3.数据树,树状结构且每个树必须有数据 1. 环境准备 操作系 ...

  2. centos7 安装zookeeper3.4.8集群

    1.下载上传文件到centos中 2.解压文件夹 3.cd conf 文件下,cp  zoo_sample.cfg  zoo.cfg 4.vim zoo.cfg # The number of mil ...

  3. centos7安装redis-4.0.1集群

    试验机操作系统:CentOS Linux release 7.2.1511 (Core) 本文的目的是教会大家快速搭建redis集群,完了再深入学习. 试问如果不上手试验,看的资料再多有个毛用? 下载 ...

  4. centos7安装elasticsearch6.3.x集群并破解安装x-pack

    一.环境信息及安装前准备 主机角色(内存不要小于1G): 软件及版本(百度网盘链接地址和密码:链接: https://pan.baidu.com/s/17bYc8MRw54GWCQCXR6pKjg 提 ...

  5. CentOS7 安装kylin2.6.0集群

    1. 环境准备 zookeeper3.4.12 mysql5.7 hive2.3.4 hadoop2.7.3 JDK1.8 hbase1.3.3 2. 集群规划 ip地址 机器名 角色 192.168 ...

  6. centos7安装redis3.2.5集群

    安装参照     https://blog.csdn.net/mingliangniwo/article/details/54600640  https://blog.csdn.net/u013820 ...

  7. Centos7安装升级Ruby和集群搭建参考

    安装升级Ruby参考:https://blog.csdn.net/qq_26440803/article/details/82717244 集群搭建参考:https://www.cnblogs.com ...

  8. Centos7 安装部署Kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...

  9. centos7安装hadoop完全分布式集群

    groupadd test             //新建test工作组 useradd -g test phpq        //新建phpq用户并增加到test工作组 userdel 选项 用 ...

随机推荐

  1. idea git revert 究竟做了啥

    git里面实现撤销commit 这个据我目前所知,有至少4个途径可以做到 1.git reset 2.git revert 3.git rm –cached 4.git checkout 这个可以参考 ...

  2. HTML语义化(2016/3/16更新)

    目录 什么是HTML语义化? 为什么要语义化 常用标签的语义 HTML5新元素 一.什么是HTML语义化? 简单来讲就是:每个标签做自己的事,使得能够被机器直接读懂. 二.为什么要语义化? 1.更容易 ...

  3. OR 连接查询注意

    用or 查询时, 取得是 每个or中条件的 查询的结果集union. select * from categorysecond t where ISNULL(null); ort.csid in (' ...

  4. CF 983B 序列函数

    CF 983B 序列函数 一道本校神仙wucstdio出的毒瘤签到题. 题意: 给你一段序列,求出它们的最大异或和. 解法: 其实这道题并不很难,但读题上可能会有困难. 其实样例我是用Python 3 ...

  5. JQ实现情人节表白程序

    JQ实现情人节表白页面 效果图: 表白利页,你值得拥有哦! 代码如下,复制即可使用: <!doctype html> <html> <head> <meta ...

  6. TImage 显示 资源中 的图片、TResourceStream、资源文件

    unit Unit5; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  7. Centos之目录处理命令

    linux中 关于目录 有几个重要概念 一个是 / 根目录  还有一个当前用户的家目录 比如 root用户的家目录是 /root  普通用户的家目录是/home/xxx 下 root登录 默认家目录 ...

  8. SQL SERVER中查询某个表或某个索引是否存在

    查询某个表是否存在: 在实际应用中可能需要删除某个表,在删除之前最好先判断一下此表是否存在,以防止返回错误信息.在SQL SERVER中可通过以下语句实现: IF OBJECT_ID(N'表名称', ...

  9. who am i ?

    Id:Ox9A82 Email:hucvbty@gmail.com 微博:http://weibo.com/1828621423 知乎:Ox9A82 常乐村男子职业技术学院 Syclover拖后腿成员 ...

  10. 题解-python-CodeForces 1A

    A. Theatre Square time limit per test 2 seconds memory limit per test 64 megabytes input standard in ...