0%

Ambari 安装详细步骤

本文详细的介绍了 Ambari 安装步骤,包括基础环境设置、准备工作、安装Ambari和创建集群。

实验环境

Windows 10 安装 VMware虚拟机

1
2
3
4
5
192.168.72.131 Server1

192.168.72.132 Server2

192.168.72.133 Server3

版本信息

  • Linux:CentOS 7.6(CentOS-7-x86_64-DVD-1810.iso)

  • Java:1.8.0(jdk-8u131-linux-x64.tar.gz)

  • Ambari:2.7.1(ambari-2.7.1.0-centos7.tar.gz)

  • HDP:3.0.1(HDP-3.0.1.0-centos7-rpm.tar.gz.tar)

下载

  • Ambari Repositories - Hortonworks Data Platform

https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.1.0/bk_ambari-installation/content/ambari_repositories.html

  • HDP 3.0.1 Repositories - Hortonworks Data Platform

https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.1.0/bk_ambari-installation/content/hdp_30_repositories.html

环境设置

设置静态 IP

1
2
3
4
5
cd /etc/sysconfig/network-scripts

cp ifcfg-ens33 ifcfg-ens33.bak

vim ifcfg-ens33

根据实际情况修改如下信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="7340f7b1-d3e4-4e2b-a9a3-05d71b8ac8b4"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.72.131"

GATEWAY="192.168.72.2"

NETMASK="255.255.255.0"

DNS1="192.168.72.2"

NM_CONTROLLED="no"

DNS1需要与GATEWAY一样,虚拟机查看子网掩码和网关的路径为:

VMware —— 编辑 —— 虚拟网络编辑器 —— NAT模式 —— NAT设置

重启网络

1
systemctl restart network

关闭防火墙

  • 查看防火墙状态
1
systemctl status firewalld

查看开机是否启动防火墙服务

1
systemctl is-enabled firewalld
  • 关闭防火墙
1
2
3
systemctl stop firewalld

systemctl disable firewalld

再次查看防火墙状态和开机防火墙是否启动

1
2
3
systemctl status firewalld

systemctl is-enabled firewalld
  • 禁用selinux

永久性关闭selinux(重启服务器生效)

1
2
3
vim /etc/sysconfig/selinux

SELINUX=disabled

重启系统

1
shutdown -r now

查看selinux状态

1
getenforce

disabled为永久关闭,permissive为临时关闭,enforcing为开启

安装工具

1
yum install lrzsz -y

安装jdk

jdk 1.8.0_131 版本下载地址:

链接:https://pan.baidu.com/s/1jsLxPkmH1nRfnICYOGK_ow

提取码:3l6y

创建存放目录

1
2
3
mkdir -p /usr/local/java

cd /usr/local/java/

上传 jdk-8u131-linux-x64.tar.gz

1
tar -xzvf jdk-8u131-linux-x64.tar.gz
1
vim /etc/profile

结尾添加

1
2
3
4
5
6
7
JAVA_HOME=/usr/local/java/jdk1.8.0_131

CLASSPATH=.:\$JAVA_HOME/lib.tools.jar

PATH=\$JAVA_HOME/bin:\$PATH

export JAVA_HOME CLASSPATH PATH

生效配置

1
source /etc/profile

查看版本信息

1
java -version

将jdk文件传输到其它主机

在 Server2 和 Server3 中执行

1
2
3
mkdir -p /usr/local/java

cd /usr/local/java/

在Server1中执行

1
2
3
scp -r jdk1.8.0_131/ root@192.168.72.132:/usr/local/java/jdk1.8.0_131
scp -r /usr/local/java/jdk1.8.0_131/ root@192.168.72.132:/usr/local/java/jdk1.8.0_131
scp -r /usr/local/java/jdk1.8.0_131/ root@192.168.72.133:/usr/local/java/jdk1.8.0_131

然后配置环境变量。

安装MySQL

只在Server1上安装

1
2
3
4
5
6
7
8
9
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force

yum install mysql-server

service mysqld status

systemctl start mysqld

MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

1
2
3
4
5
6
grep 'temporary password' /var/log/mysqld.log

mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> SET PASSWORD FOR 'root'@'localhost'= "Root-123";
mysql> exit

用root新密码登录:

1
mysql -u root -pRoot-123

配置远程登录

允许使用用户名 root 密码 Root-123456 从任何主机连接到mysql服务器

1
2
3
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root-123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;

创建ambari数据库及用户,登录root用户执行下面语句:

1
2
3
4
create database ambari character set utf8 ;  
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

安装mysql jdbc 驱动

1
yum install mysql-connector-java

设置host

1
vim /etc/hosts

输入 ip 和 hostname

1
2
3
4
5
192.168.72.131 Server1

192.168.72.132 Server2

192.168.72.133 Server3

测试下,分别在三台机器上执行,都能ping通则说明配置成功

1
2
3
4
5
ping Server1

ping Server2

ping Server3

SSH免密

Server1:

1
ssh-keygen -t rsa

一路回车

1
2
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys

Server2:

1
ssh Server2

Server3:

1
ssh Server3

Server1:

1
scp ~/.ssh/authorized_keys Server2:~/.ssh/

Server2:

1
ssh-keygen -t rsa

1
2
3
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys Server3:~/.ssh/

Server3:

1
2
3
4
5
ssh-keygen -t rsa
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys Server1:~/.ssh/
scp ~/.ssh/authorized_keys Server2:~/.ssh/

各个节点检查 known_hosts

1
cat ~/.ssh/known_hosts

如果缺少哪个节点,就ssh 哪个节点

最后在每个节点验证ssh 其它节点可以免密

准备工作

开启NTP服务

所有节点执行

1
2
3
4
5
6
7
yum install ntp -y

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

安装HTTP服务

Server1:

1
yum install httpd

启动

1
2
3
systemctl start httpd.service

systemctl enable httpd.service

安装本地源制作相关工具

1
yum install yum-utils createrepo

配置本地源

切换目录

1
cd /etc/yum.repos.d/

编辑ambari.repo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[ambari]

name=ambari

baseurl=http://192.168.72.131/ambari/ambari/centos7/2.7.1.0-169

enabled=1

gpgcheck=0

HDP.repo

[HDP]

name=HDP

baseurl=http://192.168.72.131/ambari/HDP/centos7/3.0.1.0

path=/

enabled=1

gpgcheck=0

编辑HDP-UTILS.repo

1
2
3
4
5
6
7
8
9
10
11
[HDP-UTILS]

name=HDP-UTILS

baseurl=http://192.168.72.131/ambari/HDP-UTILS/centos7/1.1.0.22

path=/

enabled=1

gpgcheck=0

在所有节点都要更新源

1
2
3
4
5
6
7
yum clean all

yum list update

yum makecache

yum repolist

安装Ambari

1
yum install ambari-server

配置Ambari

1
ambari-server setup

数据库密码填写之前设置的密码:Ambari-123

初始化数据库

1
2
3
4
mysql -uambari –pAmbari-123
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
exit;

启动ambari

1
ambari-server start

登录

浏览器输入:http://192.168.72.131:8080

默认用户名/密码:admin/admin

创建集群

  • 命名集群

  • 选择版本

填写刚才配置的repo文件中的地址

1
2
3
http://192.168.72.131/ambari/HDP/centos7/3.0.1.0

http://192.168.72.131/ambari/HDP-UTILS/centos7/1.1.0.22
  • 注册主机

通过cat /root/.ssh/id_rsa查看私钥内容。

  • 安装服务

  • 参数配置

  • 检查

  • 安装进度

  • 安装概要

  • 查看仪表盘

参考资料