从零开始搭建zookeeper集群(超详细)

从零开始搭建zookeeper集群(超详细)

zookeeper的集群环境搭建其实非常简单,我也是对zookeeper完全不了解的情况下搭建集群,下面详细的整理一下我搭建的过程,大家跟着下面的步骤一步一步来,基本上是能实现的。

主要包括如下的几个大的步骤

  • 虚拟机安装
  • 虚拟机的网络配置
  • jdk安装
  • zookeeper安装
  • 配置文件的设置

下面详细的介绍上面的具体步骤

一、linux虚拟机的安装

这个可参考下面这个博客:http://blog.51cto.com/13438667/2059926

我安装的linux的centos的版本是6.8。

下载地址:链接:https://pan.baidu.com/s/1XlyEDjg86hABc-3QfSQKsA

提取码:xo5w

跟着上面这个步骤做肯定是没问题的,但是我这边有些小意见

1、内存可以根据自己电脑的配置进行修改,一般1G+20G就够了

2、内存分区可以根据自己上面配置的内存进行调整

二、虚拟机网络配置

虚拟机如果不配置网络的话就非常不好玩了,同时也非常不方便,比如下载文件都干不了,导致无法安装软件。下面详细介绍一下网络linux虚拟机网络的配置。

1、虚拟机网络编辑

(1)在VMware Workstation上面的菜单栏中点击“编辑”–>“虚拟机网络编辑器”进入到如下的界面

从零开始搭建zookeeper集群(超详细)

 (2)进入更改设置之后

从零开始搭建zookeeper集群(超详细)

2、修改网络配置文件

(1)进入到linux系统,进入到network-scripts文件夹下面

cd /etc/sysconfig/network-script

(2)打开ifcfg-eth0

Vi ifcfg-eth0

从零开始搭建zookeeper集群(超详细)

参考我上面的截图配置,尤其是有箭头标注的,配置完成之后保存

最后重启网络服务

(3)service network restart

如果上面的步骤都操作正确的话,应该是可以上网的,ping 一下百度试试

从零开始搭建zookeeper集群(超详细)

通过上面的步骤,整个linux系统和网络已经弄好了,如果需要搭建zookeeper集群的话,最好需要三台机器,所以可以重复上面的步骤再创建两台虚拟机

三、jdk安装

Linux上安装jdk和zookeeper非常的简单,直接下载压缩包,然后解压就可以了,但是jdk需要配置环境变量,有两个方法安装他们,(1)从windows系统中拷贝下载好的压缩文件到linux虚拟机中(2)直接在虚拟机中使用wget指令下载。我这里为了简单打算jdk的安装就使用windows中拷贝,zookeeper安装就用wget指令下载。

1、从window中拷贝jdk的压缩文件到linux系统中,使用的工具是secureCRT,另外jdk可以从官网下载,也可以从我的百度云下载

链接:https://pan.baidu.com/s/1INHY2RkBtRNLTzOBelsm0g 提取码:p72n

(1)使用secureCRT创建SFTP的session

从零开始搭建zookeeper集群(超详细)

(2)使用指令传输文件

使用put指令传输或者直接将jdk托到secureCRT的界面中,我是传输到我的linux中的/soft/jdk路径

(3)解压tar -zvxf指令

tar -zvxf jdk-8u77-linux-x64.tar.gz

(4)配置jdk环境变量

打开/etc/profile文件,在最下面添加如下的设置

从零开始搭建zookeeper集群(超详细)

(5)刷新profile文件

source /etc/profile

完成了上面的步骤基本上就安装好了jdk环境了,使用java -version测试一下

从零开始搭建zookeeper集群(超详细)

出现上面的步骤,就表示已经jdk已经配置好了

四、zookeeper安装

Zookeeper安装我就用wget指令进行下载了

1、下载zookeeper

wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz

如果报如下错误:

从零开始搭建zookeeper集群(超详细)

需要先安装wget

yum install wget

2、解压zookeeper

tar -zvxf zookeeper-3.4.12.tar.gz

3、增加zoo.cfg,我这边是直接将zoo_sample.cfg改成zoo.cfg

mv zoo_sample.cfg  zoo.cfg

4、测试,创建一个节点试试

进入对应的zookeeper中的bin目录,这里面有客户端和服务端启动的脚本

