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):

开启前还要进行至关重要的操作:
修改网卡地址,因为复制出来的三台虚拟机一模一样,所以网卡信息也会一模一样,这个时候如果直接开启ip会出现冲突,所以开启后在虚拟机设置里的网络适配器里的高级,点击生成新的mac地址并做相应记录,三台均同样操作:

接下来,开启三台虚拟机:


在/etc/hosts下面分别做好域名映射:

分别设置主机名:
在/etc/sysconfig/network下修改各主机名

再修改各个主机的ip地址,在/etc/sysconfig/network-scripts下分别配置如下参数即可:

3

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

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

加上如下一行:

4

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

ssh-keygen -t rsa


接下来分别将秘钥传送到node1上:

ssh-copy-id node01


这时会生成一个认证的keys,随后分别分发给剩下两台主机即可:

这样就可以在三台主机里进行任意访问了

5

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

yum install -y ntp

接下来实行crontab -e设置每一分钟进行时间同步即可:

6

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

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

此次安装的java环境为jdk1.8.0_141

安装的zookeeper版本是3.4.9

开始安装

1 安装jdk

如果使用如下命令:

rpm -qa | grep java

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

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

将安装包拷贝到/export/softwares/目录下,进行解压即可:

安装好后进入/etc/profile文件下加入JAVA_HOME:

随后:source /etc/profile立即生效,这时查看java-version:

2 安装zookeeper

用同样的方式解压zookeeper:

3 安装后续工作需要的mysql

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

yum install mysql mysql-server mysql-devel

启动mysql:

/etc/init.d/mysqld start

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

/usr/bin/mysql_secure_installation


输入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

随后进入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


node3成为了leader(myid为3)
相应的剩下两台也就成为了follower:

运用

使用如下命令开启zookeeper:

接下来就可以在这里面设置节点了(永久性节点,临时性节点,序列-永久节点,序列-临时节点)
还可以在这里面实行watch机制,当节点里的值发生变动时,能监听到并返回信息:

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

  1. 固定linux虚拟机ip地址,虚拟机下linux 系统网卡配置、固定IP地址

    1.进入该目录下修改内容 vi       /etc/sysconfig/network-scripts/  ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEF ...

  2. zookeeper快速入门——应用(两种分布式锁)

    在<zookeeper快速入门--简介>一文中,我们介绍了zookeeper的机制.但是还是比较抽象,没有直观感受到它在分布式系统中的应用.本文我们使用一个例子,三次迭代演进,来说明Zoo ...

  3. python 操作 zookeeper 快速入门

    python 操作 zookeeper 快速入门 文章目录 python 操作 zookeeper 快速入门 什么是zookeeper python 操作 zk 快速入门 zk节点 创建节点 查询节点 ...

  4. win7 mac虚拟机linux,Mac虚拟机安装win7攻略 必须点赞

    不少已经购买mac电脑的用户并不了解这款电脑的操作系统如何使用,经常使用不习惯,很多人会想能不能在mac上再安装一个windows系统,这样就能避免很多问题了,所以现在很多mac用户都已经在自己的电脑 ...

  5. SSH连接两台虚拟机、秘钥免密登录

    材料:两台虚拟机. 分别查看各自ip: 第一台: 第二台: SSH连接 连接: 秘钥 将生成的公钥传入到想要的ip: 进入192.168.19.129修改配置文件 将PubkeyAuthenticat ...

  6. Win10环境下配置VScode远程开发ssh-remote(免密登录)

    问题背景: 在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook上编写(或许可以在其他IDE上写,但我不知道).而我们喜欢 ...

  7. macos配置ssh别名登陆并免密登录

    本机配置 文件路径:cd ~/.ssh 编辑config,如果没有新建:touch confing 内容如下 # 输入ECS实例的别名,用户SSH远程连接. Host my_server # 输入EC ...

  8. 2.1 mac下多版本jdk的安装和管理

    之前已经安装过jdk8了,安装路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk 现在安装jdk10,下载后,双击dmg文件一直到安装完成,安装 ...

  9. mac mysql 免密登录_Mac 免密登陆

    用ssh-copy-id 1. 首先在你的本地mac上打开一个shell,进入到~/.ssh目录,然后看一下该目录下的文件 cd ~/.ssh ls // 看一下文件,看看有没有已经生成过的公私钥对 ...

最新文章

  1. the user operation is waiting for building workspace to complete解决办法
  2. 全球首个 AI 说唱歌手 TikTok 发新歌,虚拟偶像正当时
  3. OpenGL Static Texture静态纹理的实例
  4. windows系统-程序加载时生成栈和堆的过程
  5. sourcetree不好做到的一些git操作
  6. ios依赖管理工具:Carthage
  7. linux 查看文件工具,lsof---Linux查看文件信息的强大工具
  8. nginx 实现负载均衡
  9. Ztree 改 节点
  10. Oracle 迁移至 MySQL 后 需要修改的SQL语句 小总结
  11. 替代NXP的CLRC663国产芯片来了,再也不用被老外卡脖子了
  12. 公共DNS递归服务器(转发)
  13. Kernel:CC_HAVE_ASM_GOTO 、 Compiler lacks asm-goto support
  14. 【OpenCVOpenGLMarkerless AR】原理部分+代码
  15. 【职场心灵鸡汤】以多年来拿最佳的心路历程来复盘【如何成为优秀的5%】
  16. Window系统64位下的x86文件夹
  17. Skype for Business 中的键盘快捷方式
  18. 飞书文档如何添加代码块 ```
  19. 【python实现抠图】
  20. 为什么要ReLU激活函数

热门文章

  1. Java黑皮书课后题第6章:*6.38(生成随机字符)使用程序清单6-10 RandomCharacter中的方法,打印100个大写字母及100个一位数字,每行打印10个
  2. C语言学习之求一个3X3的整型矩阵对角线元素之和。
  3. C语言学习之输入10个数,输出其中最大的一个数。
  4. version robot
  5. linux 递归删除 空目录命令,使用shell脚本实现递归删除空目录
  6. 【python数据挖掘课程】十.Pandas、Matplotlib、PCA绘图实用代码补充
  7. PHP网站使用JavaScript和Iframe简单实现部分刷新效果
  8. C# 数据库dataGridView刷新数据和主外键判断
  9. HarmonyOS之深入解析设备标识符的功能和使用
  10. LeetCode Algorithm 507. 完美数