集群搭建

1. 下载二进制文件

$ wget --no-check-certificate https://mirrors.ustc.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
$ tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz

2. 创建数据目录

$ cd apache-zookeeper-3.7.0-bin
$ mkdir data
$ mkdir data/zk1 data/zk2 data/zk3

3. 创建 myid 文件,并指定每个服务器标识

$ touch ./data/zk1/myid ./data/zk2/myid ./data/zk3/myid
$ echo 1 > ./data/zk1/myid
$ echo 2 > ./data/zk2/myid
$ echo 3 > ./data/zk3/myid

4. 创建三个配置文件,并添加集群配置

zoo1.cfg

tickTime=2000
initLimit=10
yncLimit=5
dataDir=/Users/zhangpeng/workspace/software/apache-zookeeper-3.7.0-bin/data/zk1
clientPort=2181
# 一般 admin.server 默认的端口号 8080 会被占用,这里改为 8081
admin.server=8081
# 指定集群中服务器
# 端口1:用于数据同步
# 端口2:用于leader选举
server.1=localhost:2880:3880
server.2=localhost:2882:3882
server.3=localhost:2884:3884

zoo2.cfg

tickTime=2000
initLimit=10
yncLimit=5
dataDir=/Users/zhangpeng/workspace/software/apache-zookeeper-3.7.0-bin/data/zk2
clientPort=2182
# 一般 admin.server 默认的端口号 8080 会被占用,这里改为 8081
admin.server=8081
# 指定集群中服务器
# 端口1:用于数据同步
# 端口2:用于leader选举
server.1=localhost:2880:3880
server.2=localhost:2882:3882
server.3=localhost:2884:3884

zoo3.cfg

tickTime=2000
initLimit=10
yncLimit=5
dataDir=/Users/zhangpeng/workspace/software/apache-zookeeper-3.7.0-bin/data/zk3
clientPort=2183
# 一般 admin.server 默认的端口号 8080 会被占用,这里改为 8081
admin.server=8081
# 指定集群中服务器
# 端口1:用于数据同步
# 端口2:用于leader选举
server.1=localhost:2880:3880
server.2=localhost:2882:3882
server.3=localhost:2884:3884

4. 启动

# 启动第一台
$ ./bin/zkServer.sh start ./conf/zoo1.cfg
# 启动第二台
$ ./bin/zkServer.sh start ./conf/zoo2.cfg
# 启动第三台
$ ./bin/zkServer.sh start ./conf/zoo3.cfg

5. 查看各个服务器角色信息

$ ./bin/zkServer.sh status ./conf/zoo1.cfg
$ ./bin/zkServer.sh status ./conf/zoo2.cfg
$ ./bin/zkServer.sh status ./conf/zoo3.cfg

常见问题

你在安装过程中出现的问题,绝对不会只有你一个人碰到过,所以99%的问题都可以在网上找到答案,如果在 stack overflowgoogle上都找不到你想要的答案,并且提问方式没有问题 的话,大胆去问你的同事吧,相信你的同事会称赞你问了一个好问题。

# Q1: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.quorumpeermain
# A1: 需要下载带有二进制的包(apache-zookeeper-3.7.0-bin.tar.gz)而不是源码包(apache-zookeeper-3.7.0.tar.gz) # Q2: 端口号被占用
# A2: admin.server 默认的端口号为 8080,该端口号可能已经被占用,可用 lsof -i:8080 查看是什么进程在占用

zookeeper(1)-集群的搭建的更多相关文章

  1. ZooKeeper伪集群环境搭建

    1.从官网下载程序包. 2.解压. [dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper文件夹后创建data文 ...

  2. Zookeeper服务器集群的搭建与操作

    ZooKeeper 作用:Zookeeper 可以用来保证数据在zk集群之间的数据的事务性一致(原子操作). 介绍:Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoo ...

  3. zookeeper伪集群的搭建

    由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...

  4. 【Zookeeper】集群环境搭建

    一.概述 1.1 Zookeeper的角色 1.2 Zookeeper的读写机制 1.3 Zookeeper的保证 1.4 Zookeeper节点数据操作流程 二.Zookeeper 集群环境搭建 2 ...

  5. zookeeper以及集群的搭建

    今天我来写一写zookeeper集群的搭建流程 1.zookeeper的搭建不难,难的是对他的理解以及良好的使用.单机版的zookeeper只需要解压后直接命令 启动即可 解压zookeeper,ta ...

  6. zookeeper 单机. 集群环境搭建

    zookeeper分布式系统中面临的很多问题, 如分布式锁,统一的命名服务,配置中心,集群的管理Leader的选举等 环境准备 分布式系统中各个节点之间通信,Zookeeper保证了这个过程中 数据的 ...

  7. Hadoop+HBase+ZooKeeper分布式集群环境搭建

    一.环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: Hostname IP ...

  8. ZooKeeper伪集群的搭建(Windows)

    首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...

  9. Zookeeper分布式集群搭建

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

  10. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

随机推荐

  1. Vulhub 漏洞学习之:Aria2

    Vulhub 漏洞学习之:Aria2 目录 Vulhub 漏洞学习之:Aria2 1 Aria2 任意文件写入漏洞 1.1 漏洞利用 1 Aria2 任意文件写入漏洞 Aria2是一个命令行下轻量级. ...

  2. 代码随想录算法训练营day06 | leetcode 242、349 、202、1

    基础知识 哈希 常见的结构(不要忘记数组) 数组 set (集合) map(映射) 注意 哈希冲突 哈希函数 LeetCode 242 分析1.0 HashMap<Character, Inte ...

  3. 基于C++的OpenGL 02 之着色器

    1. 概述 本文基于C++语言,描述OpenGL的着色器 环境搭建以及绘制流程可参考: 基于C++的OpenGL 01 之Hello Triangle - 当时明月在曾照彩云归 - 博客园 (cnbl ...

  4. FPGA MIG调试bug(一)

    目标器件:复旦微FPGA:JFM7K325T8FCBGA676(对标Xilinx Kintex-7系的XC7K325T) 工程背景:板载4片DDR(AllianceMemory_DDR3L_8G_AS ...

  5. mybatis日志打印到控制台

    mybatis: configuration:# 日志输出到控制台 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  6. 部署mall电商系统踩坑记录

    一. mysql docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/d ...

  7. oracle通过计划任务备份表

    1.先手动创建表 create table user01_backup_20210204 select * from user01 commit; 2.清空表 truncate table user0 ...

  8. asp.net.core学习笔记1:swagger的使用和webapi接收Jobject对象

    环境:asp.net.core 3.1 (一觉醒来官方已经不推荐3.0了,于是没有任何core经验,也只能开始了3.1的开发学习) 由于现有项目前后端分离.微服务化日趋流行,所以上手不采用web应用( ...

  9. oracle 行转列,动态年份,月份列。已解决!

    -----------------存储过程包体----------- procedure GetComparativeAnalysisTB(p_StartTime varchar2, ----开始时间 ...

  10. iOS 静态库与动态库的区别

    静态库相关命令 查看静态库架构 lipo -info ***.a 合并两个不同架构的库 lipo -create **.a  **.a -output  hecheng.a