实验环境
CentOS镜像为CentOS-7-x86_64-Everything-1804.iso
虚机配置
节点名称 | IP地址 | 子网掩码 | CPU/内存 | 磁盘 | 安装方式 |
---|---|---|---|---|---|
master | 192.168.204.101 | 255.255.255.0 | 1核心/4GB | 100GB | GNOME Desktop |
slave1 | 192.168.204.111 | 255.255.255.0 | 1核心/2GB | 100GB | Minimal Install |
slave2 | 192.168.204.112 | 255.255.255.0 | 1核心/2GB | 100GB | Minimal Install |
软件清单
软件名称 | 版本号 |
---|---|
Hadoop | 2.8.1 |
Hive | 2.1.1 |
Sqoop | 1.4.6 |
Java | 1.8.0_131 |
MariaDB | 5.5.60 |
Python | 2.7.5/3.6.2 |
配置基本环境
安装虚拟机
master节点以GNOME Desktop
安装
slave节点以Minimal Install
安装
用户名 | 密码 |
---|---|
root | hadoop |
hadoop | hadoop |
配置网络
该项同时在master、slave1、slave2节点配置。
该项使用root
身份配置。
检查网络连通性
[root@localhost ~]# ping 114.114.114.114 -c 4
修改dns地址
[root@localhost ~]# vi /etc/resolv.conf
#修改为
nameserver 223.5.5.5
更换阿里yum源 [1]
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
更换阿里pip源 [2]
mkdir ~/.pip/
vim ~/.pip/pip.conf
写入以下内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
yum方式安装基本工具
[root@localhost ~]# yum install -y tree vim epel-* net-tools ntpdate wget
编辑网络配置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
根据虚机配置表配置以下信息
TYPE="Ethernet"
UUID="17cd99b5-4414-4f6e-b7a3-e573104dd306"
ONBOOT="yes"
DEVICE="ens33"
NAME="ens33"
BOOTPROTO="static"
IPADDR=192.168.204.101
NETMASK=255.255.255.0
GATEWAY=192.168.204.2
DNS1=223.5.5.5
保存退出后,重启网络服务
[root@localhost ~]# systemctl restart network
查看网络信息
[root@localhost ~]# ifconfig
配置防火墙
该项同时在master、slave1、slave2节点配置。
该项使用root
身份配置。
关闭并禁止自动启动防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
禁止SELinux
[root@localhost ~]# setenforce 0
配置禁止开机自启SELinux
[root@localhost ~]# vim /etc/selinux/config
将SELINUX=enforcing
改成SELINUX=disabled
修改主机名
该项同时在master、slave1、slave2节点配置。
该项使用root
身份配置。
修改network配置文件
[root@localhost ~]# vim /etc/hostname
主节点修改为master
,从节点相应修改为slave1
,slave2
输入以下命令(从节点修改为相应名称)
[root@localhost ~]# hostname master
重启虚机
[root@localhost ~]# reboot
重新进入控制台,检验修改
[root@master ~]# hostname
修改hosts文件
该项同时在master、slave1、slave2节点配置。
该项使用root
身份配置。
输入以下命令,配置hosts文件
[root@master ~]# vim /etc/hosts
根据实验环境,添加以下条目至hosts文件
192.168.204.101 master
192.168.204.111 slave1
192.168.204.112 slave2
检查hosts是否生效
ping master
ping slave1
ping slave2
配置时钟同步
该项同时在master、slave1、slave2节点配置。
该项使用root
身份配置。
配置定时任务
crontab -e
#输入以下配置,设置同步时间的定时任务
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
使用下列命令,使时间立即同步
/usr/sbin/ntpdate cn.pool.ntp.org
配置免密登录
该项使用hadoop
用户身份配置。
该项按照步骤依次在各个节点配置。
主节点master
在主节点master输入以下命令生成秘钥
[hadoop@master ~]$ ssh-keygen -t rsa
复制公钥文件
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
从节点slave1
在从节点slave1输入以下命令生成秘钥,并将秘钥发送