一、zookeeper介绍

zookeeper是一个中间件,为分布式系统提供协调服务,可以为大数据服务,也可以为java服务。

分布式系统,很多计算机组成一个整体,作为一个整体一致对外并处理同一请求,内部每台计算机都可以相互通信,客户端到服务器端的依次请求到响应结束会经历多个计算机。

特性:一致性。数据一致性,数据按照顺序分批入库,

原子性:事务要么成功要么失败

单一试图:客户端连接集群人一个节点,数据都是一致的。

可靠性:每次对zk操作状态都会保存在服务端

实时性:客户端可以独到zk服务端最新数据

二、环境安装

本博主安装环境:linux ,centos6.7, jdk1.8,zookeeper3.4.9

java环境的jdk的安装

安装之前可以先卸载掉

查看系统的jdk rpm 版本:rpm -qa | grep jdk

卸载原有的:

yum remove java-1.6.0-openjdk

yum remove java-1.7.0-openjdk

下载安装新的1.8的JDK:

官网上下载jdk-8u171-linux-i586.rpm,并拷贝的linux的home文件夹下

cd /home

cp jdk-8u171-linux-i586.rpm /usr/loacal/jdk1.8

rpm   -ivh  jdk-8u171-linux-i586.rpm

命令: rpm   -ivh   package.ix86.rpm  的意思如下:

在上面的命令中,package是个假定的名字,ix86是这个包为特定的CPU做了优化处理的意思。例如,package可能是ldconfig-1.9.5-14,而ix86是i386这样的。

“-i”参数指明是要安装这个package,而“-v”这个参数则使输出信息增加,“-h”表示在安装过程中显示hashes作为在安装过程的一个进度条。

java -version 查看安装成功。

三、zookeeper 安装及集群

我们在linux上创建三个虚拟机,如下:

从上到下对应的ip地址分别是

192.168.10.185,192.168.10.174,192.168.10.127

首先在127上进行安装。

1. 从官网下载并上传zookeeper-3.4.9.tar.gz 到linux的home目录下,在usr/local下面创建zookeeper文件夹,拷贝zookeeper3.4.9.tar.gz到zookeeper文件夹下。

2.解压 tar -zxvf zookeeper3.4.9.tar.gz,解压完成如下:

3.配置相应配置文件

1)进行zoo.cfg配置

解压后zookeeper文件夹下出现解压后的文件夹zookeeper-3.4.9。在zookeeper下创建data文件夹作为数据目录。

cd zookeeper-3.4.9/conf  修改zoo_sample.cfg文件名为zoo.cfg并vim进行编辑配置

集群配置信息格式为:server.id=host:port:port

其中,id被称为Server ID,用来标识该机器在集群中的机器序号,两个port是用来系统间通信的。

同时,在每台zookeeper机器上,我们都需要在数据目录dataDir指定的目录下创建一个myid文件,该文件只有一行内容,并且只是一个数字,即是对应的每台机器的Server ID——id。需要注意的是每台机器的myid文件中的数字不同,id的范围是1~255。

2)进行myid文件配置

进入dataDir目录下,vim myid ,然后写入id即可在dataDir下面创建了一个写入id的myid文件。

这样一台机器配置就完成了,然后为他两台机器配置zoo.cfg(完全相同)和myid(id号不同)。

四、启动服务,可以按顺序启动

启动成功。

四、集群验证

验证集群是否成功,在相应bin目录下输入 ./zkServer.sh status 命令,但是在查看状态时却  Error contacting service.it is probably not running

网上原因有可能有如下几种:

  • 原因一:防火墙拦截,需要关闭防火墙
  • 原因二:缺少 zookeeper 集群所需的文件(如缺少myid文件,本博主不缺)
  • 原因三:zoo.cfg 配置文件中指向的路径错误(本博主检查也完全正确)
  • 原因四:zookeeper 客户端端口被占用(这个可以通过命令查看,本博主确定没有运行相关占用端口的程序)

经过排除,本博主锁定原因一,

解决:关闭三台机器的防火墙 命令:service iptables stop,如下:

然后再次查看状态

