Ambari安装大数据集群
本文是基于CentOS 7.3系统环境,学习和使用大数据集群:
- CentOS-7.3-x86_64-DVD-1611.iso
- ambari-2.6.0.0-centos7.tar.gz
- HDP-2.6.3.0-centos7-rpm.tar.gz
- HDP-UTILS-1.1.0.21-centos7.tar.gz
一、集群配置
(1)集群列表
大数据集群由5台虚拟服务器组成,4核,6G内存,100G硬盘,集群信息列表如下
hostname | CPU | 内存 | 硬盘 | IP地址 |
---|---|---|---|---|
master | 4核 | 6G | 100G | 192.168.0.201 |
slave01 | 4核 | 6G | 100G | 192.168.0.202 |
slave02 | 4核 | 6G | 100G | 192.168.0.203 |
slave03 | 4核 | 6G | 100G | 192.168.0.204 |
slave04 | 4核 | 6G | 100G | 192.168.0.205 |
(2)集群配置IP地址
- 登录每一台服务器,并进入IP地址配置目录
cd /etc/sysconfig/network-scripts/
- 使用vi命令,编辑网络配置文件ifcfg-eth0
vi ifcfg-eth0
- 修改IP地址
- 重启网络服务
systemctl restart network
(2)集群配置hostname
1. 修改主节点
登录主节点服务器(192.168.0.201),并使用hostnamectl命令修改hostname
hostnamectl --static set-hostname master
2. 修改从节点1
登录从节点1服务器(192.168.0.202),并使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave01
3. 修改从节点2
登录从节点2服务器(192.168.0.203),并使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave02
4. 修改从节点3
登录从节点3服务器(192.168.0.204),并使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave03
5. 修改从节点4
登录从节点4服务器(192.168.0.205),并使用hostnamectl命令修改hostname
hostnamectl --static set-hostname slave04
6. 重启所有的机器
shutdown -r now
7. 修改hosts配置文件
- 使用vi命令,编辑配置文件hosts
vi /etc/hosts
编辑内容如下:
8. 测试所有机器的连通性
- 使用ping命令,测试连通性
ping master
ping slave01
ping slave02
ping slave03
ping slave04
(3)配置免密登录
登录所有服务器,并执行以下命令,然后一路Enter
ssh-keygen -t rsa
登录slave01节点,将id_rsa.pub文件拷贝到master节点,执行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave01
登录slave02节点,将id_rsa.pub文件拷贝到master节点,执行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave02
登录slave03节点,将id_rsa.pub文件拷贝到master节点,执行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave03
登录slave04节点,将id_rsa.pub文件拷贝到master节点,执行以下命令
scp /root/.ssh/id_rsa.pub master:/root/.ssh/id_rsa.pub-slave04
登录master节点,将id_rsa.pub文件追加到authorized_keys,并将所有从节点发来的公钥也追加到authorized_keys,执行以下命令
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave01 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave02 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave03 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub-slave04 >> /root/.ssh/authorized_keys
在master节点,修改authorized_keys文件的权限,执行以下命令
chmod 600 /root/.ssh/authorized_keys
master节点将authorized_keys文件分发至所有的从节点,执行以下命令
scp /root/.ssh/authorized_keys slave01:/root/.ssh/
scp /root/.ssh/authorized_keys slave02:/root/.ssh/
scp /root/.ssh/authorized_keys slave03:/root/.ssh/
scp /root/.ssh/authorized_keys slave04:/root/.ssh/
(4)软件环境配置
1. JDK1.8安装
详细的安装教程参考Linux下安装java编程环境
2. 安装createrepo用于制作yum源仓库
以下是为了安装createrepo,而提前安装的依赖包,这些依赖包可以在CentOS-7.3-x86_64-DVD-1611.iso/Packages里面找到:
libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
deltarpm-3.6-3.el7.x86_64.rpm
python-deltarpm-3.6-3.el7.x86_64.rpm
createrepo-0.9.9-28.el7.noarch.rpm
3. 安装httpd用于提供web服务
以下是为了安装httpd,而提前安装的依赖包,这些依赖包可以在CentOS-7.3-x86_64-DVD-1611.iso/Packages里面找到:
apr-util-1.5.2-6.el7.x86_64.rpm
Apr-1.4.8-3.el7_4.1.x86_64.rpm
mailcap-2.1.41-2.el7.noarch.rpm
httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
httpd-2.4.6-88.el7.centos.x86_64.rpm
修改配置文件
cd /etc/httpd/conf/
vi httpd.conf
添加一行 ServerName localhost:80
修改防火墙,开放80端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
启用httpd服务
systemctl enable httpd.service
systemctl start httpd.service
重启服务器,并测试httpd服务,在浏览器访问192.168.0.201,如果成功访问,就说明httpd启用成功
4. 安装yum源
1.登录master节点,进入/var/www/html目录,新建centos7目录,将CentOS-7.3-x86_64-DVD-1611.iso中的Packages目录,拷贝到centos7目录中。
2.建立yum索引
createrepo /var/www/html/centos7/Packages
3.备份原始yum源配置文件
cd /etc/yum.repo.d
mdkir bak
mv *.repo ./bak
4.新建yum源配置文件
vi CentOS-Self,内容如下:
[self]
name=CentOS-Self
baseurl=http://192.168.0.201/centos7/Packages
gpgcheck=0
enabled=1
5.清除yum源缓存
yum clean all
6.验证yum源是否生效
yum list
7.其他节点配置
scp /etc/yum.repo.d/CentOS-Self.repo slave01:/etc/yum.repo.d
将所有的非 CentOS-Self.repo放入bak目录
yum clean all
yum list
5. 安装ntp,并配置时间同步
- 所有节点下载ntp
yum install ntp
- 服务端配置/etc/ntp.conf
- 弃用chronyd服务
systemclt disable chronyd
- 启用并开启ntpd服务
systemclt enable ntpd
systemclt start ntpd
- 客户端配置crontab
crontab –e # 进入crontab进行编辑
* */1 * * * /usr/sbin/ntpdate master # 与vi类似,按i进行编辑,wq保存退出
- 配置crontab开机自启动
systemclt enable crond