前几天装了CentOS7、并安装了一些基本的工具,现在我手上有三台机器:分别是master,slave1,slave2。

今天我将搭建zookeeper,使用的版本是zookeeper-3.4.11.tar.gz。zk安装非常简单他有三种搭建方式:一种是单机版,一种是伪分布式,一种是分布式。我这演示的是分布式搭建...

一、下载zk安装包:

  http://zookeeper.apache.org/releases.html

二、安装

1. 将zookeeper-3.4.11.tar.gz上传到安装目录

#在/usr/local/下创建一个zk包
cd /usr/local
mdkir zookeeper #通过rz命令,上传zk,并解压
tar -zxvf zookeeper-3.4.11

2.修改配置文件

# 进入conf目录
cd /usr/local/zookeeper/zookeeper-3.4.11/conf # 复制一份zoo_sample.cfg命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg # 修改zoo.cfg
vim zoo.cfg

这里主要修改三个内容:数据文件夹dataDir、日志文件夹dataLogDir、客户端访问 zookeeper 的端口号clientPort

在文件的末端添加集群机器:server.1、server.2、server.3

注意:dataDir、dataLogDir 的目录必须存在,不然会报错。server.*的配置可以是hostname:2888:3888

3. 在dataDir目录下创建myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。例如server.1 在当前机器的myid中就只写上1就可以了。

#进入dataDir目录
cd #创建myid文件(也可以touch myid,创建一个空的myid文件)
cat > myid #然后把接下来的键盘输入写入文件,直到按Ctrl+D为止

4. 配置环境变量

#修改环境变量
vim /etc/profile #在文件的结尾处添加
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin # 让文件立即生效
source /etc/profile

5. 将zk目录,复制到其它几台机器,修改相应的配置项

6. 分别启动三台机器的zk

#进入bin目录
cd /usr/local/zookeeper/zookeeper-3.4.11/bin/ #启动
zkServer.sh start #查看启动状态(会有一个主节点,两个子节点)
zkServer.sh status

三、启动过程中遇到的错误和解决方法

1. 防火墙没有关;(具体操作见我环境部署中的上一篇文章)

2. SELinux没有关;(具体操作见我环境部署中的上一篇文章)

3. zookeeper.out中报错:dataDir 找不到; 检查一下dataDir 目录是否正确;

4. zookeeper.out中报错:“zookeeper address already in use”;端口被占用,检查一下是其他进程占用了配置的端口,还是配置的clientPort和server中的端口有重复;
5. zookeeper.out中报错:Cannot open channel to 2 at election address /192.168.10.120:3888;这应该只是组成集群的120节点未启动,到120启动起来zk即会正常;

6. 应用连接zookeepr报错:Session 0x0 for server 192.168.10.120/192.168.10.120:2181,unexpected error,closing socket connection and attempting reconnect;

                                        先看端口能否telnet通,如果通则使用./zkServer.sh status查看zk是否确实已启动,没启查看zookeeper.out中的报错;
 
ok, zookeeper的集群模式就搭建好了...

在CentOS7中搭建Zookeeper集群的更多相关文章

  1. Docker中搭建zookeeper集群

    1.获取官方镜像 从dockerhub获取官方的zookeeper镜像: docker pull zookeeper 2.了解镜像内容 拉取完镜像后,通过 docker inspect zookeep ...

  2. centos7上搭建zookeeper集群

    1.下载zookeeper http://www.apache.org/dyn/closer.cgi/zookeeper/  可以登录这个网站下载,然后上传到 centos上 修改成自己需要的版本 , ...

  3. 如何搭建Zookeeper集群

     ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的 ...

  4. centos 6.5 搭建zookeeper集群

    为什么使用Zookeeper? 大部分分布式应用需要一个主控.协调器或控制器来管理物理分布的子进程(如资源.任务分配等)目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调程序的反复编写浪费 ...

  5. docker容器中搭建kafka集群环境

    Kafka集群管理.状态保存是通过zookeeper实现,所以先要搭建zookeeper集群 zookeeper集群搭建 一.软件环境: zookeeper集群需要超过半数的的node存活才能对外服务 ...

  6. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  7. 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇

    使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用Cloudera Manager搭建zo ...

  8. docker 搭建zookeeper集群和kafka集群

    docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...

  9. docker-compose搭建zookeeper集群

    搭建zookeeper集群 创建docker-compose.yml文件 ``` version: '3.1' services: zoo1: image: zookeeper restart: al ...

随机推荐

  1. HDU ACM 2895-Edit distance

    Edit distance Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total ...

  2. 解决zabbix3.4X图形页面中文乱码

    解决zabbix3.4X页面中文乱码 1.在windows的C:\Windows\Fonts找到字体文件simkai.ttf2.在zabbix服务器上找到zabbix默认字体文件graphfont.t ...

  3. January 25 2017 Week 4 Wednesday

    In every triumph, there's a lot of try. 每个胜利背后都有许多尝试. There's a lot of try behind every success, and ...

  4. Visual Studio 2017 离线安装

    微软最近发布了正式版Visual Studio 2017并公开了其下载方式,不过由于VS2017采用了新的模块化安装方案,所以微软官方并未提供ISO镜像,但是官方提供了如何进行离线下载的方案给需要进行 ...

  5. c++由string组成的struct初始化崩溃

    struct _UserInfo { string username; string password; string ip; string port; } _UserInfo str={}; 这样就 ...

  6. 阅读MySQL文档第21章摘抄

    触发程序是与表相关的数据库对象. mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2)); Query OK, 0 ro ...

  7. mvc:view-controller 标签

    一.SpringMVC 会把ModelAndView 的model中的数据放到request 域中 二.如果不想让请求经过任何handler,而直接响应页面,可以使用 mvc:view-control ...

  8. 整理了一下关于KVO的姿势

    http://www.jianshu.com/p/d104daf7a062 1) + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)th ...

  9. PHP-------ajax返回值 返回JSON 数据

    ajax返回值  返回JSON  数据 ajax返回值 有text   JSON ajax返回值  返回JSON  数据 <title>无标题文档</title> <sc ...

  10. ESlint 语法检测配置说明

    部分vue-cli脚手架创建的默认eslint规则: 代码末尾不能加分号 ; 代码中不能存在多行空行 tab键不能使用,必须换成两个空格 代码中不能存在声明了但未使用的变量 关闭eslint 这里只说 ...