Zookeeper三节点集群搭建

Mac下利用vmware fushion安装centos服务器,然后搭建Zookeeper集群环境。

安装中用到的软件包
配置虚拟机并且安装JDK

为了安装简便,先安装一台linux虚拟机,并在其上安装zookeeper,然后克隆这个镜像2份,修改相关配置即可。

  1. 安装虚拟机
    我们这里使用的配置是4G内存,50G硬盘,处理器2核。注意:网络要选择与我的mac共享

  2. 修改ip地址,使用固定ip
    注意:在修改静态ip之前,先查看vmware fushion使用的本机默认网关地址以及虚拟机允许选择的静态ip地址范围

通过Mac终端查看vmware fushion使用的默认网关地址:

cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

截取了部分结果如下,其中192.168.2.2为默认网关,255.255.255.0为子网掩码。

# NAT gateway address
ip = 192.168.2.2
netmask = 255.255.255.0

然后查看虚拟机允许选择的静态ip地址范围:

vim /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf

截取了部分结果如下,其中:192.168.2.128 ~ 192.168.2.254 为我们允许配置的静态ip范围。

ubnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.128 192.168.2.254;
        option broadcast-address 192.168.2.255;
        option domain-name-servers 192.168.2.2;
        option domain-name localdomain;
        default-lease-time 1800;                # default is 30 minutes
        max-lease-time 7200;                    # default is 2 hours
        option netbios-name-servers 192.168.2.2;
        option routers 192.168.2.2;
}

获取到以上2个信息之后,我们分别配置三台linux虚拟机的ip地址为:192.168.2.100, 192.168.2.110, 192.168.2.120

下面进行修改,进入虚拟机里面,打开终端,切换到root,然后编辑ifcfg-ens33文件。

su root  # 之后的操作都是使用root身份进行
vi /etc/sysconfig/network-scripts/ifcfg-ens33 

修改其内容为:

BOOTPROTO="static"            # 原本是BOOTPROTO="dhcp",自动获取改为使用静态固定ip
IPADDR=192.168.2.100         # 这里使用192.168.2.100
NETMASK=255.255.255.0         #  子网掩码
GATEWAY=192.168.2.2           #  这里的网关,填入上面获取到的网关192.168.2.2
DNS1=8.8.8.8                  # DNS

保存完之后,重启一下网络:

service network restart

如果反馈结果如下,证明修改成功。

[root@localhost tiger]# service network restart
Restarting network (via systemctl):                        [  OK  ]

然后,使用ifconfig命令查看一下ip是否是已经更改。如果正确,在mac终端用ping命令,ping一下mac与虚拟机是否能ping通,如果配置正确,上述命令执行结果应该都是预期的。

  1. 关闭防火墙
    这时候,已经可以在mac终端连接虚拟机了,而不必进入虚拟机在虚拟机终端中关闭防火墙。
ssh root@192.168.2.100
systemctl disable firewalld.service
  1. 关闭selinux
    继续在刚才的终端中,执行:
vim /etc/selinux/config 

修改为:

SELINUX=disabled
  1. 更改主机名
    约定这三台主机分别更名为node01, node02, node03
vim /etc/hostname

改为:

node01
  1. 更改主机名与IP地址映射
vim /etc/hosts
# 修改为:
192.168.2.100  node01
192.168.2.110  node02
192.168.2.120  node03
  1. 三台机器同步时间
yum -y install ntpdate
crontab -e    # 增加定时任务:*/1 * * * * /usr/sbin/ntpdate time1.aliyun.com
  1. 三台机器添加hadoop用户
    三台linux服务器统一添加普通用户hadoop,并给以sudo权限,用于以后所有的大数据软件的安装
    并统一设置普通用户的密码为 123456。
useradd hadoop
passwd hadoop
chmod u+w /etc/sudoers
vim /etc/sudoers               # 增加一行:hadoop  ALL=(ALL)       ALL
chmod u-w /etc/sudoers
  1. 定义统一目录
    定义三台linux服务器软件压缩包存放目录,以及解压后安装目录,执行以下命令,创建两个文件夹,一个用于存放软件压缩包目录,一个用于存放解压后目录。
