利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群
利用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.8
和114.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=disabled
,reboot
重启下。
虚拟机克隆
笔者的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分布式集群相关推荐
- 个人PC搭建自己的Linux分布式集群
一.背景 跑spark mllib中的算法模型可能个人电脑虚拟机带不动(其实还是赋闲在家没事找事做:)),家里正好有两台闲置PC,然后自己又组了台主机,利用家里的路由器,把三台pc刷好Linux后,组 ...
- 手把手教你搭建Hadoop生态系统伪分布式集群
Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 手把手教你搭建Hadoop生态 ...
- Zookeeper之Linux分布式集群搭建及客户端shell命令操作
一.准备至少三台Linux服务器及对应的jdk环境 1.服务器及jdk环境准备 服务器:至少三台Linux服务器 JDK环境:三台Linux服务器上都需要安装好jdk环境(jdk环境安装参考我的博客: ...
- Hadoop环境搭建教学(二)完全分布式集群搭建;
Hadoop环境搭建教学(一)运行环境,集群规划介绍: 文章目录 安装三台 CentOS 7系统 一.X-Shell的准备工作 二.基本工具安装 三.关闭防火墙 四.修改Host文件 五.3.4.4 ...
- 亿级Web系统搭建:单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...
- HTCondor下多台Linux计算集群的搭建
文章目录 (一)对四台虚拟机分别进行此操作 (二)对三个角色分别进行如下操作 1)充当Central Manager角色的虚拟机 2)充当Submit 角色的虚拟机 3)充当Execute角色的虚拟机 ...
- 新平台架构的解决方案,使用kratos快速搭建系统服务,做好分布式集群,找大一个哥们写的一系列文章,非常不错赶紧学习下。
目录 前言 1,关于kratos 2,相关文档 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/109504012 未经博主 ...
- Hadoop环境搭建教学(一)运行环境,集群规划介绍;
文章目录 前言 一.Hadoop的三种运行环境 二.集群规划 三.需要的基本软件安装 下期见 前言 Hadoop的运行环境可以是在Windows上,也可以在linux上,但在Windows上运行效率很 ...
- 第二节HDFS完全分布式集群搭建与配置及常见问题总结
提示:此文章内容超级全面和详细 文章目录 前言 一.HDFS完全分布式集群是什么? 二.HDFS完全分布式集群搭建与配置 1.HDFS完全分布式集群搭建库 2.HDFS完全分布式集群搭建配置 HDFS ...
最新文章
- 数组方法关于任意数字类型的数组求最大值解决办法
- 数学建模第六节2020.5.15-17补
- javaone_为JavaOne 2014做好准备!
- 应用层协议:HTTP
- 程序员面试金典——1.2原串翻转
- Linux Autofs自动挂载服务详解
- .Net中EF通用数据层小结
- 计算机网络分为点到点网络和,计算机网络-判断题
- 安卓设计模式、安卓进阶、kotlin中文文档pdf学习资料
- java 使用的钩子_Java 钩子程序
- 计算机上的无线网络开关怎么打开,无线网络开关怎么开启
- 【航线运输驾驶员理论考试】飞行性能、计划和装载
- 我母亲在一家计算机公司工作,我的母亲作文
- 2022年海外有哪些直播带货平台?直播带货要怎么做?
- 网速dns怎么调快_手机dns怎么设置网速快
- android应用备份,Android备份App及数据
- 正确使用数字化仪前端信号调理功能
- 宝塔安装php成功无显示,宝塔面板安装 LAMP 或 LNMP 后没有成功的原因
- 查看Linux系统版本的命令总结
- 微软授权方式连载二:Windows XP版本类型及授权方式