Linux环境搭建(基于centos7的集群配置)
本篇文章主要是Linux的集群环境搭建和网络配置等。为大数据的前置基础,在Hadoop等技术中应用广泛。
主要目标是建立三台可以相互通信,可以与宿主机互联并可联网的虚拟机,作为集群环境。重点介绍centos如何配置网段使其可以与外界设备互联,再补充其他的一些相关设定。对于前期VM如何安装centos不做介绍。
一、网络配置
配置虚拟机网络
centos默认安装下无法与外网连接,我们需要进行网络的设置。我们需要配置多台,为保证每台虚拟机之间的相互通信,我们需要将其设置在同一网段内。
主要步骤
点击虚拟机菜单栏:编辑 --> 虚拟网络编辑器。主要是针对 VMnet8 的配置,进入后以管理员方式 点击更改设置。
设置好子网ip,我这里把该虚拟机放于192.168.2.0网段下。并设置好子网掩码。
然后点击 NAT 设置 编辑网关IP,网关IP为子网IP,最后一位 置为 1 。
配置windows访问虚拟机
以上是虚拟机网络的设置,要想和本机联通,就要将本机的虚拟网络也加入到上面设置的虚拟网络中。
在 网络和Internet 设置中,找到以太网,更改适配器选项。在打开的选项卡中点击 VMnet8 右键属性,双击 IPv4,得到如下界面。
其中,IP需要在同一子网网段下,网关要与在虚拟机中的一致。
centos网卡配置
使用如下命令打开编辑网卡。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
进行如下内容配置
需要注意的:
BOOTPROTO=static 设置ip为静态的不变地址
ONBOOT=yes 启动时生效
在便是下边IP相关配置:IPADDR为该虚拟机的IP地址;GATEWAY为网关;BROADCAST为广播地址(最后为255);DNS为两个域名解析。
为日后使用方便,可以在本机和虚拟机中的 hosts 文件配置IP地址相应解析。
本机:C:\Windows\System32\drivers\etc 下的hosts文件添加 即可。
之后便可直接使用 bigdata1 访问。
二、其他配置
防火墙的关闭
在学习阶段,可以将防火墙关闭,避免因此引发的各种问题,影响学习进程。
注意:centos6 和 centos7 对于防火墙的相关操作差异很大,以下方法适用于centos7。
systemctl stop firewalld.service 关闭防火墙
systemctl start firewalld.service 开启防火墙
firewall-cmd --state 查看防火墙运行状态
systemctl disable firewalld.service 禁止开机启动
JDK的安装
本次介绍使用jdk的rpm安装,在官网下载JDK1.8的rpm版本,上传到虚拟机的相应目录。进入该目录后使用 rpm -ivh jdk 名字安装。
安装好后,默认在/usr下有个Java目录,进入到其中的jdk中,此时即为JDK的目录。
进入配置文件, vi /etc/profile 配置环境变量。
exprot JAVA_HOME=/usr/java/jdk..(JDK的安装路径) export CLASSPATH=$JAVA_HOME$\lib:$CLASSPATH export PATH=$JAVA_HOME$\bin:$PATH
然后source /etc/profile,即可生效。
三、多台虚拟机的克隆实现
配置好一台后,可以使用VM的克隆来复制出两个一样的副本。
一些唯一性的属性,例如主机名,IP地址等 需要再修改。
修改名字 hostnamectl set-hostname 名字
修改IP,和上述步骤一样,但注意,其中的UUID和HWADDR为唯一的,避免重复,将这两个字段删除,主机重启时会自动分配。
然后设置好克隆的虚拟机的IP地址,为了方便,也可在 /etc/hosts 中设置好地址映射。
四、SSH免密钥登陆
在虚拟机中,需要修改对方的信息时需要登录才可进行,利用SSH可以实现免密登录。
在虚拟机中使用命令 , ssh-keygen -t rsa
密钥生成成功。密钥的存放位置:/ root / . ssh 。前者是私钥,后者是公钥。
生成成功后,需要把私钥发送给本机,公钥发送给其他计算机。
发送私钥: 使用命令 ssh-copy-id localhost
成功。
发送公钥:使用命令 ssh-copy-id 主机名(可以是ip,可以是已经添加在hosts文件中映射的名字)
配置好后,使用 命令: ssh 主机名 ,连接测试。
成功。
免密登录最主要实现三台虚拟机之间的设置同步。命令为 :
scp -r 当前目录下的文件或文件夹 主机名:$PWD
scp -r hadoop.xml bigdata2:$PWD
如当前在 主机bigdata1 的 /home目录下,新建了一个test.txt 文件,若想把当前目录下的test.txt同步到其他两台主机的相对应目录,则使用命令:
scp -r test.txt bigdata2:$PWD
scp -r test.txt bigdata3:$PWD
进入到 两台主机的 home目录,可以看到test.txt 文件,同步成功。
至此,一个三台虚拟主机和一台宿主机的集群环境就配好啦!