1. 准备工作
1.1. 系统环境
主机列表:
IP 地址 | HostName | 描述 |
192.168.610.153 | ambari.server | Ambari 服务器 |
192.168.10.152 | hadoop.namenode | Hadoop NameNode 服务器 |
192.168.10.151 | hadoop.datanodeone | Hadoop DataNode 服务器 |
192.168.10.147 | hadoop.datanodetwo | Hadoop DataNode 服务器 |
操作系统:
CentOS 7 Minimal 版
登录用户
root
环境说明:
本文中所用的安装方式为 yum 在线安装, 所有机器需可以访问外网.
CentOS 纯净版初始状态网卡为禁用状态, 系统安装完成后需要执行如下操作:
1) 进入 / etc/sysconfig/network-scripts / 目录, 找到 ifcfg-e...... 名称的文件, 如 ifcfg-ens33
2)vi 编辑改文件将 ONBOOT 设为 yes, 并增加 NM_CONTROLLED,DNS 项, 具体代码如下:
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- ONBOOT=yes
- NM_CONTROLLED=no
- DNS1=8.8.8.8
- DNS2=4.2.2.2
3) 保存退出后, 重新启动网络连接
service network restart
4) ip addr 命令查看本机 IP 地址, 或使用 ping www.baidu.com 命令查看是否可以访问外网.
5) 配置完成后, 可使用 SSH 工具从其他电脑登录此虚拟机操作, 推荐使用 XShell
1.2. 修改机器名, 配置 Hosts 文件
为每个主机修改 Hostname, 其名称参考 1.1 中的表格, 如 ambari.server
hostnamectl set-hostname ambari.server
编辑每台机器的 / etc/hosts 文件, 在原有文件末尾加入以下信息
- 192.168.10.153 ambari.server
- 192.168.10.152 hadoop.namenode
- 192.168.10.151 hadoop.datanodeone
- 192.168.10.147 hadoop.datanodetwo
修改完成后使用 reboot 命令重启每台机器
1.3. 开启 ntp 服务
为每台设备安装, 开启 npt 服务, 并设置为开机启动
1) 安装 ntp
yum install -y ntp
2) 设置 ntp 开机启动
systemctl enable ntpd
3) 启动 ntp 服务
systemctl start ntpd
4) 所有机器设置时间同步
- cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- ntpdate us.pool.ntp.org
1.4. 关闭 Selinux 及防火墙
为每台机器执行如下操作:
1)vi /etc/sysconfig/selinux 并添加如下代码
- # vi /etc/sysconfig/selinux
- selinux=disalbed
2) 关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
1.5. 配置 SSH 免密登录
1) 在 ambari.server 执行如下操作生成密钥
SSH-keygen -t rsa
所有选项均按回车键, 直到生成密钥.
密钥文件存放于~/.SSH 目录下
私钥: id_rsa
公钥: id_rsa.pub
2) 在除 ambari.server 以外的其他机器上创建~/.SSH 目录
mkdir ~/.SSH
3) 在 ambari.server 上执行如下命令, 发送密钥至其他服务器
- scp ~/.SSH/id_rsa.pub hadoop.namenode:/root/.SSH/authorized_keys_from_ambari
- scp ~/.SSH/id_rsa.pub hadoop.datanodeone:/root/.SSH/authorized_keys_from_ambari
- scp ~/.SSH/id_rsa.pub hadoop.datanodetwo:/root/.SSH/authorized_keys_from_ambari
4) 在除 ambari.server 以外的其他机器上执行如下命令, 合并公钥:
- cd ~/.SSH
- cat authorized_keys_from_ambari>> authorized_keys
5) 在所有机器上执行如下命令
- chmod 700 ~/.SSH
- chmod 600 ~/.SSH/*
1.6 安装 JDK
当前 Ambari 推荐使用 openjdk1.8.0, 需要在每台机器上执行相同操作, 命令如下:
1) 安装 JDK
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
2) 进入安装目录 / usr/lib/jvm / 找到 java-1.8.0-openjdk-1.8.0....... 的文件夹并将 $JAVA_HOME 这是为该目录, 如 java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/
3) 使用 java -vsersion 命令, 验证 JDK 是否安装配置成功
1.7 设置 UTF8 字符集
在每个机器执行如下指令:
- cat <<EOF> /etc/locale.conf
- LANG="en_US.UTF-8"
- SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_CN.gb18030:en_US.UTF-8:en_US:en"
- SYSFONT="lat0-sun16"
- EOF
2. 配置 Ambari 本地下载站
下列操作只在 ambari.server 机器上执行
2.1. 下载本地库文件
2.1.1. 下载准备
纯净的 CentOS 中未安装 wget, 需要安装 wget 包
yum install -y wget
本文中对应的 Ambari 版本为 2.7.3, 若需要其他版本, 请在 https://docs.hortonworks.com/ 中查找
2.1.2. 下载本地库
该操作耗时较长, 可以选择在服务器上执行
执行如下代码, 下载本地库:
- wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz
- wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz
- wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
- wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/HDP-GPL-3.1.0.0-centos7-gpl.tar.gz
2.2. 配置本地下载站
1) 安装 httpd 服务
yum install -y httpd
2) 创建站点目录, 将本地库压缩包解压至对应目录
- mkdir /var/www/html/ambari
- mkdir /var/www/HTML/ambari/HDP-UTILS
- mkdir /var/www/HTML/ambari/HDP-GPL
- tar -xvf ambari-2.7.3.0-centos7.tar.gz -C /var/www/HTML/ambari/
- tar -xvf HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/HTML/ambari/
- tar -xvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/HTML/ambari/HDP-UTILS
- tar -xvf HDP-GPL-3.1.0.0-centos7-gpl.tar.gz -C /var/www/HTML/ambari/HDP-GPL
3) 启动 httpd 服务
systemctl start httpd
4) 打开浏览器, 访问本地下载站 http://192.168.10.153/ambari/, 若出现以下界面则配置成功
2.3. 配置 YUM 源
1) 在 ambari.server 上执行:
yum install -y yum-plugin-priorities
2) 修改 Yum 安装源的校验
vi /etc/yum/pluginconf.d/priorities.conf
设置为以下内容
- [main]
- enabled=1
- gpgcheck=0
3) 配置 repo 文件
该步骤中 baseurl 和 gpgkey 地址需要和上一步对应
- cat <<EOF> /etc/yum.repos.d/ambari.repo
- #VERSION_NUMBER=2.7.3.0-139
- [ambari-2.7.3.0]
- name=ambari Version - ambari-2.7.3.0
- baseurl=http://192.168.10.153/ambari/ambari/centos7/2.7.3.0-139/
- gpgcheck=1
- gpgkey=http://192.168.10.153/ambari/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
- enabled=1
- priority=1
- EOF
- cat <<EOF> /etc/yum.repos.d/hdp.repo
- #VERSION_NUMBER=3.0.1.0-187
- [HDP-3.0.1.0-187]
- name=HDP Version - HDP-3.0.1.0-187
- baseurl=http://192.168.10.153/ambari/HDP/centos7/3.0.1.0-187/
- gpgcheck=1
- gpgkey=http://192.168.10.153/ambari/HDP/centos7/3.0.1.0-187/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
- enabled=1
- priority=1
- [HDP-UTILS-1.1.0.21]
- name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
- baseurl=http://192.168.10.153/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/
- gpgcheck=1
- gpgkey=http://192.168.10.153/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
- enabled=1
- priority=1
- EOF
4) 更新本地资源池
- yum clean list
- yum update list
- yum makecache
更新完成后查看资源池
yum repolist
显示如下内容则配置成功
已加载插件: fastestmirror, priorities
- Loading mirror speeds from cached hostfile
- * base: mirrors.tuna.tsinghua.edu.cn
- * extras: mirrors.163.com
- * updates: mirrors.163.com
- 4 packages excluded due to repository priority protections
源标识 源名称 状态
- HDP-3.0.1.0-187 HDP Version - HDP-3.0.1.0-187 197
- HDP-UTILS-1.1.0.21 HDP-UTILS Version - HDP-UTILS-1.1.0.21 16
- ambari-2.7.3.0 ambari Version - ambari-2.7.3.0 13
- base/7/x86_64 CentOS-7 - Base 10,015+4
- extras/7/x86_64 CentOS-7 - Extras 419
- updates/7/x86_64 CentOS-7 - Updates 2,137
- repolist: 12,797
3. 安装启动 Ambari
该项中的所有操作均在 ambari.server 上执行
3.1. 安装 Ambari-Server
本次安装采用 YUM 远程安装, 数据库采用默认数据库. 安装命令如下.
yum install -y ambari-server
3.2. 配置 Ambari-Server
配置命令如下:
ambari-server setup
配置命令中需要的各个选项如下, 注意其中 jdk 选择自定义,$JAVA_HOME 变量与上文 1.6 中保持一致:
- Using python /usr/bin/python
- Setup ambari-server
- Checking SELinux...
- SELinux status is 'enabled'
- SELinux mode is 'permissive'
- WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
- OK to continue [y/n] (y)?
- Customize user account for ambari-server daemon [y/n] (n)?
- Adjusting ambari-server permissions and ownership...
- Checking firewall status...
- Checking JDK...
- [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
- [2] Custom JDK
- ==============================================================================
- Enter choice (1): 2
- WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
- WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
- Path to JAVA_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/
- Validating JDK on Ambari Server...done.
- Check JDK version for Ambari Server...
- JDK version found: 8
- Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
- Checking GPL software agreement...
- GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
- Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)?
- Completing setup...
- Configuring database...
- Enter advanced database configuration [y/n] (n)?
- Configuring database...
- Default properties detected. Using built-in database.
- Configuring ambari database...
- Checking PostgreSQL...
- Running initdb: This may take up to a minute.
- Initializing database ... OK
- About to start PostgreSQL
- Configuring local database...
- Configuring PostgreSQL...
- Restarting PostgreSQL
- Creating schema and user...
- done.
- Creating tables...
- done.
- Extracting system views...
- ambari-admin-2.7.3.0.139.jar
- ....
- Ambari repo file doesn't contain latest JSON url, skipping repoinfos modification
- Adjusting ambari-server permissions and ownership...
- Ambari Server 'setup' completed successfully.
3.3 启动 Ambari-Server
ambari-server start
启动成功后在浏览器中输入地址:
http://192.168.141.159:8080/#/login
若出现如下界面则配置成功
默认登录名密码均为 admin
来源: https://www.cnblogs.com/zklight/p/11097290.html