利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群

  • 概述
  • 配置
  • 具体步骤
    • node1虚拟机制作
      • 安装及固定IP
      • 关闭防火墙
      • JDK安装
      • 关闭SELinux
    • 虚拟机克隆
      • 固定IP
      • 修改主机名
    • 映射配置
    • 免密匙登录
    • 时钟同步
    • ZooKeeper配置

概述

搭载ZooKeeper环境的Linux分布式集群,为日后的分布式、大数据学习做准备。

配置

考虑到国内红帽系的Linux比重最大,使用免费的CentOS7.7。
网关192.168.88.2,对应地,
子网掩码为255.255.255.0。DNS选用8.8.8.8114.114.114.114。node1的IP192.168.88.9,node2的IP192.168.88.10,node3的IP192.168.88.11

具体步骤

node1虚拟机制作

安装及固定IP

安装VMware15.5及以上版本,先做一个Linux系统的虚拟机(选用Ubuntu之类的也可以,问题不大)。不再使用GUI,后续全部使用命令行。

使用ifconfig查看node1的网络信息。

使用vim /etc/sysconfig/network-scripts/ifcfg-ens33修改DHCP(动态分配IP)为静态获取IP(固定IP)修改:

BOOTPROTO="static" ,
IPADDR="192.168.88.9"
GATEWAY="192.168.88.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
IPV6_PRIVACY="no"

有就修改(或先把原来的那行#注释),没有就添加。然后systemctl restart network重启网络,重新使用ifconfig查看node1的网络信息。

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

使用这2条,关闭防火墙服务,并关闭开机自启动。

JDK安装

大数据一定会用到JDK。

mkdir -p /export/software

创建安装包存放路径。

mkdir -p /export/server

创建安装路径。

mkdir -p /export/data

创建数据区。

先切换到安装包路径cd /export/software/,使用secureCRT的rz上传文件jdk-8u241-linux-x64.tar.gz。然后tar -zxvf jdk-8u241-linux-x64.tar.gz -C /export/server/解压。

使用VIM配置环境变量:vim /etc/profile,加入:

export JAVA_HOME=/export/servers/jdk1.8.0_241
export PATH=:$PATH:$JAVA_HOME/bin
source /etc/profile

刷新环境变量。使用java -version,看到JDK版本就说明安装成功。

常用软件比如MySQL也可以先安装上,就不需要克隆之后再多次安装。笔者仅安装了JDK。

关闭SELinux

使用vim /etc/selinux/config,修改SELINUX=disabledreboot重启下。

虚拟机克隆

笔者的SSD盘G盘空间不多,故将虚拟机克隆到SSD盘C盘,SSD盘玩虚拟机比HDD舒服太多了!!!虚拟机比打游戏对硬盘的伤害小,不要慌,可劲造。。。

完整克隆(先关闭虚拟机才能克隆,开机或者挂起状态是不能克隆的,最好留个快照),防止node1损坏连带node2和node3也不能使用。

克隆出node2和node3以后,给2个新虚拟机的网络适配器,高级,重新生成MAC地址。

固定IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33

分别修改为192.168.88.10和192.168.88.11。和node1的步骤类似,不再赘述。

systemctl restart network.service

设置完成后重启网络。

修改主机名

hostnamectl set-hostname node2

修改node2的主机名。

hostnamectl set-hostname node3

修改node3的主机名。

使用reboot重启生效。

映射配置

Linux中:

vim /etc/hosts

修改内容:

192.168.88.9 node1
192.168.88.10 node2
192.168.88.11 node3

Win10中:
C:\Windows\System32\drivers\etc\hosts添加同样的内容,不能保存就另存到桌面,再覆盖原来的文件。注意另存的时候不要有.txt后缀。

免密匙登录

3个虚拟机都需要:

ssh-keygen -t rsa

多按几次回车会生成密室。

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

3个虚拟机都需要执行,实现3个虚拟机的免密匙登录。

时钟同步

所有机器是一个集群,用于共同工作解决同一个问题,必须保证所有机器的时间是同步的,不能有毫秒以上的误差。一般一个集群对外只暴露1个IP,故只需要对外的这个IP和外部时间同步,集群内的其它机器都和这台机器同步即可。

yum -y install ntp

三台都要安装ntp服务。

三台都要使用vim /etc/sysconfig/ntpd添加SYNC_HWCLOCK=yes,配置本地时钟同步。

笔者配置node1为与外部时间同步:
使用vim /etc/ntp.conf,#注释所有restrict以及server开头的行,添加:

restrict 192.168.88.0 mask 255.255.255.0 nomodify notrap
server ntp4.aliyun.com
server 202.112.10.36
server 127.127.1.0 # localclock
fudge 127.127.1.0 stratum 10

另外2台:
使用:vim /etc/ntp.conf,同样注释后,添加:

server 192.168.88.9

启动3台机器的ntp服务:

systemctl start ntpd.service
systemctl enable ntpd.service

后2台:

ntpdate -u 192.168.88.9

手动同步,并配置定时任务:

crontab -e

这玩意儿和VIM用法差不多,填写:

*/5 * * * * /usr/sbin/ntpdate -u 192.168.88.130 > /dev/null 2>&1

还有2条可以看状态的命令:

ntpq -p:#列举当前所有可用的同步服务器
ntpstat:#查看当前的同步状态

ZooKeeper配置

http://archive.apache.org/dist/下载zookeeper-3.4.6.tar.gz,切换到安装包目录:

cd /export/software/

使用rz命令上传后,解压:

tar -zxvf zookeeper-3.4.6.tar.gz -C /export/server/

切换node1的目录cd /export/server/zookeeper-3.4.6/
使用cp conf/zoo_sample.cfg conf/zoo.cfg复制并改名获得配置文件。

创建存储目录:

mkdir /export/server/zookeeper-3.4.6/zkData

使用VIM修改vim conf/zoo.cfg

dataDir=/export/server/zookeeper-3.4.6/zkData
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

生成node1的myid:

echo "1" >/export/server/zookeeper-3.4.6/zkData/myid

分发给node2和node3:

cd /export/server/
scp -r zookeeper-3.4.6 node2:$PWD
scp -r zookeeper-3.4.6 node3:$PWD

使用echo "2" >/export/server/zookeeper-3.4.6/zkData/myid修改node2的myid,使用echo "3" >/export/server/zookeeper-3.4.6/zkData/myid修改node3的myid。

3个虚拟机都使用cd /export/server/zookeeper-3.4.6/切换目录,bin/zkServer.sh start启动ZooKeeper服务。还可以使用bin/zkServer.sh status查看状态,使用bin/zkServer.sh stop关闭服务。由于未提供重启命令,只能先stop再start。

至此完成了ZooKeeper集群搭建。

利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群相关推荐

  1. 个人PC搭建自己的Linux分布式集群

    一.背景 跑spark mllib中的算法模型可能个人电脑虚拟机带不动(其实还是赋闲在家没事找事做:)),家里正好有两台闲置PC,然后自己又组了台主机,利用家里的路由器,把三台pc刷好Linux后,组 ...

  2. 手把手教你搭建Hadoop生态系统伪分布式集群

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 手把手教你搭建Hadoop生态 ...

  3. Zookeeper之Linux分布式集群搭建及客户端shell命令操作

    一.准备至少三台Linux服务器及对应的jdk环境 1.服务器及jdk环境准备 服务器:至少三台Linux服务器 JDK环境:三台Linux服务器上都需要安装好jdk环境(jdk环境安装参考我的博客: ...

  4. Hadoop环境搭建教学(二)完全分布式集群搭建;

    Hadoop环境搭建教学(一)运行环境,集群规划介绍: 文章目录 安装三台 CentOS 7系统 一.X-Shell的准备工作 二.基本工具安装 三.关闭防火墙 四.修改Host文件 五.3.4.4 ...

  5. 亿级Web系统搭建:单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...

  6. HTCondor下多台Linux计算集群的搭建

    文章目录 (一)对四台虚拟机分别进行此操作 (二)对三个角色分别进行如下操作 1)充当Central Manager角色的虚拟机 2)充当Submit 角色的虚拟机 3)充当Execute角色的虚拟机 ...

  7. 新平台架构的解决方案,使用kratos快速搭建系统服务,做好分布式集群,找大一个哥们写的一系列文章,非常不错赶紧学习下。

    目录 前言 1,关于kratos 2,相关文档 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/109504012 未经博主 ...

  8. Hadoop环境搭建教学(一)运行环境,集群规划介绍;

    文章目录 前言 一.Hadoop的三种运行环境 二.集群规划 三.需要的基本软件安装 下期见 前言 Hadoop的运行环境可以是在Windows上,也可以在linux上,但在Windows上运行效率很 ...

  9. 第二节HDFS完全分布式集群搭建与配置及常见问题总结

    提示:此文章内容超级全面和详细 文章目录 前言 一.HDFS完全分布式集群是什么? 二.HDFS完全分布式集群搭建与配置 1.HDFS完全分布式集群搭建库 2.HDFS完全分布式集群搭建配置 HDFS ...

