2.1 关闭防火墙
【操作目的】
集群一般都是内网搭建的,如果内网内开启防火墙,内网集群通讯会容易出现很多问题。因此需要关闭集群中每个节点的防火墙。
【操作步骤】
执行以下命令进行关闭防火墙:
systemctl stop firewalld.service
然后执行以下命令,禁止防火墙开机启动:
systemctl disable firewalld.service
其它相关命令如下:
查看防火墙状态:
firewall-cmd --state
开启防火墙:
systemctl start firewalld.service
2.2 设置固定IP
【操作目的】
为了避免后续启动操作系统后,IP地址改变了,导致本地SSH连接不上,节点间无法访问,需要将操作系统设置为固定IP。
【操作步骤】
方法一:
在系统桌面的右上角单击,在弹出的窗口中单击【有线设置】,如下图所示。
在有线设置窗口中单击【添加配置】按钮,如下图所示。
在IP配置窗口中,左侧选择【IPv4】,右侧的【地址】选择【手动】,如下图所示。
接着输入IP地址、网络掩码、网关和DNS服务器,输入完毕后单击【添加】按钮。如下图所示。
方法二:
执行以下命令,修改文件ifcfg-ens33:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下(修改标红处,没有的选项需要手动添加):
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.75
NETMASK=255.255.255.0
GATEWAY=192.168.2.2
DNS1=192.168.2.2
DNS2=114.114.114.114
需要修改的参数及解析如下::
BOOTPROTO:static表示静态IP,默认是DHCP,表示动态IP。
ONBOOT:yes表示开机启用本配置。
IPADDR:IP地址。
NETMASK:子网掩码。
GATEWAY:默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置。
DNS1:DNS 配置,虚拟机安装的话,与网关一样就行。若需要连接外网,需要配置DNS。
DNS2:网络运营商公众DNS,此处也可不用配置。
修改完成后重启网络服务:
service network restart
查看改动后的IP:
ip addr
2.3 修改主机名
【操作目的】
在分布式集群中,主机名用于区分不同的节点,并方便节点之间相互访问,因此需要修改主机的主机名。
【操作步骤】
(1)使用hadoop用户登录系统,进入系统的终端命令行,输入以下命令,查看主机名:
[hadoop@localhost ~]$ hostname
localhost.localdomain
可以看到,当前主机的默认主机名为localhost.localdomain。
(2)执行以下命令,设置主机名为centos01:
[hadoop@localhost ~]$ hostname centos01
hostname: you must be root to change the host name
此时提示需要root权限,执行su命令切换root用户:
[hadoop@localhost ~]$ su
密码:
[root@localhost hadoop]#
执行以下命令,重新设置主机名为centos01:
[root@localhost hadoop]# hostname centos01
以上设置只是在当前会话起作用,重启以后设置的主机名就不起作用了。要想完全改变主机名,需要修改hostname文件。执行以下命令,修改hostname文件,将其中的主机名改为centos01:
[root@localhost hadoop]# vi /etc/hostname
(3)重启系统使修改生效。
注意:修改主机名需要重启才能生效。
2.4 添加用户
本例中使用安装操作系统时新建的hadoop用户即可,若想使用其他用户,则按照下面的步骤新建用户:
(1)使用root登录系统,新增用户tom:
adduser tom
(2)修改用户tom的密码:
passwd tom
(3)设置用户权限,操作方法见下一小节。
2.5 修改用户权限
【操作目的】
使普通用户可以使用root权限。本例以修改hadoop用户为例进行讲解。
【操作步骤】
使用su命令切换为root用户,然后修改文件sudoers:
[root@centos01 hadoop]# vi /etc/sudoers
在文本root ALL=(ALL) ALL的下方加入以下代码,将hadoop用户加入sudo组,使其可以使用sudo执行命令。
hadoop ALL=(ALL) ALL
默认5分钟后sudo密码过期,下次使用sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把上方的输入换成如下内容即可:
hadoop ALL=(ALL) NOPASSWD:ALL
此时使用root权限的命令只需要在命令前面加入sudo即可,无需输入密码。
[hadoop@centos01 ~]$ cat /etc/sudoers
cat: /etc/sudoers: 权限不够
[hadoop@centos01 ~]$ sudo cat /etc/sudoers
2.6 新建目录
在/opt下创建目录softwares、modules、data,分别用于存放软件安装包、软件安装数据和其它数据:
[hadoop@centos01 ~]$ sudo mkdir /opt/softwares
[hadoop@centos01 ~]$ sudo mkdir /opt/modules
[hadoop@centos01 ~]$ sudo mkdir /opt/data
修改目录权限为hadoop用户:
[hadoop@centos01 opt]$ sudo chown -R hadoop:hadoop /opt/*
查看目录权限是否修改成功:
[hadoop@centos01 opt]$ ll
总用量 0
drwxr-xr-x. 2 hadoop hadoop 6 3月 8 09:56 data
drwxr-xr-x. 2 hadoop hadoop 6 3月 8 09:55 modules
drwxr-xr-x. 2 hadoop hadoop 6 3月 26 2015 rh
drwxr-xr-x. 2 hadoop hadoop 231 3月 8 09:07 softwares
2.7 安装JDK
【操作目的】
Hadoop集群的运行依赖于Java环境,因此在安装Hadoop之前需要安装好JDK。
【操作步骤】
JDK的安装步骤如下:
1.卸载系统自带的JDK
执行以下命令,查询系统已安装的Java:
[hadoop@localhost ~]$ rpm -qa|grep java
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
tzdata-java-2016g-2.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
执行以下命令,删除以上查询出的系统自带JDK:
sudo rpm -e --nodeps
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 tzdata-java-2016g-2.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
2.安装JDK
上传安装包jdk-8u101-linux-x64.tar.gz到目录/opt/softwares中,然后进入目录/opt/softwares,解压jdk-8u101-linux-x64.tar.gz到目录/opt/modules中,解压命令如下:
[hadoop@centos01 softwares]$ tar -zxf jdk-8u101-linux-x64.tar.gz -C /opt/modules/
修改文件/etc/profile,配置JDK环境变量:
[hadoop@centos01 softwares]$ sudo vi /etc/profile
在文件末尾加入以下内容:
export JAVA_HOME=/opt/modules/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH
刷新profile文件,使修改生效。
source /etc/profile
执行java -version命令,查看是否能成功输出JDK版本信息,信息如下:
[hadoop@centos01 softwares]$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
到此,JDK安装成功。
2.8 克隆虚拟机
【操作目的】
由于集群环境需要多个节点,当我们一个节点配置完毕后,可以通过VMware的克隆功能,将配置好的节点进行完整克隆,而不需要重新新建虚拟机和安装操作系统。
【操作步骤】
克隆之前,需先关闭操作系统。然后在VMware左侧的虚拟机列表中右键单击centos01虚拟机,选择【管理】/【克隆】,会出现【克隆虚拟机向导】窗口,直接单击【下一步】按钮即可。如下图所示。
在【克隆源】新窗口中,选择【虚拟机中的当前状态】选项,然后单击【下一步】按钮。如下图所示。
在【克隆类型】新窗口中,选择【创建完整克隆】选项,然后单击【下一步】按钮。如下图所示。
在新窗口中,【虚拟机名称】一栏填写为“centos02”,并单击【浏览】按钮,修改新虚拟机的存储位置,然后单击【完成】按钮。如下图所示。
克隆完成后,继续克隆虚拟机centos01,将克隆后的虚拟机名称改为centos03。
到此,centos02与centos03两台虚拟机就搭建完成了。
2.9 配置主机IP映射
【操作目的】
通过修改各节点的主机IP映射,可以方便的通过主机名访问集群中的其它主机。
【操作步骤】
(1)依次启动三台虚拟机,将主机centos02的主机名改为centos02,将主机centos03的主机名改为centos03。
(2)使用ifconfig命令查看三台虚拟机的IP,并将centos02与centos03的IP分别改为固定IP。本例三台主机IP分别为:
192.168.170.133
192.168.170.134
192.168.170.135
(3)在各个节点上分别执行以下命令,修改hosts文件:
sudo vi /etc/hosts
在hosts文件中加入以下内容:
192.168.170.133 centos01
192.168.170.134 centos02
192.168.170.135 centos03
注意:每个节点的hosts文件中都要加入同样的内容,这样可以保证每个节点都可以通过主机名访问到其它节点。
(4)配置完后,使用ping命令检查是否配置成功,如下:
ping centos01
ping centos02
ping centos03
(5)最后,配置一下本地Windows系统的主机IP映射,方便本地通过主机名直接访问虚拟机。进入Windows操作系统的目录C:\Windows\System32\drivers\etc编辑hosts文件,加入以下内容:
192.168.170.133 centos01
192.168.170.134 centos02
192.168.170.135 centos03
原创文章,转载请注明出处!!