当前位置: 首页 > Linux

虚拟机-centos集群搭建

时间:2023-04-06 22:32:09 Linux

我们在搭建redis集群、zookeper集群、hadoop集群或者kafaka集群的时候,需要用到多台机器,所以搭建集群服务器是一个后端程序员的基本素质。本文的目标是:准备搭建5台linux虚拟机1、软件准备CentOS-7-x86_64-Minimal-1611.iso,2、搭建5台linux虚拟机的安装要求;CentOS7操作系统,64位,每台机器是1个cpu,1G内存,安装JDK1.83,虚拟机配置3.1,创建虚拟机,打开VirtualBox,点击“新建”按钮,点击“下一步”,进入虚拟机名称为centos01,操作系统选择Linux,版本选择RedHat-64bit,分配内存1024MB。以下选项都是默认的。在VirtualDiskFilelocationandsize中,一定要选择一个存放虚拟机文件的目录(否则会存放在c盘,挺可怜的。),最后点击“create”按钮开始创建一个虚拟机。3.2.设置虚拟机网卡选择创建的虚拟机,点击“设置”按钮,在网络栏中,连接方式选择“桥接适配器”。(搭建虚拟机做实验常用的方式是桥接网络。)当我们异地工作时,IP地址发生变化,会导致之前搭建的虚拟机环境无法使用。如果你想让虚拟机无论走到哪里都能正常工作,ip地址改变后,不需要重新配置网络,如何给虚拟机配置网络,什么时候可以换环境,不用不需要重新配置,如何配置NAT。参考:https://www.cnblogs.com/cheng...使用桥接,改变网络环境,改变ip地址,重新配置5台虚拟机中网卡的部分ip地址;3.3、安装虚拟机在本机中选择为CentOS7操作系统创建的虚拟机,点击“开始”按钮,选择安装介质(即本地的CentOS7镜像文件)。系统选择自动分片安装后,CentOS会提醒你重启,也就是reboot,重启即可。4、配置网络(重启网卡使用ipaddr时如果没有看到分配给你的ip地址,应该是你自己的虚拟机主机连了一个路由器(网络))。让它先动态分配一个ip地址vi/etc/sysconfig/network-scripts/ifcfg-enp0s3ONBOOT=yes//ONBOOT表示系统启动时是否激活网卡。只有处于激活状态的网卡才能连接网络,进行网络通信,然后重启服务:servicenetworkrestartview分配ip:ipaddr然后设置一个静态ip地址:BOOTPROTO=staticIPADDR=192.168.1.8NETMASK=255.255.255.0GATEWAY=192.168.1.1//网关直接到虚拟机所在主机查看对应网卡的网关,重启网络服务networkrestart查看ipaddripaddr虚拟机主机的网关如下:mac下查看网关及其dns参考链接:https://jingyan.baidu.com/art...5、配置DNS查看NetManager的状态:systemctlstatusNetworkManager.servicecheckNetManager管理的网络接口:nmclidevstatus查看NetManager管理的网络连接:nmcliconnectionshow需要注意的是enp0s3设备对应的连接名称改为Systemenp0s3,但是对应的ifcfg文件没有改名。让我们尝试改变它。改之前先把原来的配置文件备份到别的目录下(注意,不能备份到network-scripts目录下!)设置dns(有时报错:nmcliconerror:unknownconnection'enp0s3'):dns"114.114.114.1148.8.8.8"让dns配置生效:nmcliconupenp0s3需要注意的是enp0s3设备对应的连接名改成了enp0s3,但是对应的ifcfg文件没有改名。我们改一下试试,在改文件到别的目录之前先备份一下原来的配置(注意,不能备份到network-scripts目录下!)这时候再查一下就知道它的名字是enp0s3了执行dns配置生效:让dns配置生效:nmcliconupenp0s36.配置hostvi/etc/hosts配置本地主机名到ip地址192.168.1.8centos017的映射。安装文件传输工具一般来说,虚拟机管理软件virtualbox可以用来创建和管理虚拟机,但是一般不会直接在virtualbox中操作,没办法复制粘贴,操作很不方便。一般可以使用SecureCRT、xftp等工具去windows宿主机。连接到虚拟盒子中的虚拟机。八、关闭防火墙1、关闭虚拟机防火墙`systemctlstopfirewalld.servicesystemctldisablefirewalld.service`2、关闭宿主机防火墙搭建集群,集群间通信。如果本地有防火墙,可能无法相互通信。连接将导致构建失败。9.配置yumyumcleanallyummakecacheyuminstall-ywget//安装一个wget来测试yum安装是否成功10.安装JDK文件上传:upload:scplocalpathusername@ip:remotepathfiledownload:scp-rremote_username@remote_ip:remote_folderlocal_folder1。上传jdk-8u131-linux-x64.rpm到虚拟机scp/Users/xiexinming/software/package/jdk-8u131-linux-x64.rpmroot@192.168.1.8:/usr/local/2。安装JDK:rpm-ivhjdk-8u131-linux-x64.rpm3.配置jdk相关的环境变量vi/etc/profile`exportJAVA_HOME=/usr/java/latestexportPATH=$PATH:$JAVA_HOME/bin`source/etc/profile4、测试jdk是否安装成功:java-version11。在另外4台虚拟机中安装CentOS集群按照上面的步骤,然后安装4台相同环境的linux机器。其他三台机器的主机名分别设置为centos02、centos03。centos04和centos05安装完成后,在每台机器的hosts文件中,配置所有机器的ip地址和hostname的映射关系192.168.1.8centos01192.168.1.xxxcentos02192.168.1.xxxcentos03192.168.1.xxxcentos04192.168.1.xxxcentos0512.配置5个CentOS相互通信无需ssh密码。首先在三台机器上配置ssh免密码登录本机。ssh-keygen-trsa生成本地机器的公钥。ssh-keygen命令默认会将公钥放在/root/.ssh目录下cd/root/.sshcpid_rsa.pubauthorized_keys将公钥复制到authorized_keys文件中,此时使用ssh连接本机不需要输入密码(之前我们用ssh连接一台机器时,sshroot@ip-pxxx需要提示输入密码,现在不用输入密码就可以直接连接每台机器password)然后在三台机器之间配置ssh免密码登录,使用ssh-copy-id-ihostname命令将机器的公钥复制到指定机器hostname的authorized_keys文件中,机器就可以连接了此时没有密码到指定的机器:主机名。后面要做的就是将每台机器的key复制到centos01上,这些机器就可以免密码登录centos01了。当我们查看/root/.ssh下时,我们可以看到5个键。然后将最全的hadoop01上的authorized_keys文件内容全部复制到其他机器上。(先rm-rfauthorized_keysofothermachines)【CentOS7linux提示bash:ls:commandnotfound...】执行ls命令报找不到命令。原因是修改了环境变量PATH。解决办法:执行exportPATH=/bin:/usr/bin:$PATH备注常用命令:管理员权限:sudo(以下配置时如果命令运行出错,在命令前加上sudo)防火墙状态:systemctlstatusfirewalld.service关闭防火墙:systemctlstopfirewalld.serviceeditenp0s3网卡:vi/etc/sysconfig/network-scripts/ifcfg-enp0s3重启网络:servicenetworkrestartchangeDNS查看当前启动的连接:nmcliconnectionshowchangeDNS:nmcliconmodenp0s3ipv4.dns114.114。114.114配置生效:nmcliconupenp0s3取消当前命令:Ctrl/Command+Z保存文件退出:先按Esc;然后Shift+;(即输入“:”)最后输入wq参考参考链接:https://blog。csdn.net/robin_j...https://blog.csdn.net/baidu_2...