mkdir -p /kkb/soft     # 软件压缩包存放目录
mkdir -p /kkb/install  # 软件解压后存放目录
chown -R hadoop:hadoop /kkb    # 将文件夹权限更改为hadoop用户
  1. 安装jdk
    切换到hadoop用户,上传压缩包到服务器的/kkb/soft下面,然后进行解压,配置环境变量即可。
    先在mac终端下用scp把jdk上传到/kkb/soft下面
scp jdk-8u141-linux-x64.tar.gz hadoop@192.168.2.100:/kkb/soft
su hadoop
cd /kkb/soft/
tar -zxf jdk-8u141-linux-x64.tar.gz  -C /kkb/install/
sudo vim /etc/profile
# 添加以下配置内容,配置jdk环境变量
export JAVA_HOME=/kkb/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH
source /etc/profile  # 使环境变量生效
java -version        # 测试jdk是否安装成功
  1. 克隆镜像
    首先关闭node01,然后创建克隆镜像,克隆2台虚拟机centos02, centos03。
克隆虚拟机

接着分别开启centos02和centos03,执行上面的第2步和第5步。其中,在第2步中,centos02的ip修改为192.168.2.110,centos03的ip修改为192.168.2.120; 在第5步中,修改centos02的主机名为node02,修改centos03的主机名为node03

修改完成之后,重启node02和node03使配置生效。

  1. hadoop用户免密登录
    三台机器在hadoop用户下执行以下命令生成公钥与私钥对。
ssh-keygen -t rsa 
三台机器在hadoop用户下,执行以下命令将公钥拷贝到node01服务器上面去
ssh-copy-id  node01
node01在hadoop用户下,执行以下命令,将authorized_keys拷贝到node02与node03服务器
cd /home/hadoop/.ssh/
scp authorized_keys  node02:$PWD
scp authorized_keys  node03:$PWD

可以额外做一步,使mac也可以免密登录node01, node02, node03,这样就可以直接在mac的终端免密登录这三台服务器了,而不必进入虚拟机里面,使用Linux的terminal。

# 在mac终端执行
sudo vim /etc/hosts
# 修改为:
192.168.2.100  node01
192.168.2.110  node02
192.168.2.120  node03
# 然后执行
ssh-copy-id  hadoop@node01    # 这里必须指明hadoop用户,不然默认使用的是当前用户。
# 然后将node01的authorized_keys同步到三台服务器
ssh hadoop@node01
cd /home/hadoop/.ssh/
scp authorized_keys  node02:$PWD
scp authorized_keys  node03:$PWD

配置完成之后,使用ssh hadoop@node01ssh hadoop@node02ssh hadoop@node03,测试一下mac是否可以免密登录3台服务器。

安装Zookeeper
  1. 解压Zookeeper
    可以先在node01上安装Zookeeper然后将文件同步到node02,node03。
    在mac下将zookeeper安装包上传到node01,打开mac终端,执行:
scp zookeeper-3.4.5-cdh5.14.2.tar.gz hadoop@node01:/kkb/soft
ssh hadoop@node01
cd /kkb/soft
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz  -C /kkb/install/
  1. 修改配置文件
    在node01上执行:
cd /kkb/install/zookeeper-3.4.5-cdh5.14.2/conf
cp zoo_sample.cfg zoo.cfg
mkdir -p /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
vim  zoo.cfg
# 修改内容如下:
dataDir=/kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
  1. 添加myid配置
    在第一台机器的/kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/
    这个路径下创建一个文件,文件名为myid ,文件内容为1
echo 1 >  /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
  1. 安装包分发并修改myid的值
# 第一台机器上面执行以下两个命令
scp -r /kkb/install/zookeeper-3.4.5-cdh5.14.2/ node02:/kkb/install/
scp -r /kkb/install/zookeeper-3.4.5-cdh5.14.2/ node03:/kkb/install/
# 第二台机器上修改myid的值为2
# 直接在第二台机器任意路径执行以下命令
echo 2 > /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
# 第三台机器上修改myid的值为3
# 直接在第三台机器任意路径执行以下命令
echo 3 > /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
  1. 启动Zookeeper集群
    三台机器启动zookeeper服务,这个命令三台机器都要执行。
/kkb/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start

查看启动状态

/kkb/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status
查看Zookeeper是否启动

随便登录node01,node02,node03中的任何一台,执行jps,如果看到QuorumPeerMain这个进程,则证明Zookeeper正常启动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容