配置网络
所有节点都要执行以下操作,并且这里假设服务器的IP及host预期如下
IP | hostname | 文件服务器 | NameNode | DataNode |
192.168.100.1 | node1.sunny.cn |
| √ |
|
192.168.100.2 | node2.sunny.cn | √ | √ |
|
192.168.100.3 | node3.sunny.cn |
|
| √ |
192.168.100.4 | node4.sunny.cn |
|
| √ |
192.168.100.5 | node5.sunny.cn |
|
| √ |
这里要强调的是,hostname必须是FQDN格式,即全称域名,要求hostname必须是域名格式,而不能是 node1、namenode1这种,可参考上面表格。
1 修改IP及MAC
注:虚拟机需要设置MAC地址,物理机不需要
命令:
vi /etc/sysconfig/network-script/ifcfg-eth0
输入以下内容:
DEVICE=eth0 #网卡标识
UUID=b3fa1717-8014-41a8-a00a-e64223033235 #(物理机每台不相同,系统自动生成)
HWADDR=00:0C:29:FF:4F:66 #MAC地址(物理机每台不相同,系统自动生成)
TYPE=Ethernet
ONBOOT=yes #(默认是no)
NM_CONTROLLED=yes
BOOTPROTO=static #(配置静态网络连接)
DEFROUTE=yes
PEERNDS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
USERCTL=no
IPADDR0=192.168.0.166 #指定的IP
GATEWAY=192.168.0.1 #网关
NETMASK=255.255.255.0
2 配置hostname
命令:vi /etc/sysconfig/network
输入以下内容:
NETWORKING=yes
HOSTNAME= node1.company.cn
GATEWAY=192.168.0.1 #(此处应根据实际情况)
3 重启网络
命令:
service network restart
如果返回结果全提示“ok”则表明成功,否则需要从2.1开始检查
重启后ping一下局域网内其他机器,检验是否可互联
从现在开始,就不需要在物理机上敲命令了,现在你可以在一台连接到集群所在内网的机器,使用Xshell等终端工具,方便的操作配置集群环境了。
4 关闭防火墙
service iptables stop
chkconfig iptables off
service iptables status #查看状态
5 设置hosts
设置所有机器的IP和hostname映射
命令:
vi /etc/hosts
内容如下(不要删除hosts文件中原来的内容)
192.168.100.1 node1.sunny.cn
192.168.100.2 node2.sunny.cn fileserver.cn
192.168.100.3 node3.sunny.cn
192.168.100.4 node4.sunny.cn
192.168.100.5 node5.sunny.cn
6 设置SSH免密登录
7 设置文件打开数的最大值
修改限制文件
vi /etc/security/limits.conf
添加
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
编辑
vi /etc/pam.d/login
添加
session required pam_limits.so
然后重启服务器
shutdown -r now
8 搭建文件服务器
根据服务器配置清单,选择一台服务器作为文件服务器
在文件服务器以root权限创建文件服务器目录
命令:
mkdir -p /var/www/http
将移动硬盘安装包中的sdp、HDP、HDP-UTILS、util、centos6.5放到/var/www/http目录下
推荐工具:WinSCP、xftp
将util/yum.tar.gz放到/var/cache/ 并解压
cd /var/cache
cp /var/www/html/util/yum.tar.gz ./
tar zxvf yum.tar.gz
安装httpd服务
yum -C -y install httpd
启动服务并设置开机启动
service httpd start
chkconfig httpd on
修改安全设置
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重启机器
reboot
文件服务器搭建完毕
9 配置yum源
将仓库文件util/ambari.repo分发给各节点:
scp /var/www/html/util/ambari.repo root@node1.company.cn:/etc/yum.repos.d/
scp /var/www/html/util/ambari.repo root@node2.company.cn:/etc/yum.repos.d/
scp /var/www/html/util/ambari.repo root@node3.company.cn:/etc/yum.repos.d/
scp /var/www/html/util/ambari.repo root@node4.company.cn:/etc/yum.repos.d/
scp /var/www/html/util/ambari.repo root@node5.company.cn:/etc/yum.repos.d/
删除各节点上的其他仓库文件(所有节点执行命令)
rm -rf /etc/yum.repos.d/CentOS*
10 安装环境需要的工具
在所有节点上执行以下命令
yum -y install wget ntp vim rpm vixie-cron crontab lrzsz
11 安装配置JDK
12 配置时间服务器
所有节点都要确保已安装ntpd(在步骤4已安装)
通过ntp同步集群服务器时间:
1.首先选择一台服务器作为时间服务器。
假设选定为node1.company.cn服务器为时间服务器。
2.ntp服务器的配置
修改ntp.conf文件:
vi /etc/ntp.conf
一共修改三处内容,将#去掉,并且将网段修改正确。
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
将以下4个server进行#注释掉。
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
最后添加俩句话:
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10
3.编辑/etc/sysconfig/ntpd文件
vim /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
4.设置正确时间,启动ntpd服务,并且设置开机启动
date -s ‘2017-01-01 01:01:01’
service ntpd start
在/etc/rc.local中添加如下ntp服务器的启动命令行
/etc/init.d/ntpd start
5.root账户下在每个需要同步的子节点编写crontab任务。
命令:
crontab -e
输入以下内容:
0-59/10 * * * * /usr/sbin/ntpdate node1.company.cn
这个任务的意义就是每10分钟和node1同步时间。
6.执行命令立刻同步服务器时间。
/usr/sbin/ntpdate node1.company.cn