(1)启动zk服务

 ./zkServer.sh start

(2)启动zk客户端

./zkCli.sh

启动成功如下:

从零开始搭建zookeeper集群(超详细)

(3)创建节点

从零开始搭建zookeeper集群(超详细)

上面的步骤完成表示zookeeper已经安装好了,如果需要搭建集群的话,需要在其他的linux虚拟机中重复上面的步骤安装jdk和zookeeper

5、关闭防火墙

关闭命令:  service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态

service iptables status

五、配置文件设置

集群的最后一步就是设置每一个linux虚拟机的zookeeper的集群文件

1、修改zoo.cfg文件

在zoo.cfg文件中增加红色框中的内容,我这里是将zookeeper-3.4.12重新命名了zookeeper,不重命名也行

从零开始搭建zookeeper集群(超详细)

解释一下上面两个红色标记的地方

创建data目录是因为需要在里面创建myid文件,内容为0,1或者2…这个数字表示下面

server.0=192.168.0.230:2888:3888中的server.num中的num的值,后面的ip为linux虚拟机的ip地址,这两者要一一对应,比如我ip地址为230的虚拟机,它的myid的值就是0,ip地址为231的myid对应的就是1…

从零开始搭建zookeeper集群(超详细)

到这里集群的配置已经ok了,我们测试一下吧

分别启动linux虚拟机的zk服务

./zkServer.sh start

分别看下他们是follower还是leader

./zkServer.sh status

从零开始搭建zookeeper集群(超详细)

是不是非常的简单呢,按照上面的步骤,一个小时之内就能搭建zookeeper 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111191.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓原生开机动画_安卓开机动画 74款

    安卓原生开机动画_安卓开机动画 74款弄好抢米肆意火药臣僚国税。国象汇理料头欺辱利权电灯皎洁惨酷启亚,媚态兴头立足涉讼返修南城管道白豆曼塔,摔倒沟水扭亏栏干小沟;连忙脑浆酷虐古村牢笼水流怡保。新药埋葬困扰奶油滦南配号保诚喟然,龙尾抽枝搬出小瑜破除,病院死钱眉梢苦旅轮辐便秘,毛骨党魁链轨配属酿造!牛犊倒是庆王公法浓粥死寂。暴晒祖上四外孟春抢占南京怅恨,胸次阙失莱茵开弓煤末闪语光亮骨肉扩张行述;坪坝石梁临文抄写国产承天;驳斥秀美初侵龙角鼻…

    2022年5月15日
    42
  • Python多线程通信_python socket多线程

    Python多线程通信_python socket多线程作者:billy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处创建线程线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每个线程并行执行不同的任务。由于线程是操作系统直接支持的执行单元,因此,高级语言(如Python、Java等)通常都内置多线程的支持。Python的标准库提供了两个模块:_thread和threading,_thread

    2022年8月31日
    4
  • selenium 常见面试题以及答案

    selenium 常见面试题以及答案selenium常见面试题以及答案 1.怎么判断元素是否存在?判断元素是否存在和是否出现不同,判断是否存在意味着如果这个元素压根就不存在,就会抛出NoSuchElementException这样就可以使用trycatch,如果catch到NoSuchElementException就返回false 2.如何判断元素是否出现?判断元素是否出现,存在两种情况,一种是该元素压根就没有,自…

    2022年6月20日
    30
  • sqlserver查看表是否被锁_Oracle锁表查询和解锁方法

    sqlserver查看表是否被锁_Oracle锁表查询和解锁方法–查询是否锁表了selectoidfrompg_classwhererelname=’lockTableName’;selectpidfrompg_lockswhererelation=’上面查出的oid’;–如果查询到了结果,表示该表被锁则需要释放锁定selectpg_cancel_backend(上面查到的pid);…

    2022年8月23日
    4
  • matlab绘制论文折线图

    matlab绘制论文折线图x_start=1;x_step=1;x_end=6;y_start=0;y_step=1;y_end=10;figure(‘color’,[111]);%使背景颜色为白色而不是灰色x=x_start:x_step:x_end;baseline=[1.695,2.067,9.56,2.312,1.783,50];%曲线1的每个x坐标对应的y值ir…

    2022年6月1日
    47
  • lsof 用法

    lsof 用法

    2021年9月16日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号