您现在的位置是:首页 >学无止境 >基于Oracle VM VirtualBax搭建CentOS7集群网站首页学无止境
基于Oracle VM VirtualBax搭建CentOS7集群
模板机搭建教程参见:
https://blog.csdn.net/qq_37316272/article/details/87691835
一、配置模板机
在根据上面的教程安装好模板机之后,还需要进行一些必要的配置
1.设置网卡默认启动
如果安装的是精简版,默认网卡不随操作系统启动,需要修改为默认随操作系统启动
进入网络设置相关文件夹cd /etc/sysconfig/network-scripts
编辑ifcfg-enp0s3
文件,vi ifcfg-enp0s3
。修改ONBOOT=yes
,重启虚拟机reboot
。
2.安装必要软件
#软件仓库
yum install -y epel-release
#如果是精简版系统,需要安装一下软件
yum install -y net-tools #网络工具,又ifconfig等命令
yum install -y vim #编辑器
yum install -y rsync #远程同步工具
3.修改ip地址
在集群中,必定希望ip是稳定的,如果重启后会变动,会带来不必要的麻烦
进入网络设置相关文件夹cd /etc/sysconfig/network-scripts
编辑ifcfg-enp0s3
文件,vi ifcfg-enp0s3
。修改BOOTPROTO=dhcp(动态分配)为static,添加下图三个配置项
修改后需重启生效。
4.修改主机名
vim /etc/hostname
,修改后需重启
5.添加主机名映射
vim /etc/hosts
,修改后需重启
二、复制模板机
首先需要关闭需要复制的虚拟机,然后右键,选择复制
设置新虚拟机的名称,点击复制
复制完成后,只需要修改
IP地址
和hostname
即可
三、xsync脚本
给集群中每一台机器,都安装jdk。如果一台台安装过去是很慢的,而且还需要进行环境变量的配置
1.配置SSH免密登录到其他服务器
cd ~
进入根目录,ls -al
查看隐藏文件,如果使用过ssh命令,就会有一个.ssh
的文件夹。(如果没有,ssh一次就会有)
进入.ssh
文件夹,生成密钥ssh-keygen -t rsa
(输入命令后按3下回车),会生成公钥+私钥
将公钥转发到其他服务器上,ssh-copy-id hadoop103
,就可以实现ssh hadoop103
免密登录
2.rsync(远程同步工具)
#本台主机同步数据给其他主机
rsync -av $pdir/$fname $user@$host:$pdir/$fname
#从其他主机同步数据
rsync -av $user@$host:$pdir/$fname $pdir/$fname
#在C主机上操作:A主机同步数据给B主机
rsync -av $Auser@$Ahost:$pdir/$fname $Buser@$Bhost:$pdir/$fname
需要两台服务上都安装远程这个工具,否则会提示如下错误
3.基于上述两个操作为基础,编写xsync脚本
如果希望脚本可以在任意目录执行,需要将脚本写在
echo $PATH
输出的文件夹下
在/root/bin
目录下,执行vim xsync
#!/bin/bash
#判断参数个数
if [ $# -lt 1 ]
then
echo NOT Enough Arguement!
exit;
fi
#遍历集群
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ============
#遍历参数,要同步的多个文件
for file in $@
do
#判断文件是否存在
if [ -e $file ]
then
#获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#获取文件名
fname=$(basename $file)
#在目标服务器上,新建目录(如果不存在)
ssh $host "mkdir -p $pdir"
#同步文件
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
赋予权限chmod 777 xsync
,在任意目录下可以免密同步文件。