最新文章

  1. 数组方法关于任意数字类型的数组求最大值解决办法
  2. 数学建模第六节2020.5.15-17补
  3. javaone_为JavaOne 2014做好准备!
  4. 应用层协议:HTTP
  5. 程序员面试金典——1.2原串翻转
  6. Linux Autofs自动挂载服务详解
  7. .Net中EF通用数据层小结
  8. 计算机网络分为点到点网络和,计算机网络-判断题
  9. 安卓设计模式、安卓进阶、kotlin中文文档pdf学习资料
  10. java 使用的钩子_Java 钩子程序
  11. 计算机上的无线网络开关怎么打开,无线网络开关怎么开启
  12. 【航线运输驾驶员理论考试】飞行性能、计划和装载
  13. 我母亲在一家计算机公司工作,我的母亲作文
  14. 2022年海外有哪些直播带货平台?直播带货要怎么做?
  15. 网速dns怎么调快_手机dns怎么设置网速快
  16. android应用备份,Android备份App及数据
  17. 正确使用数字化仪前端信号调理功能
  18. 宝塔安装php成功无显示,宝塔面板安装 LAMP 或 LNMP 后没有成功的原因
  19. 查看Linux系统版本的命令总结
  20. 微软授权方式连载二:Windows XP版本类型及授权方式

热门文章

  1. 网络繁杂,我们该如何准确获取所需信息?
  2. 什么是电商运营(2)?
  3. java报销系统的参考文献_java毕业设计_springboot框架的企业报销管理与实现
  4. 打开阿尔卡特511大猫路由功能
  5. c语言编程64位,win-tc语言编程软件官方下载
  6. iPhone 4s完美越狱 iOS 5.1 完美越狱 苹果越狱
  7. java 1900年_JDK与1900年01月01日
  8. java汉字转拼音区别多音字_java中文转拼音,支持多音字词组,不支持音标
  9. U盘、打印机泄密的隐患
  10. 推荐5款体验较好的团队协作工具