第一步:主机名称到IP地址映射配置(非必须的)
1、修改主机名
[root@localhost home]# vim /etc/sysconfig/network
打开配置文件,将里面的HOSTNAME设置为zkserver,即将此云主机的主机名修改为zkserver
NETWORKING=yes
HOSTNAME=zkserver
2 、主机名与ip的映射
[root@localhost home]# vim /etc/hosts
打开配置文件,添加ip与主机名,如下:
172.17.123.134 node1
172.17.123.135 zkserver
172.17.123.136 node2
说明:ZooKeeper采用一种称为Leader election的选举算法。在整个集群运行过程中,只有一个Leader,其他的都是Follower,如果ZooKeeper集群在运行过程中Leader出了问题,系统会采用该算法重新选出一个Leader。因此,各个结点之间要能够保证互相连接,必须配置上述映射。ZooKeeper集群启动的时候,会首先选出一个Leader,在Leader election过程中,某一个满足选举算的结点就能成为Leader。
第二步:下载ZooKeeper,并创建目录
从下面网址下载zookeeper服务端安装文件
[root@localhost home]# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
创建目录
[root@localhost local]# mkdir zookeeper
[root@localhost zookeeper]# mkdir serverdata
[root@localhost serverdata]# mkdir data
[root@localhost serverdata]# mkdir logs
以上data和logs目录可以自定义,到时再zoo.cfg配置文件中直接修改相关路径即可
将zookeeper-3.4.8.tar.gz 解压到 zookeeper 目录中
第三步:修改ZooKeeper配置文件
[root@localhost serverdata]# cd ../zookeeper-3.4.8/conf
[root@localhost conf]# cp zoo_sample.cfg ./zoo.cfg
编辑zoo.cfg文件,如果不需要集群,将其中data目录需改成你真实输出目录
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/serverdata/data
clientPort=2181
如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/serverdata/data
clientPort=2181
server.1=172.17.123.134:2555:3555
server.2=172.17.123.135:2555:3555
server.3=172.17.123.136:2555:3555
或者将以上的ip 换成我们第一步中的hostname 的名称也行;另外我添加了一行
dataLogDir=/usr/local/zookeeper/serverdata/logs
如果是集群,则上面已经在一台机器zkserver上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下,如下
[root@zkserver]# scp -r /usr/local/zookeeper/ root@node1:/usr/local/
[root@zkserver]# scp -r /usr/local/zookeeper/ root@node2:/usr/local/
说明:/usr/local/zookeeper/表示zkserver上需要拷贝的文件,/usr/local/表示zkserver上存放文件的地方;如果是单机,此时不需要拷贝文件;
第四步:设置myid
在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:
[root@node1]# echo "1" > /usr/local/zookeeper/serverdata/data/myid
[root@zkserver]# echo "2" > /usr/local/zookeeper/serverdata/data/myid
[root@node4]# echo "3" > /usr/local/zookeeper/serverdata/data/myid
第五步:启动(集群)、停止(集群)
单机启动如下:
[root@localhost zookeeper-3.4.8]# ./bin/zkServer.sh start
[root@localhost zookeeper-3.4.8]# ./bin/zkServer.sh stop
如果是多台服务器的集群,则也只需每个服务器启动后自动执行集群了。
以下配置开机启动:
1、用cd 命令切换到/etc/rc.d/init.d/目录下,接着用touch zookeeper创建一个文件
然后为这个文件添加可执行权限
chmod +x zookeeper
接着用vim zookeeper来编辑这个文件
接着在zookeeper里面输入如下内容
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
start) su root /usr/local/zookeeper/zookeeper-3.4.8/bin/zkServer.sh start;;
stop) su root /usr/local/zookeeper/zookeeper-3.4.8/bin/zkServer.sh stop;;
status) su root /usr/local/zookeeper/zookeeper-3.4.8/bin/zkServer.sh status;;
restart) su root /usr/local/zookeeper/zookeeper-3.4.8/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
保存退出,这个时候我们就可以用service zookeeper start/stop来启动停止zookeeper服务了
说明:
zookeeper脚步中一定需要有至少两行以上的注释,其中一行是
chkconfig: 2345 20 90
其中,2345表示系统运行级别是2,3,4或者5时都启动此服务,20是启动的优先级,90是关闭的优先级,值越小越优先。如果启动优先级配置的数太小(如0)时,则有可能启动不成功,因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。
最后,使用chkconfig --add zookeeper命令吧zookeeper添加到开机启动里面
添加完成之后接这个使用chkconfig --list 来看看我们添加的zookeeper是否在里面
相关推荐
ELK 6.6 安装软件包括 jdk-8u201-linux-x64.tar.gz 182.9M2019-02-27 11:46 elasticsearch-6.6.0.tar.gz 108.8M2019-02-27 11:45 kafka_2.11-2.1.1.tgz 59.2M2019-02-27 11:45 logstash-6.6.0.tar.gz 161.8M2019-02-...
在本例中,我们使用CentOS 6.6 x64作为操作系统,JDK 7作为Java开发环境,ActiveMQ 5.11.1作为消息队列服务器。 ZooKeeper集群环境 在高可用集群中,ZooKeeper扮演着非常重要的角色,它负责维护集群的状态和配置。...
本篇文档将详细介绍如何在 CentOS 环境下搭建 Mesos 集群,包括 Docker 的安装、Zookeeper、Mesos、Marathon、HAProxy 和 Bamboo 的配置。 ### 一、环境准备 首先,确保你的 CentOS 系统是 6.6 版本,且拥有足够的...
该过程分为几个主要步骤:环境准备、安装Java环境、部署ZooKeeper集群、创建Hadoop账号、安装和配置Hadoop、启动HDFS集群以及最终的验证步骤。 ### 网络拓扑与各角色描述 - **网络拓扑**:该文档未详细说明网络...
Centos 6.4 / ClickHouse高可用集群的配置资源包,包含zookeeper/clickhouse rmp 安装包 /libicu-4.2.1-14.el6.x86_64.rpm 安装包
- **虚拟机配置**:操作系统为CentOS 6.6 64位,配备单核处理器和1GB内存。 - **软件版本**:JDK版本为1.7.0_55 64位,Hadoop版本为1.1.2。 #### 二、HBase概述 HBase是一个基于Hadoop的分布式、面向列的存储系统...
- 使用 CentOS 6.6 x64 操作系统的Vsphere虚拟机作为基础,每台机器配置4GB内存和2个vCPU,磁盘空间为300GB。 - 安装 JDK 1.8.0_171 x64,Hadoop 2.8.4,Hbase 2.0.0 和 Zookeeper 3.4.12。 - 模块分布在五台...
- 操作系统:CentOS-6.6-x86_64 - JDK版本:jdk1.7.0_72 - Keepalived版本:keepalived-1.2.18 - HAProxy版本:haproxy-1.5.16 - MyCat版本:Mycat-server-1.4-release-20151019230038-linux - MySQL版本:mysql-...
此外,该发行版还包括一系列高级功能和服务,如Zookeeper(分布式协调服务)、Hive(分布式数据仓库)等,进一步增强了系统的可靠性和易用性。 **1.3 集群结构** - **管理节点**:负责监视和管理整个Hadoop集群...
- **操作系统:** 建议使用 Linux 发行版,如 Ubuntu 或 CentOS。 - **磁盘和文件系统:** 使用高性能的磁盘,如 SSD,并选择合适的文件系统,如 ext4。 - **应用 vs 操作系统 Flush 管理:** 确保应用程序和操作...