集群搭建环境:

发行版:CentOS-6.6 64bit

内核:2.6.32-504.el6.x86_64

CPU:intel-i7 3.6G

内存:2G

集群搭建步骤:

1. 确保机器安装了jdk

[root@rocket ~]# java -version

openjdk version "1.8.0_51"

OpenJDK Runtime Environment (build 1.8.0_51-b16)

OpenJDK 64-Bit Server VM (build 25.51-b03, mixed mode)

如果找不到jdk,可以通过yum进行安装,如果发行版不是CentOS,请自行搜索对应发行版的安装方法。

[root@rocket local]# yum -y install java

2. 下载zookeeper,选一个合适的版本

在官网http://zookeeper.apache.org/releases.html找一个合适的镜像进行下载。这里使用北理的镜像进行下载。

[root@rocket local]#  \

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

下载完成之后分别解压到

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server1

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server2

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server3

3. 拷贝配置文件

[root@rocket local]# cd /usr/local/zookeeper-server1/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

[root@rocket local]# cd /usr/local/zookeeper-server2/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

[root@rocket local]# cd /usr/local/zookeeper-server3/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

4. 修改配置文件

zookeeper-server1

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server1/data

dataLogDir=/tmp/zookeeper-server1/logs

# the port at which the clients will connect

clientPort=2181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

zookeeper-server2

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server2/data

dataLogDir=/tmp/zookeeper-server2/logs

# the port at which the clients will connect

clientPort=3181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

zookeeper-server3

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server3/data

dataLogDir=/tmp/zookeeper-server3/logs

# the port at which the clients will connect

clientPort=4181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

5. 建立zookeeper运行目录,data目录和log目录

[root@rocket local]# mkdir -p zookeeper-server1/logs zookeeper-server1/data

[root@rocket local]# mkdir -p zookeeper-server2/logs zookeeper-server2/data

[root@rocket local]# mkdir -p zookeeper-server3/logs zookeeper-server3/data

查看当前运行目录情况:

[root@rocket tmp]# tree

├── zookeeper-server1

│   ├── data

│   └── logs

├── zookeeper-server2

│   ├── data

│   └── logs

└── zookeeper-server3

├── data

└── logs

6. 在data目录中创建文件 myid 文件,每个文件中分别写入当前机器的server id

[root@rocket tmp]# echo "1" > zookeeper-server1/data/myid

[root@rocket tmp]# echo "2" > zookeeper-server2/data/myid

[root@rocket tmp]# echo "3" > zookeeper-server3/data/myid

7. 在每个目录中启动zookeeper

[root@rocket local]# cd /usr/local/zookeeper-server1/;bin/zkServer.sh start

[root@rocket local]# cd /usr/local/zookeeper-server2/;bin/zkServer.sh start

[root@rocket local]# cd /usr/local/zookeeper-server3/;bin/zkServer.sh start

查看启动状态

[root@iZ257w5531qZ bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

注意,这里如果提示

Error contacting service. It is probably not running.

说明进程启动失败或集群未建立成功,这时需要查看对应目录中的zookeeper.out日志去找到相应的原因并去解决它。

8. 测试连接zookeeper集群

[root@rocket local]# cd zookeeper-server1;bin/zkCli.sh -server localhost:2181

可以看到这里已经连接成功了,而且能查看节点情况,说明zookeeper集群已经开始工作了。

参考:zookeeper集群搭建    zookeeper配置详解

 
 

【zookeeper】 zookeeper 集群搭建的更多相关文章

  1. 分享知识-快乐自己:zookeeper 伪集群搭建

    1):单一 zookeeper  搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...

  2. zookeeper伪集群搭建

    zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...

  3. Zookeeper分布式集群搭建

    实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...

  4. 初始zookeeper与集群搭建实例

    zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...

  5. Zookeeper + Kafka 集群搭建

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...

  6. [dubbo实战] dubbo+zookeeper伪集群搭建

    zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协 ...

  7. [dubbo实战] dubbo+zookeeper伪集群搭建 (转)

    zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一 个主控. ...

  8. 初识ZooKeeper与集群搭建实例

    原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...

  9. Zookeeper+ActiveMQ集群搭建

    搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...

  10. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

随机推荐

  1. python学习之pyc,pyo,pyd文件

    pyc:二进制文件,python文件经过编译器编译之后的文件.可以提高文件加载速度. pyo:二进制文件,优化编译后的文件.可以通过`python -O file.py`生成. pyd:python的 ...

  2. MySQL PLSQL Demo - 001.创建、调用、删除过程

    drop procedure if exists p_hello_world; create procedure p_hello_world() begin select sysdate(); end ...

  3. 《SPARK/TACHYON:基于内存的分布式存储系统》-史鸣飞(英特尔亚太研发有限公司大数据软件部工程师)

    史鸣飞:大家好,我是叫史鸣飞,来自英特尔公司,接下来我向大家介绍一下Tachyon.我事先想了解一下大家有没有听说过Tachyon,或者是对Tachyon有没有一些了解?对Spark呢? 首先做一个介 ...

  4. Struts Ajax Json

    一.包 struts2与json的依赖包:struts2-json-plugin-2.2.3.jar 二.过程: ①引入json依赖包 ②编写action类 ③配置struts.xml ④编写页面 ⑤ ...

  5. iOS Reachability检测网络状态

    一.整体介绍 前面已经介绍了网络访问的NSURLSession.NSURLConnection,还有网页加载有关的webview,基本满足通常的网络相关的开发.其实在网络开发中还有比较常用的就是网络状 ...

  6. phalcon分页的处理

    由于项目是用phalcon做的,主要是处理api,也做些简单的web页面. 有一个页面是显示日志的,结果后来日志达到几万条后php内存爆了,查了一下代码, 居然是直接读出所有数据库数据,使用的\Pha ...

  7. (function($){...})(jQuery)是什么意思?

    本文转自:http://blog.csdn.net/rambo_china/article/details/7742321 最近在工作中看到这调用定义方法,并且同时调用的方式,觉得很疑惑,看到这篇博客 ...

  8. Qt 4.8.5 icpc: Command not found

    icpc: Command not found 交叉编译Qt4.8.5的时候出现

  9. yarn是什么?为什么会产生yarn,它解决了什么问题?以及yarn的执行流程

       yarn是什么?为什么会产生yarn,它解决了什么问题? 答:yarn是作业调度和集群资源管理的一个框架. 首先对之前的Hadoop 和 MRv1 简单介绍如下: Hadoop 集群可从单一节点 ...

  10. linux 批量创建用户获取8位随机密码

    #创建账号  分组不分组只有一列useradd无法添加三个账号 添加账号  获取密码  执行最后一句echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd \ ...