查看“Zookeeper:安装、集群搭建”的源代码
←
Zookeeper:安装、集群搭建
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Zookeeper]] == 关于 == Zookeeper 更多用作分布式协调服务,所以集群的搭建配置是重点。 zookeeper 用到了三个端口,其作用: # '''2181''' : 对 client 端提供服务; # '''2888''' : 集群内机器通信使用; # '''3888''' : 选举 leader 使用; == 单机安装 == 在安装ZooKeeper之前,请确保你的系统是在以下任一操作系统上运行: * 任意Linux OS - 支持开发和部署。适合演示应用程序。 * Windows OS - 仅支持开发。 * Mac OS - 仅支持开发。 ZooKeeper服务器是用Java创建的,它在'''JVM'''上运行(需要使用JDK 6或更高版本)。 zookeeper 下载地址为: [https://zookeeper.apache.org/releases.html https://zookeeper.apache.org/releases.html]。 : [[File:Zookeeper:下载.png|800px]] === Linux === ---- 安装步骤: # 使用 '''wget''' 命令下载,并提取文件: #: <syntaxhighlight lang="bash" highlight=""> $ wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz $ tar -zxvf zookeeper-3.4.14.tar.gz </syntaxhighlight> # 创建数据目录: #: <syntaxhighlight lang="bash" highlight=""> $ cd zookeeper-3.4.14 $ mkdir data </syntaxhighlight> # 创建并修改配置文件“zoo.cfg”: #: <syntaxhighlight lang="bash" highlight=""> $ cd zookeeper-3.4.14 $ cd conf/ $ cp zoo_sample.cfg zoo.cfg $ vi zoo.cfg tickTime = 2000 dataDir = ../data clientPort = 2181 initLimit = 5 syncLimit = 2 </syntaxhighlight> # 启动 ZooKeeper 服务器: #: <syntaxhighlight lang="bash" highlight=""> $ bin/zkServer.sh start $ JMX enabled by default $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg $ Starting zookeeper ... STARTED </syntaxhighlight> # 查看服务端状态(启动单机节点): #: <syntaxhighlight lang="bash" highlight=""> $ bin/zkServer.sh status $ JMX enabled by default $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: standalone </syntaxhighlight> # 启动客户端: #: <syntaxhighlight lang="java" highlight=""> $ sh zkCli.sh </syntaxhighlight> #: 帮助命令: #: <syntaxhighlight lang="java" highlight=""> ZooKeeper -server host:port <cmd> <args> stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port </syntaxhighlight> === Windows === ---- 安装步骤: # 下载文件并解压: #: [[File:Zookeeper:安装(Windows):下载文件并解压.png|600px]] # 创建数据、日志目录: #: [[File:Zookeeper:安装(Windows):创建数据、日志目录.png|600px]] # 创建并修改配置文件“zoo.cfg”:(从conf目录下的“zoo_sample.cfg”文件复制而来) #: [[File:Zookeeper:安装(Windows):创建并修改配置文件“zoo.cfg”1.png|600px]] #: [[File:Zookeeper:安装(Windows):创建并修改配置文件“zoo.cfg”2.png|600px]] # 启动 ZooKeeper 服务器:(双击 zkServer.cmd 启动程序) #: [[File:Zookeeper:安装(Windows):启动 ZooKeeper 服务器1.png|600px]] #: [[File:Zookeeper:安装(Windows):启动 ZooKeeper 服务器2.png|600px]] #: 控制台显示“bind to port 0.0.0.0/0.0.0.0:2181”,表示服务端启动成功! # 启动 ZooKeeper 客户端: #: [[File:Zookeeper:安装(Windows):启动 ZooKeeper 客户端.png|600px]] == 集群搭建 == 【以下使用 virtualbox 示范三台 zookeeper 服务端集群搭建步骤(云服务器或者物理机同理)】 安装: # 创建三台虚拟机环境(centos)并安装好 java 开发工具包 JDK。 #: IP:192.168.3.33 #:: [[File:Zookeeper:集群搭建:节点1:环境.png|600px]] #: IP:192.168.3.35 #:: [[File:Zookeeper:集群搭建:节点2:环境.png|600px]] #: IP:192.168.3.37 #:: [[File:Zookeeper:集群搭建:节点3:环境.png|600px]] #* 查看 ip 地址可以用 '''ifconfig''' 命令; # 安装:(按照安装步骤)在服务器分别安装 zookeeper; 配置:(在所有服务器中分别操作,以下以第一台为例) # 创建“'''数据目录'''”(dataDir)、“'''日志目录'''”(dataLogDir); # 创建“'''myid'''”文件: #: <syntaxhighlight lang="java" highlight=""> vim /tmp/zookeeper/myid 1 </syntaxhighlight> #* myid 是一个名称为“myid”的文本文件,默认位于“数据目录”下; #* myid 的内容是且只能是一个数字,用于表示节点在集群中的唯一编号(必须确定每个节点的myid不同); # 创建配置文件“'''zoo.cfg'''”: ## 修改“dataDir”、“dataLogDir”; ##: <syntaxhighlight lang="java" highlight=""> dataDir = /path/to/zookeeper/data dataLogDir = /path/to/zookeeper/log </syntaxhighlight> ##* 分别对应于第一步创建的“数据目录”、“日志目录”; ## 配置“clientPort”: ##: <syntaxhighlight lang="java" highlight=""> clientPort = 2181 </syntaxhighlight> ##* 表示客户端连接集群节点所用的端口号; ## 配置“节点信息”:(,每一台机器需要包括集群所有节点的信息): ##: <syntaxhighlight lang="java" highlight=""> server.1=192.168.3.33:2888:3888 server.2=192.168.3.35:2888:3888 server.3=192.168.3.37:2888:3888 </syntaxhighlight> ##* 格式为“server.id = host:port:port”,每一行表示集群的一个节点,id、host 分别对应一台机器的 myid、ip 的配置; ##* 前一个 port 表示节点间通信的端口,后一个 port 表示用于选举的端口; ##* 每台机器的配置文件都需要配置全部节点的信息。 ## 配置“时间选项”: ##: <syntaxhighlight lang="java" highlight=""> tickTime = 2000 initLimit = 5 syncLimit = 2 </syntaxhighlight> ##* “tickTime”:单元时间,zookeeper的时间计算单元,默认 3000,单位 ms; ##* “initLimit”:节点的初始化时间,tickTime的倍数,默认 10; ##* “syncLimit”:心跳最大延迟周期,tickTime的倍数,默认 5; 启动集群: #: 分别启动三台服务器的 Zookeeper; #* 启动前需要关闭防火墙(生产环境需要打开对应端口) #*: <syntaxhighlight lang="java" highlight=""> systemctl stop firewalld </syntaxhighlight> #* 首先启动 192.168.3.33 时,若此时查看日志出现报错是正常现象:(因为另外两台还没启动,暂时连接不上) #*: [[File:Zookeeper:集群搭建:节点1:启动.png|600px]] 集群启动完成后,查看三台机器状态: : IP:192.168.3.33 :: [[File:Zookeeper:集群搭建:节点1:状态.png|600px]] : IP:192.168.3.35 :: [[File:Zookeeper:集群搭建:节点2:状态.png|600px]] : IP:192.168.3.37 :: [[File:Zookeeper:集群搭建:节点3:状态.png|600px]] 至此,集群搭建成功! * Mode:leader 代表主节点,follower 代表从节点,此处为一主二从。
返回至“
Zookeeper:安装、集群搭建
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息