搭建zookeeper管理集群
2017-11-08 18:05
274 查看
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
二、实验步骤
在zk01,zk02,zk03主机上安装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 root@192.168.111.136:/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/ 在zk03上执行: #scproot@192.168.111.136:/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 root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/在zk03上执行:#scp root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/5、zk01,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集群搭建完毕!!!
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
二、实验步骤
在zk01,zk02,zk03主机上安装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 root@192.168.111.136:/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/ 在zk03上执行: #scproot@192.168.111.136:/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 root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/在zk03上执行:#scp root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/5、zk01,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集群搭建完毕!!!
相关文章推荐
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之二
- 使用docker容器创建Kafka集群管理、状态保存是通过zookeeper实现,所以先要搭建zookeeper集群
- Solr 单机搭建 && Solr 集群搭建(集群交给Zookeeper管理)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- Zookeeper集群搭建
- ZooKeeper基础与集群搭建资料汇总
- ZooKeeper实战(一)Zookeeper伪集群环境搭建
- zookeeper集群搭建
- 初始ZooKeeper与集群搭建实例
- 基于zookeeper+leveldb搭建activemq集群
- 服务器集群管理框架高级应用示例(五):自动化测试框架搭建图示
- Zookeeper与Kafka集群搭建
- Hadoop2.x通过Zookeeper实现NameNode HA方案集群搭建-实践版
- zookeeper集群搭建