搭建zookeeper管理集群

Zookeeper集群

一、实验环境

Zookeeper集群环境安装过程详解

Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。

Zookeeper安装和配置

Zookeeper有三种不同的运行环境,包括:单机环境、集群环境和集群伪分布式环境。

环境准备

 

1、修改主机名

2、配置/etc/hosts文件

#vi /etc/hosts

 

安装java jdk-7u65-linux-x64.gz

#tar zxf jdk-7u65-linux-x64.gz
#mv   jdk1.7.0_65/   /usr/local/java

编辑/etc/profile设置java的环境变量

#vi /etc/profile

export JAVA_HOME=/usr/local/java export PATH=$PATH:$JAVA_HOME/bin #source /etc/profile

#ln -s /usr/local/java/bin   /usr/bin
#java -version

二、实验步骤

zk01zk02zk03主机上安装zookeeper

1、下载解压zookeeper

下载地址 http://www.apache.org/dyn/closer.cgi/zookeeper

 #mkdir /data

#cd/data

#tar  zxf   zookeeper-3.4.10.tar.gz 

#mv   zookeeper-3.4.10    zookeeper 

2、配置环境变量/etc/profile

#echo "export ZOOKEEPER_HOME=/data/zookeeper" >> /etc/profile

#echo "export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf" >> /etc/profile

#source/etc/profile                //使变量生效

3、集群部署

Zookeeper集群环境下只要一半以上的机器正常启动了,那么Zookeeper服务将是可用的。因此署Zookeeper最好使用奇数台机器,这样如果有5台机器,只要3台正常工作则服务将正常使用。下面我们将对Zookeeper的配置文件的参数进行设置:

#cd /data/zookeeper/conf

#cp     zoo_sample.cfg   zoo.cfg

zk01上配置

#vi    zoo.cfg

tickTime: zookeeper中使用的基本时间单位, 毫秒值

dataDir: 数据目录. 可以是任意目录.

dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置. 这里没设置日志目 录。此方法不推荐

clientPort: 监听client连接的端口号

zk02上执行

#scp [email protected]:/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/

zk03上执行

#scp[email protected]:/data/zookeeper/conf/zoo.cfg /data/zookeeper/conf/

配置文件中server.id=host:port:port中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port

是进行leadership选举的端口号。 接下来在dataDir所指定的目录下创建一个文件名为myid的文件,文件中的内容只有一行,

为本主机对应的id值,也就是server.id中的id。例如:在服务器1中的myid的内容应该写入1。 id 被称为Server ID, 用来标识 服务器在集群中的序号。同时每台 ZooKeeper 服务器上, 都需要在数据目录(即 dataDir 指定的目录) 下创建一个 myid 文

件, 该文件只有一行内容, 即对应于每台服务器的Server ID。 ZooKeeper 集群中, 每台服务器上的 zoo.cfg 配置文件内容一 致。 server.1 的 myid 文件内容就是 1。每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件中

server.id=host:port:port id 值一致。

id 的范围是 1 ~ 255

4.远程复制分发安装文件

将zk01主机的zookeeper复制到另外两台主机中。 *主机修改datadir目录下myid的id。 集群模式中, 集群中的每台机器都需要 感知其它机器, 在 zoo.cfg 配置文件中, 可以按照如下格式进行配置, 每一行代表一台服务器配置。

server.id=host:port:port

server.1  myid 文件内容就是 "1"。每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件

中"server.id=host:port:port" 的 id 值一致。

zk01为例

#mkdir  /data/zookeeper/data

#cd /data/zookeeper/data

#vi myid

1

zk02上执行

#scp [email protected] :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/

zk03上执行

#scp [email protected] :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/

5zk01,zk02,zk03启动ZooKeeper

zk01上执行如下操作

#cd       /data/zookeeper/zookeeper/bin

#./zkServer.sh start                                                   //启动zookeeper服务

在 zk02上执行如下操作

 

在 zk03上执行如下操作

6、检查zookeeper启动是否成功 

zk01上操作

#jps

其中,QuorumPeerMain是zookeeper进程,启动正常。 如上依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper的

脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每

个结点上查询的结果:

在 zk01上执行 查看zookeeper状态

在 zk02上执行

 

在 zk03上执行

通过上面状态查询结果可见,zk02是集群的Leader,其余的两个结点是Follower。 另外接到ZooKeeper集群上。对于客户

端来说,ZooKeeper是一个整体(ensemble),连接到独享整个集群的服务,所以,你可以在任何一个结点上建立到服务

集群的连接,例如:

7、集群测试

zookeeper集群搭建完毕!!!

时间: 2024-10-13 22:35:34

搭建zookeeper管理集群的相关文章

win10环境下搭建zookeeper伪集群

一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zookeeper 1.解压到三个目录 我们想要在单机上搭建3个server的伪集群,需要将下载好的zookeeper压缩包解压到三个目录下.笔者的目录如下: server1 : F:\paths\zookeeper\server1\zookeeper-3.3.6 server2 : F:\paths\z

window环境搭建zookeeper,kafka集群

为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期准备说明: 1.三台zookeeper服务器,本机安装一个作为server1,虚拟机安装两个(单IP) 2.三台kafka服务器,本机安装一个作为server1,虚拟机安装两个. 备注:当然你可以直接在虚拟机上安装三个服务器分别为server1.server2.server3 . 虚拟机和本机网络环

rancher+docker+k8s搭建容器管理集群

一, 环境准备 服务器 Linux k8s-m 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux m节点:10.0.0.202 s1节点:10.0.0.203 s2节点:10.0.0.204 测试环境关闭各种墙 systemctl stop firewalld.service systemctl stop firewalld.service docker 版本包 htt

ZooKeeper环境搭建(单机/集群)(转)

前提: 配置文件主要是在$ZOOKEEPER_HOME/conf/zoo.cfg,刚解压时为zoo_sample.cfg,重命名zoo.cfg即可. 配置文件常用项参考:http://www.cnblogs.com/EasonJim/p/7483880.html 环境搭建: 一.ZooKeeper的搭建方式 ZooKeeper安装方式有三种,单机模式和集群模式以及伪集群模式. 单机模式:ZooKeeper只运行在一台服务器上,适合测试环境: 伪集群模式:就是在一台物理机上运行多个ZooKeepe

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

ZooKeeper 作用:Zookeeper 可以用来保证数据在zk集群之间的数据的事务性一致(原子操作). 介绍:Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务.  它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. 特性:简单的.富有表现力的.具有高可用性.采用松耦合交互方式.是一个资源库. 如何搭建ZooKeeper服务器集群 2.1 ZooKeeper服务器集群规模不小于3个节点,要求各服务器之间

初始zookeeper与集群搭建实例

zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务,使得分布式应用可以基于这些接口实现诸如同步.配置维护和分集群或者命名的服务. zookeeper是一个由多个service组成的集群,一个leader,多个follower,每个server保存一份数据部分,全局数据一致,分布式读写,更新请求转发由leader实施. 更新请求顺序进行,来自同一个cl

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

1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求. So

zookeeper+KAFKA 集群搭建

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.集群管理等. 因为Kafka集群是把状态信息保存在Zookeeper中的,并且Kafka的动态扩容是通过Zookeeper来实现的,所以需要优先搭建Zookeerper集群,建立分布式状态管理.开始准备环境,搭建集群: zookeeper是基于Java环境开发

ZooKeeper伪集群环境搭建

1.从官网下载程序包. 2.解压. [[email protected] software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper目录后创建data目录. [[email protected] software]$ cd zookeeper-3.4.6 [[email protected] software]$ mkdir data [[email protected] software]$ cd data [[email protecte