###基础环境
1.操作系统 Centos7 x86_64
2.Ambari 2.5.0.3
IP地址|机器名|用途|简称 --|--|-- 192.168.0.125|ambri.example.com|ambri的服务|ambari 192.168.0.124|node1.example.com|hadoop NameNode|node1 192.168.0.110|node2.example.com|hadoop DateNode|node2
配置DNS
实现
node1
和node2
的IP地址的映射
修改/etc/hosts
,内容如下:
[root@ambari .ssh]# cat /etc/hosts
192.168.0.125 ambari.example.com ambari
192.168.0.124 node1.example.com node1
192.168.0.110 node2.example.com node2
127.0.0.1 localhost.loaldomain localhost
::1 localhost6.localdomain6 localhost6
###配置 ambari
无密码登陆node1
和node2
在安装集群的时候
ambari
会自动在node1
和node2
上自动安装ambari-agent
使用root
账号登陆ambari
,执行下面的指令,生成ssh
的公钥和私钥
[root@ambari .ssh]# ssh-keygen -t rsa
一路 Enter
后会在/root/.ssh/
下创建两个文件
[root@ambari .ssh]# ll
总用量 12
-rw------- 1 root root 1675 5月 24 20:12 id_rsa
-rw-r--r-- 1 root root 407 5月 24 20:12 id_rsa.pub
分别在node1
和node2
也执行该指令ssh-keygen -t rsa
使用下面的指令、将公钥文件分别发送给node1
和node2
[root@ambari .ssh] ssh node1 "cat>~/.ssh/authorized_keys"<~/.ssh/id_rsa.pub
此次需要输入node1的密码
[root@ambari .ssh] ssh node2 "cat>~/.ssh/authorized_keys"<~/.ssh/id_rsa.pub
此次需要输入node2的密码
发送完成后,通过ssh node1
和ssh node2
来验证是否需要输入密码,如果不需要输入密码则表示设置成功。若还需要输入密码,则分别到node1
和node2
上设置authorzied_keys
文件的权限为700
关闭防火墙
[root@ambari .ssh] systemctl disable firewalld
关闭SELinux
修改/etc/selinux/config
文件,禁用selinux
.
内容如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
该设置需要重启电脑才生效,也可以通过下面的指令临时禁用selinux
[root@ambari .ssh]# setenforce 0
配置Ambari
的本地镜像
由于本地网络访问
Hortonworks
的镜像网速很慢,所以搭建本地镜像,本次是部署在node1
上.需要登陆到node1
进行操作 下载相关的文件
[root@ambari .ssh] mkdir -p /home/www/
[root@ambari .ssh] cd /home/www/
[root@ambari www] wget -c http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3/ambari-2.5.0.3-centos7.tar.gz
[root@ambari www] wget -c http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.0.3/HDP-2.6.0.3-centos7-rpm.tar.gz
[root@ambari www] http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
下载完成后分别进行解压,最后的目录结构如下:
├── Ambari-2.5.0.3
│ └── centos7
│ ├── ambari
│ ├── ambari.repo
│ ├── build.id
│ ├── build_metadata.txt
│ ├── repodata
│ ├── RPM-GPG-KEY
│ ├── smartsense
│ └── tars
└── hdp
├── HDP
│ └── centos7
└── HDP-UTILS-1.1.0.21
├── epel-release-6-8.noarch.rpm
├── extjs
├── fping
├── ganglia
├── hadoop-lzo
├── hdp-util.repo
├── libconfuse
├── lucid
├── lzo
├── mysql
├── mysql-connector-java
├── nagios
├── nagios-plugins
├── openblas
├── pdsh
├── perl
├── R
├── repodata
├── RPM-GPG-KEY
├── rrdtool
└── snappy
使用Nginx
作为静态资源服务器(关于Nginx的安装这里跳过),最终结果是通过 http://node1.example.com/Ambari-2.5.0.3
和http://node1.example.com/hdp
能够进行目录浏览。 修改ambari.repo
文件(路径/home/www/Ambari-2.5.0.3/centos7/ambari.repo
),内容如下:
[ambari-2.5.0.3]
name=ambari Version - ambari-2.5.0.3
#baseurl=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3
baseurl=http://node1.example.com/Ambari-2.5.0.3/centos7
gpgcheck=1
gpgkey=http://node1.example.com/Ambari-2.5.0.3/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
本地镜像配置完成 这里要记住几个BaseUrl
,在安装集群的时候会使用到
BaseURL|URL --|-- hdp|http://node1.example.com/hdp/HDP/centos7 hdp-utils |http://node1.example.com/hdp/HDP-UTILS-1.1.0.21 ambari|http://node1.example.com/Ambari-2.5.0.3/centos7
安装Ambari-Server
使用root
登录到ambari
,执行下面的指令
[root@ambari .ssh]# wget -nv http://node1.example.com/Ambari-2.5.0.3/centos7ambari.repo -O /etc/yum.repos.d/ambari.repo
[root@ambari .ssh]# yum -y install ambari-server
[root@ambari .ssh]# ambari-server setup
[root@ambari .ssh]# ambari-server start
这里是第一次入手Ambari
,配置就是一路默认就行
配置开机启动
进入目录
[root@ambari .ssh]# cd /lib/systemd/system/
创建文件ambari.service
,写入如下内容:
[Unit]
Description=Ambari Server
After=network.target
[Service]
User=root
Group=root
Type=forking
ExecStart=/usr/sbin/ambari-server start
ExecStop=/usr/sbin/ambari-server stop
[Install]
WantedBy=multi-user.target
设置开机启动
[root@ambari .ssh]# systemctl enable ambari
默认是在8080端口监听,可以在浏览器中输入 http://ambari.example.com:8080
查看部署效果
效果展示(来几张图)
比较遗憾,创建集群的时候忘记截图了,在进行集群创建的时候选择local repository
,填入本地的BaseURL
,这样会比较节省时间。