欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

程序员文章站 2022-06-24 23:53:43
...

zookeeper里的每一个节点叫znode,他们既是目录的功能也有自己的文本信息。
下面进行的集群配置并没有实现高可用效果(内存空间有限)
此次搭建要准备三台虚拟机,准备必备jar包。

虚拟机 ip 角色
192.168.19.110 node01 zookeeper follower
192.168.19.111 node02 zookeeper follower
192.168.19.112 node03 zookeeper leader

准备工作具体细节:

1

虚拟机的具体操作也很有讲究,将一台已经安装好的原始虚拟机进行拷贝,拷贝2份,此时就有了三台一模一样的虚拟机

2

开启虚拟机前先配置好运行内存(因为后面还要搭建hadoop集群,我此处的虚拟机内存设置为4):
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
开启前还要进行至关重要的操作:
修改网卡地址,因为复制出来的三台虚拟机一模一样,所以网卡信息也会一模一样,这个时候如果直接开启ip会出现冲突,所以开启后在虚拟机设置里的网络适配器里的高级,点击生成新的mac地址并做相应记录,三台均同样操作:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

接下来,开启三台虚拟机:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
在/etc/hosts下面分别做好域名映射:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
分别设置主机名:
在/etc/sysconfig/network下修改各主机名
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
再修改各个主机的ip地址,在/etc/sysconfig/network-scripts下分别配置如下参数即可:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

3

三台分别关闭防火墙,分别关闭seliunx

service iptables stop
chkconfig iptables off 
vim /etc/selinux/config

加上如下一行:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

4

虚拟机免密登录:
分别在各自的机子上生成秘钥,再统一把公钥发送到第一台主机上,在将打包好的公钥由第一台机子分发给剩下两台主机:
分别生成秘钥:

ssh-****** -t rsa

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
接下来分别将秘钥传送到node1上:

ssh-copy-id node01

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
这时会生成一个认证的keys,随后分别分发给剩下两台主机即可:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
这样就可以在三台主机里进行任意访问了

5

因为要实现集群操作,时间同步是必不可少的效果,分别在自己的主机上安装ntp时间服务:

yum install -y ntp

接下来实行crontab -e设置每一分钟进行时间同步即可:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

6

分别在每台虚拟机上创建两个目录,softwares用来存放jar包,servers用来存放解压后的文件

mkdir -p /export/softeares
mkdir -p /export/servers

此次安装的java环境为jdk1.8.0_141
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
安装的zookeeper版本是3.4.9
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

开始安装

1 安装jdk

如果使用如下命令:

rpm -qa | grep java

出现了内容,要将之前的版本全部卸载掉:

rpm -e 你的openjdk的名称 --nodeps

将安装包拷贝到/export/softwares/目录下,进行解压即可:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
安装好后进入/etc/profile文件下加入JAVA_HOME:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
随后:source /etc/profile立即生效,这时查看java-version:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

2 安装zookeeper

用同样的方式解压zookeeper:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

3 安装后续工作需要的mysql

现在node3上面进行安装
安装mysql:

yum install mysql mysql-server mysql-devel

启动mysql:

/etc/init.d/mysqld start

设置mysql用户名密码是否能被外部连接:

/usr/bin/mysql_secure_installation

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
输入mysql -uroot -p进入mysql设置外部可以访问:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

输入如上两行即可

配置文件

创建好数据存储目录mkdir -p /export/servers/zookeeper-3.4.9/zkdatas/
将配置文件复制出来一份:

cp /export/servers/zookeeper-3.4.9/zkdatas/zoo_sample.cfg zoo.cfg

进入zookeeper配置文件/export/servers/zookeeper-3.4.9/zkdatas/zoo.cfg
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
随后进入zkdatas下设置myid(myid是zookeeper选举制度里的重要参数,越大说明越有能力当leader,还有一个重要的参数影响选举制度:ZXID)
echo 1 > /export/servers/zookeeper-3.4.9/zkdatas/myid即可
接下来分别把node1上的zookeeper文件拷贝到剩下两台主机上即可:

scp -r /export/servers/zookeeper-3.4.9/ node02:/export/servers/
scp -r /export/servers/zookeeper-3.4.9/ node03:/export/servers/

在分别将myid调整为2和3即可

启动

三台主机上分别输入:

/export/servers/zookeeper-3.4.9/bin/zkServer.sh start

接下来查看可以看到各自的角色:

/export/servers/zookeeper-3.4.9/bin/zkServer.sh status

zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
node3成为了leader(myid为3)
相应的剩下两台也就成为了follower:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

运用

使用如下命令开启zookeeper:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
接下来就可以在这里面设置节点了(永久性节点,临时性节点,序列-永久节点,序列-临时节点)
还可以在这里面实行watch机制,当节点里的值发生变动时,能监听到并返回信息:
zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载