今天,记录一下CentOS7x86-64bit+JDK1.8+hadoop2.7.2安装部署过程。
环境介绍及规划
[root@master etc]# cat redhat-release
CentOS Linux release 7.2.1511 (Core)
192.168.1.200 master
192.168.1.201 slave1
192.168.1.202 slave2
我这里用的是CentOS7x86-64bit的。为了节约时间,我们可以安装一台虚拟机后,再进行虚拟机的复制,拷贝出另外两台虚拟机。不过需要注意虚拟机在开机时,第二台和第三台要选择copy模式,或者自行去修改网卡的mac地址。这一部分内容不在这里赘述,如果需要,可在网上自行查阅相关文档。
准备好三台虚拟机后,我们来进行下面的部署配置,一起来吧!
一、配置主机名及IP地址
CentOS7中,修改主机名的配置文件是/etc/hostname
[root@master etc]# vim hostname
master
IP地址的修改
[root@master ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=c8299190-539a-4ba2-b34c-1c4f72d10e09
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
二、修改hosts本地解析文件
[root@master ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.200 master
192.168.1.201 slave1
192.168.1.202 slave2
三、关闭防火墙和SELinux
切记一定要关闭,否则hadoop启动会出错。CentOS7下的防火墙命令与之前版本略有不同。如下
[root@master ~]# systemctl stop firewalld.service #关闭防火墙,但系统重启后会再次启动
[root@master ~]# systemctl disable firewalld.service #彻底关闭,重启后也不会再跟着系统启动
查看防火墙的状态:两个命令都可以<pre name="code" class="html">[root@master ~]# firewall-cmd --state
not running
[root@master ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
关闭SELinux
[root@master ~]# setenforce 0 #关闭当前SELinux,单系统重启后,SELinux还会启动
[root@master ~]# vim /etc/selinux/config #修改SELinux配置文件,系统重启后也不会再启动SELinux
SELINUX=disabled
查看SELinux状态
[root@master ~]# sestatus
SELinux status: disabled
四、创建hadoop用户:grid
[[root@master ~]# useradd grid -s /bin/bash
[root@master ~]# passwd grid
Changing password for user grid.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@master ~]#
注意:以上四步需要大家在三台虚拟机上都要做配置。IP和主机名可以根据我们之前的环境规划来配置。
五、配置免密码SSH登陆
hadoop各个节点之间需要数据通信,为了方便操作,在数据通信时,不要我们再逐台输入密码。我们需要配置免密码登录的ssh。
首先我们在master主机上,切换到grid用户下,配置grid用户的免密码登陆
1、创建公、私密钥 注意这一步在三台虚拟机上都要执行
[root@master ~]# su - grid
[grid@master ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_rsa):
Created directory '/home/grid/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
11:ea:24:ab:26:1f:f2:a6:1f:47:72:76:f8:a0:8f:ec grid@master
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . . |
|