Linux上Zookeeper集群搭建
一、官网
二、下载安装
(1)下载





复制链接地址 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
linux中执行
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

(2)安装与解压
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/apps/
结果如下

(3)复制实例
防止出问题,我们复制一份
cp ./zookeeper-3.4.14/ zookeeper1 -r
(4)复制配置文件
复制Zookeeper安装目录下的conf目录中的zoo_sample.cfg文件,并命名为zoo.cfg
cp ./zookeeper/conf/zoo_sample.cfg zoo.cfg
(5)修改配置文件

说明:
- 等号左边的“server.数字”,表示要设置第几个zkServer节点。数字一般从1开始计数,依次加1。
- 等号右边的第一段,表示该zkServer节点的主机,可以是主机名,也可以是主机IP
- 等号右边的第二段,表示连接端口号。即其它zkServer与当前主机连接的端口号。每台主机的连接端口号可以任意设置,且可不一样。
- 等号右边的第三段,表示选举端口号。若当前的Leader宕机,各个Follower需要选举新的Leader,这些Follower之间为了选举而相互联系,就使用该端口号。每台主机的选举端口号可以任意设置,且可不一样。
- 在第四台Server后添加了observer,用于指定其在集群中将以Observer的身份出现
(6)创建myid文件
myid的值与zoo.cfg中指定的主机编号相同。
先创建目录
mkdir -p /usr/data/zookeeper/zk1/
-
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 1 > /usr/data/zookeeper/zk1/myid
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 2 > /usr/data/zookeeper/zk2/myid
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 3 > /usr/data/zookeeper/zk3/myid
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 4 > /usr/data/zookeeper/zk4/myid
(7)第四台主机配置额外配置
第四台主机即为要作Observer的主机,除了要完成以上配置,修改myid为4外,还需要修改zoo.conf文件:添加peerType=observer。用于指定当前Server即为Observer。

三、操作Zookeeper
(1)启动
进入用户当前目录

依次启动服务器
./zookeeper1/bin/zkServer.sh start ./zookeeper1/conf/zoo.cfg
./zookeeper2/bin/zkServer.sh start ./zookeeper2/conf/zoo.cfg
./zookeeper3/bin/zkServer.sh start ./zookeeper3/conf/zoo.cfg
./zookeeper4/bin/zkServer.sh start ./zookeeper4/conf/zoo.cfg




(2)查看状态
./zookeeper1/bin/zkServer.sh status ./zookeeper1/conf/zoo.cfg
./zookeeper2/bin/zkServer.sh status ./zookeeper2/conf/zoo.cfg
./zookeeper3/bin/zkServer.sh status ./zookeeper3/conf/zoo.cfg
./zookeeper4/bin/zkServer.sh status ./zookeeper4/conf/zoo.cfg




(3)停止
./zookeeper1/bin/zkServer.sh stop ./zookeeper1/conf/zoo.cfg
./zookeeper2/bin/zkServer.sh stop ./zookeeper2/conf/zoo.cfg
./zookeeper3/bin/zkServer.sh stop ./zookeeper3/conf/zoo.cfg
./zookeeper4/bin/zkServer.sh stop ./zookeeper4/conf/zoo.cfg




四、安装出现的问题
问题1
因本人在阿里云服务器上操作,服务启动查看不了状态,提示连接不上。
原因:在阿里云服务器安全组需要设置入方向的端口设置
问题2
zoo.conf 中的IP进行配置时候,不要配置成公网Ip,专有网络这样是没办法链接的!
必须在不同的服务器上把对应本地的那个公网Ip改成0.0.0.0
Linux上Zookeeper集群搭建的更多相关文章
- Linux下zookeeper集群搭建
Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...
- Linux centos7 zookeeper集群搭建
Zookeeper集群搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的zookeeper服务,非真实环境. 真实环境下zookeeper集群会搭建在多个物理服务器上,并非单一的 ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建
Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...
- zookeeper集群搭建及常用场景实现
本文完整源码地址 基于zookeeper的常用用法.分布式锁.分布式队列及leader选举实现 https://github.com/killianxu/zookeeper_example zooke ...
- java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)
ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...
- Zookeeper集群搭建及原理
1 概述 1.1 简介 ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分 ...
- 分布式架构中一致性解决方案——Zookeeper集群搭建
当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...
- kafka学习(二)-zookeeper集群搭建
zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...
随机推荐
- loadRunner12 设置关联 获取服务端动态数据
关联:服务器返回给客户端一些动态变化的值,客户端用这些值去访问服务器,不能把这些值写死在脚本里面,而应该存放在一个变量里面. 在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关 ...
- 大白话讲解调用Redis的increment失败原因及推荐使用
大家在项目中基本都会接触到redis,在spring-data-redis-2.*.*.RELEASE.jar中提供了两个Helper class,可以让我们更方便的操作redis中存储的数据.这两个 ...
- [啃书] 第1篇 - 输入输出/变量类型/math函数
啃书部分已单独做成Gitbook了,后续不再更新.详情访问个人网站ccoding.cn或ccbyte.github.io 说在前面 一直想刷算法找不到很适合的书,后来发现考PAT很多推荐<算法笔 ...
- requests的post请求基本使用
import requests # 请求url url = 'https://fanyi.baidu.com/sug' # 请求头 headers = { 'User-Agent': 'Mozilla ...
- pyhon-高并发测试
使用gevent.对注册.接口进行200的并发量进行测试. #!/usr/bin/env python # -*- coding:utf-8 -*- #设置路径:Defualt Settings--- ...
- Python 匿名函数用法和return语句
匿名函数用法1.什么是匿名函数 函数定义过程中,没有给定名称函数,python中用lambda表达式创建匿名函数 lambda只是一个表达式,函数体比def简单 lambda主题是一 ...
- 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载
目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...
- <C#任务导引教程>练习九
//75,异常情况using System;class Program{ public static void Main() { Console.Write("请输 ...
- 【BugFix】K8S节点NOT READY状态,错误信息:network plugin is not ready: cni config uninitialized
错误现象 runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: netw ...
- Codeforces 1290D - Coffee Varieties(分块暴力+完全图的链覆盖)
Easy version:Codeforces 题面传送门 & 洛谷题面传送门 Hard version:Codeforces 题面传送门 & 洛谷题面传送门 发现自己交互题烂得跟 s ...