192.168.10.127

192.168.10.174

192.168.10.185

至此,zookeeper集群成功。

zookeeper 安装及集群的更多相关文章

  1. zookeeper 安装以及集群搭建

    安装环境: jdk1.7 zookeeper-3.4.10.tar.gz VM虚拟机redhat6.5-x64:192.168.1.200  192.168.1.201  192.168.1.202 ...

  2. Zookeeper 安装及集群配置注意点

    Zookeeper在ubuntu下安装及集群搭建,关于集群搭建,网上很多文章 可以参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-z ...

  3. zookeeper安装与集群搭建

    此处以centos系统下zookeeper安装为例,详细步骤可参考官网文档:zookeeper教程 一.单节点部署 1.下载zookeeper wget http://mirrors.hust.edu ...

  4. zookeeper安装(集群)

    Dubbo 建议使用Zookeeper 作为服务的注册中心.Zookeeper 集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是基于这个特性,要将ZK 集群的节点数量要为奇数(2 ...

  5. zookeeper 安装 配置集群

    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ [root@znode01 src]# tar -xzvf zookeeper--alph ...

  6. zookeeper安装 配置集群

    zookeeper下载 http://zookeeper.apache.org/releases.html. 解压 重命名 新建data log两个文件夹配置单个启动 tar -xvf zookeep ...

  7. ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架

    使用 RMI + ZooKeeper 实现远程调用框架,包括ZooKeeper伪集群安装和代码实现两部分.  一.ZooKeeper伪集群安装: 1>获取ZooKeeper安装包 下载地址:ht ...

  8. (转)ZooKeeper伪分布式集群安装及使用

    转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的 ...

  9. 初识zookeeper以及安装和集群部署

    初识zookeeper以及安装和集群部署     一.Zookeeper单体版安装     在安装zookeeper之前要先安装jdk环境,具体在linux环境安装jdk1.8请参照linux笔记. ...

随机推荐

  1. 「AMPPZ2014」The Prices

    传送门 Luogu团队题链接 解题思路 看到 \(m\) 这么小,马上想到状压 \(\text{DP}\). 设 \(dp[i][j]\) 表示在前 \(i\) 家商店中已买商品的状态为 \(j\) ...

  2. Html5使用audio播放音乐

    html代码 <audio  id="myaudio" src="http://ws.stream.qqmusic.qq.com/C100003R74Cn0JR4O ...

  3. Java笔记--基础

    1.Java中内存的基本结构: 栈(stack):存放局部变量.对象的引用: 堆(heap):new出来的东西(对象) 方法区:常量池等 静态域:全局变量等 变量在其生命周期结束后将出栈,此时堆中的空 ...

  4. idea-plugin-easycode

    1.背景 在练习使用mybatis-generator时候,无意间看到博文esaycode(代码神器),https://www.jianshu.com/p/e4192d7c6844,试验完,感觉这个工 ...

  5. 比较 CEILING 和 FLOOR

    CEILING 函数返回大于或等于所给数字表达式的最小整数. FLOOR 函数返回小于或等于所给数字表达式的最大整数. 例如,对于数字表达式  12.9273,CEILING 将返回 13,FLOOR ...

  6. OLTP和OLAP区别详解

    Oracle属于OLTP类型,而gp数据库属于OLAP类型的.具体了解如下: 数据库系统一般分为两种类型,一种是面向前台应用的,应用比较简单,但是重吞吐和高并发的OLTP类型:一种是重计算的,对大数据 ...

  7. MapReduce On Yarn的执行流程

    1.概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序. Yarn的架构如下图所示: ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-eject

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  9. 史上最全的mysql聚合函数总结(与分组一起使用)

    1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数. 认情况下 聚合函数会对当前所在表当做一个组进行统计. 2.聚合函数的特点 1.每个组函数接收一个参 ...

  10. Web基础之日志

    Web基础之日志   日志在企业开发中有着不可或缺的作用,它可以用以记录用户操作.系统运行状态和错误信息.日志记录的好坏直接关系到系统出现问题时定位的速度.   最开始的日志一般使用log4j,后来s ...