前几天装了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. 沉淀,再出发:Maven的使用和规范

    沉淀,再出发:Maven的使用和规范 一.前言 Maven作为项目管理工具,在一个大型项目开发的每个阶段都有着很大的用处,为什么需要这个东西呢,还是为了消除不确定性,统一化管理,正如我们做的每一件事其 ...

  2. 「C语言」常量和变量的表示、应用和变量命名规则

    在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...

  3. MongoDB限制记录数

    MongoDB limit()方法 要限制 MongoDB 中返回的记录数,需要使用limit()方法. 该方法接受一个数字类型参数,它是要显示的文档数. 语法 limit()方法的基本语法如下: & ...

  4. std::vector的内存释放

    先上一段代码 using namespace std; class A{ public: ~A(){ cout << "deconstruct"; }; }; #inc ...

  5. codeforces 797 E. Array Queries【dp,暴力】

    题目链接:codeforces 797 E. Array Queries   题意:给你一个长度为n的数组a,和q个询问,每次询问为(p,k),相应的把p转换为p+a[p]+k,直到p > n为 ...

  6. 使用ViewPager实现Tab

    一.效果演示及分析 我们直接看两幅图.如下:                   上两幅图实现的效果就是: (1)手指左右滑动时,中间的布局呈现不同的效果.而且下面的按钮也会做相应的改变. (2)我们 ...

  7. maven学习利用Profile构建不同环境的部署包

    项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local).(开发小组内自测的)开发环境(dev).(提供给测试团队的)测试环境(test).预发布环境(pre).正式生产环 ...

  8. mac使用brew安装配置常见测试工具

    Homebrew 包管理工具可以让你安装和更新程序变得更方便,目前在 OS X 系统中最受欢迎的包管理工具是 Homebrew. 安装 在安装 Homebrew 之前,需要将 Xcode Comman ...

  9. mybatis异常:Invalid bound statement (not found): com.mybatis01.dao.UserDao.select_Map;Could not find result map com.mybatis01.dao.UserDao.User

    错误原因:查询结果类型错误 查询结果应该是User实体类 在光标指的地方应该为ResultType,而不是ResultMap.

  10. Lua库-table

    1 获取以及设置大小 a={} print(table.getn(a)) --> table.setn(a,) print(table.getn(a)) --> 2 插入删除 a={} f ...