鲲鹏搭建ambari以及项目部署说明
1.介绍
Ambari是Apache Software Foundation中的一个顶级项目,它可以创建、管理、监视Hadoop整个生态圈(例如Hive,Hbase,Sqoop,Zookeeper等)的集群,使得Hadoop以及相关的大数据软件更容易使用。
Ambari本身是一个分布式架构的软件,由Ambari Server和Ambari Agent两部分组成,用户可通过Ambari Server通知Ambari Agent安装对应的软件,Ambari Agent会定时地发送各个机器每个软件模块的状态给Ambari Server,最终这些状态信息会呈现在Ambari的GUI界面上,方便用户了解到集群的各种状态,并进行相应的维护。
1.1简要介绍
部署Ambari集群前,需准备每台服务器环境:安装OS(本文统一采用CentOS 7.6操作系统)、关闭SELinux权限、关闭防火墙等;部署Ambari集群的整体流程大致分为2步:
- 配置部署环境。
该步骤包括:更新本地yum源、安装Ambari Server、拷贝安装OpenJDK等。
- 部署Ambari Server。
软件 | 版本 |
OpenJDK | 1.8.0 |
Ambari | 2.7.3.0.0 |
该步骤包括:Ambari Server Setup、启动Ambari Server服务、安装Ambari Agent、安装组件、启动组件服务等。
1.2部署流程图
部署流程图如图1所示。
图1 部署流程图
1.3物理组网
物理组网方式如图2所示。
图2 物理组网
说明: yum源服务器最好单独拿一台服务器独立部署。
2.环境要求
表1 TaiShan服务器部署场景 | |
项目 | 说明 |
服务器 | TaiShan 200服务器 |
CPU | 华为鲲鹏920处理器 |
网络 | 可访问外网 |
磁盘分区 | 对磁盘分区无要求 |
3. 配置部署环境
3.1检查操作系统
表4 TaiShan服务器的操作系统要求 | |
项目 | 版本 |
CentOS | 7.6 aarch64 |
Kernel | 4.14.0 |
3.1.1检查操作系统版本。
cat /etc/redhat-release
说明: 支持的操作系统为CentOS 7.5 、7.6
3.1.2****检查操作系统默认语言。
echo $LANG
l 若操作系统默认语言为en_US.UTF-8,则进入3.1.3。
l 若操作系统默认语言非en_US.UTF-8,则执行以下步骤:
将默认语言由中文切换为英文。
echo ‘export LANG=en_US.UTF-8’>> ~/.bashrc
.将当前会话关闭后重新登录。
3.1.3设置操作系统时区。
操作系统时区统一设置为(Asia /Shanghai)。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
说明: 如果安装OS时已经将时区设置为Asia /Shanghai,则[3]*
(#kunpengambarihdp_04_0004__li54271650182818).1.3可忽略。
3.2设置域名解析
集群所有主机都必须配置域名解析,才能实现Server对Agent的顺利访问。建议由系统管理员统一配置,配置方法如下:
3.2.1在每台主机上设置相应的主机名。
l 编辑网络配置文件。
vi /etc/sysconfig/network
设置文件内容为:
NETWORKING=yes
HOSTNAME= {主机名}
l 设置主机名。
hostnamectl set-hostname {主机名}
3.2.2配置“/etc/hosts”。
l 为集群中每一台主机添加一行包含主机IP地址与完整主机名的信息。
vi /etc/hosts
例如:
l 可以在一台主机上配置,然后同步“/etc/hosts”到集群中所有节点上。
scp /etc/hosts root@{目标ip}:/etc/hosts**/**
l 重启所有节点网络服务。
systemctl restart network
3.2.3验证。
l hostname -i 正确返回主机IP地址
l hostname -f 正确返回主机名称
3.3关闭防火墙
说明: Ambari部署Hadoop集群时需要保证Ambari Server能够连接到Ambari Agent。
进行安装任务,集群所有主机都必须关闭防火墙。
systemctl disable firewalld
systemctl stop firewalld
3.4关闭selinux和配置limits参数
3.4.1更改SELinux为宽容模式。
setenforce 0
3.4.2****编辑/etc/selinux/config文件,永久禁止SELinux自动启动。
vi /etc/selinux/config
设置SELINUX=disabled,如下所示:
3.4.3集群所有主机设置umask,设置用户创建目录默认权限。
umask 0022
echo umask 0022 >> /etc/profile
3.4.5编辑“/etc/security/limits.conf”文件。
vi /etc/security/limits.conf
添加如下最后四行的内容:
# End of file
* hard nproc 65535
* soft nproc 65535
* hard nofile 65535
* soft nofile 65535
3.5禁用交换分区
在群内所有主机禁用交换分区。
sysctl vm.swappiness=0
echo vm.swappiness=0 >> /etc/sysctl.conf
3.6设置节点互信ssh免密登录
Ambari Server与Ambari Agent服务器之间需要配置ssh无密访问,Ambari Server通过SSH公钥授权远程登录其他主机。配置方法如下
3.6.1产生ssh密钥。
l 在集群每台主机产生SSH认证密钥对。
ssh-keygen -t rsa
3.6.2配置ssh免密登录。
将Ambari Server生成的公钥文件id_rsa.pub拷贝至集群其他Ambari Agent主机。
在Ambari Server主机执行:
cd ~/.ssh/
ssh-copy-id -i ~/.ssh/id_rsa.pub root@{target_host}
说明:{target_host}包括hadoop集群的所有主机,可以是主机名或IP地址。
· 该命令完成后会在{target_host}的~/.ssh/目录下生成文件authorized_keys。
3.6.3所有主机设置文件目录权限。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3.6.4 Ambari Server主机分别免密码登录检查。
ssh {tarqet.host}
3.7配置OS镜像源
集群中每台服务器均需配置本地镜像源。
3.7.1挂载镜像源。
在有OS镜像文件文件的目录下执行:
mount YOUR_OS.iso /media/ -o loop
说明: YOUR_OS.iso用实际的iso包名代替。(iso镜像为安装的centos镜像,需手动上传)
3.7.2配置本地源。
l 备份repo。
cd /etc/yum.repos.d
mkdir -p /etc/yum.repos.d/bak
mv *.repo bak
l 创建并编辑local.repo文件。
vi local.repo
在local.repo文件中添加如下内容:
[local] name=local repo
baseurl=file:///media
enabled=1
gpgcheck=0
生效本地源。
yum clean all
yum makecache
3.8安装JDK(两种方法二选一)
说明: 集群内所有主机,如果需要开启kerberos,还需jce安装包。
3.8.1方法一:RPM包安装
安装JDK(需先执行配置OS镜像源)。
yum install java-1.8.0-openjdk -y
打开环境变量的配置文件。
vi /etc/profile
添加下面语句至文件最后。
export JAVA_HOME=/usr/lib/jvm/java
export PATH=PATH
3.8.2方法二:Tar包安装
说明: 尽量选择jdk1.8及以上版本,x86服务器如 TaiShan服务器如 jdk-8u222-linux-aarch64.tar.gz,这里以TaiShan服务器为例。
下载安装包(根据具体环境选择下载)
ARM环境下载地址:(此路径可能更新,具体路径可自行搜索)
https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_aarch64_linux_hotspot_8u222b10.tar.gz
也可以去如下地址自行选择对应版本:
https://adoptopenjdk.net/releases.html
官方下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
l 解压及修改权限。
tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar
chown -R root:root jdk8u222-b10/
chmod -R 755 jdk8u222-b10/
l 移动到“/usr/local”目录下。
mv jdk8u222-b10/ /usr/local/
l 打开环境变量的配置文件。
vi /etc/profile
l 添加下面语句至文件最后。
export JAVA_HOME=/usr/local/jdk8u222-b10
export PATH=PATH
l 更新环境变量。
source /etc/profile
3.9搭建yum源服务器
准备一台服务器,作为yum源。搭建yum源服务器需要做到以下几步:关闭防火墙、关闭selinux权限、安装Apache-Httpd服务和管理rpm包,部分操作参照关闭防火墙~禁用交换分区章节。
**3.9.1****下载rpm包
说明: 以防遗漏,请全部下载。
鲲鹏rpm下载地址:
https://mirrors.huaweicloud.com/kunpeng/yum/el/7/bigdata/HDP-UTILS-1.1.0.22/repos/HDP-UTILS-1.1.0.22-centos7.tar.gz
https://mirrors.huaweicloud.com/kunpeng/yum/el/7/bigdata/HDP-GPL/3.x/updates/3.1.0.0/HDP-GPL-3.1.0.0-centos7-gpl.tar.gz
https://mirrors.huaweicloud.com/kunpeng/yum/el/7/bigdata/ambari/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz
https://mirrors.huaweicloud.com/kunpeng/yum/el/7/bigdata/HDP/3.x/updates/3.1.0.0/HDP-3.1.0.0-centos7-rpm.tar.gz
3.9.2安装httpd组件
l 安装httpd和createrepo。
yum install httpd createrepo
l 开启httpd服务。
service httpd start
l 验证。
systemctl status httpd.service
若状态为running,则安装并启动成功:
3.9.3管理rpm包
l Ambari rpm包:
分别创建如下目录,管理ambari的rpm包。
mkdir -p /var/www/html/entry/ambari/2.7.3.0.0/centos7/aarch64
其中把前面下载tar.gz包解压出的rpm包进行分类,鲲鹏计算平台的包放到aarch64目录
l HDP rpm包:
分别创建如下目录,管理hdp的rpm包。
mkdir -p /var/www/html/entry/hdp/3.1/centos7/aarch64
aarch64
│ ├── atlas-metadata_3_1_0_0_78-1.1.0.3.1.0.0-78.aarch64.rpm
│ ├── bigtop-jsvc-1.0.15-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-client-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-conf-pseudo-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-datanode-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-fuse-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-journalnode-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-namenode-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-secondarynamenode-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-hdfs-zkfc-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-httpfs-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-httpfs-server-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-libhdfs-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-mapreduce-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-mapreduce-historyserver-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-source-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-nodemanager-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-proxyserver-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-registrydns-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-resourcemanager-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-timelinereader-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hadoop_3_1_0_0_78-yarn-timelineserver-3.1.1.3.1.0.0-78.aarch64.rpm
│ ├── hbase_3_1_0_0_78-2.0.2.3.1.0.0-78.aarch64.rpm
│ ├── hive_3_1_0_0_78-3.1.0.3.1.0.0-78.aarch64.rpm
│ ├── hive_3_1_0_0_78-jdbc-3.1.0.3.1.0.0-78.aarch64.rpm
│ ├── livy2_3_1_0_0_78-0.5.0.3.1.0.0-78.aarch64.rpm
│ ├── phoenix_3_1_0_0_78-5.0.0.3.1.0.0-78.aarch64.rpm
│ ├── ranger_3_1_0_0_78-hbase-plugin-1.2.0.3.1.0.0-78.aarch64.rpm
│ ├── ranger_3_1_0_0_78-hdfs-plugin-1.2.0.3.1.0.0-78.aarch64.rpm
│ ├── ranger_3_1_0_0_78-hive-plugin-1.2.0.3.1.0.0-78.aarch64.rpm
│ ├── ranger_3_1_0_0_78-yarn-plugin-1.2.0.3.1.0.0-78.aarch64.rpm
│ ├── spark2_3_1_0_0_78-2.3.2.3.1.0.0-78.aarch64.rpm
│ ├── spark2_3_1_0_0_78-yarn-shuffle-2.3.2.3.1.0.0-78.aarch64.rpm
│ └── tez_3_1_0_0_78-0.9.1.3.1.0.0-78.aarch64.rpm
3.9.4创建yum源仓库
l 使用createrepo命令,创建yum源仓库。
cd /var/www/html/entry/ambari/2.7.3.0.0/centos7 && createrepo .
cd /var/www/html/entry/hdp/3.1/centos7 && createrepo .
须知:createrepo 后需要加路径,上述命令最后的“.”,表示当前路径,不可缺少,否则会报错。
执行以上两条命令后,将在以上两个目录分别生成repodata文件夹:
[root@Management-1 centos7]# ll
total 12
drwxr-xr-x 2 root root 4096 Oct 15 16:34 aarch64
drwxr-xr-x 2 root root 4096 Oct 15 19:01 repodata
l 配置repo文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLMO9ML9-1595222397398)(file:///C:\Users\xayj\AppData\Local\Temp\ksohtml15564\wps21.jpg)]说明: 这一步需在集群中每台服务器上执行。
l 创建并编辑ambari.repo文件。
cd /etc/yum.repos.d
vi ambari.repo
在ambari.repo文件中添加如下内容:
[ambari]
name=ambari repo
baseurl=http://{yum源服务器ip}/entry/ambari/2.7.3.0.0/centos7
enabled=1
gpgcheck=0
l 创建并编辑hdp.repo文件。
vi hdp.repo
在hdp.repo文件中添加如下内容:
[hdp]
name=hdp repo
baseurl=http://{yum源服务器ip}/entry/hdp/3.1/centos7
enabled=1
gpgcheck=0
说明: baseurl可以在浏览器中验证是否能够正常访问。
l 生效源地址。
yum clean all
yum makecache
3.10操作系统时钟设置
集群中所有节点主机的时间必须设置同步才能访问Ambari的Web Ul界面。
3.10.1****安装NTP服务。
l 检查是否安装NTP服务。
rpm -qa|grep ntp
l 安装 NTP 服务。
yum install ntp -y
3.10.2检测时间同步是否开机自启。
在集群内所有节点检查是否设置时钟同步开机自启。
systemctl is-enabled ntpd
若已设置,则进入3.10.3。
若未设置,则设置开机自启。
systemctl enable ntpd
3.10.3(可选)配置 NTP server。
l 在集群中的其中一台服务器配置NTP server。
vi /etc/ntp.conf
说明: 有外部时钟源则跳过此操作。
参照下面内容进行设置。
# Hosts on local network are less restricted.
restrict IP address1 mask IP address2 nomodify notrap
#允许内网其他机器同步时间,IP address1为当前网关,IP address2为子网掩码
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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 IP address #设置本机为时钟服务器
Fudge IP address stratum 10
l 设置时间为当前时间。
例:date -s ‘20191010 13:49’
l 重启ntp服务。
systemctl restart ntpd.service
3.10.4配置ntp client。
在其他服务器中配置。
vi /etc/ntp.conf
# Hosts on local network are less restricted.
restrict IP address1 mask IP address2 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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 IP address perfer #设置为ntpserver的ip
fudge IP address stratum 10
重启ntp服务。
systemctl restart ntpd.service
3.10.5 5分钟后验证ntp时钟同步。
输入ntpstat
ntp server状态如下:
synchronised to local net at stratum 6
time correct to within 12 ms
polling server every 64 s
ntp client状态如下:
synchronised to NTP server (IP address) at stratum 7
time correct to within 41 ms
polling server every 1024 s
3.11(可选)创建普通用户
3.11.1主机server1创建普通用户,用于安装ambari-server及日常维护。
groupadd bigdata
useradd -g bigdata -d /home/bigdata bigdata
3.11.2修改bigdata密码。
echo “bigdata@123” | passwd --stdin bigdata
3.11.3 给bigdata用户设置root权限。
cp /etc/sudoers /etc/sudoers_bak
echo “bigdata ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers
2. 部署Ambari
4.1安装数据库
4.1.1安装数据库服务。
说明: 在集群中server服务器上执行即可。
l 安装mariadb及mysql相关服务。
说明:也可以自行安装mysql
yum install mariadb mariadb-server.aarch64 mysql-connector-java.noarch -y
l 启动并设置mariadb为开机启动。
systemctl start mariadb
systemctl enable mariadb
l 启动状态查询。
systemctl status mariadb.service
l 状态为running则启动成功:
l 登录并修改默认密码。
mysql -uroot -p
默认没有密码,按回车即可登录。
[root@server1 yum.repos.d]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
设置密码。
set password = password(‘密码’);
MariaDB [(none)]> set password = password(**'root'**);
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
须知:****flush privileges**必须执行,否则设置不生效。
l 验证密码。
退出后重新登录,查看密码是否修改成功。
MariaDB [(none)]> exit;
Bye
[root@server1 yum.repos.d]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
MariaDB [(none)]>
l 创建Ambari数据库并配置权限。
MariaDB [(none)]> create database ambari;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use ambari;
Database changed
MariaDB [ambari]> CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> GRANT ALL PRIVILEGES on *.* To 'ambari'@'%'
IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> CREATE USER 'ambari'@'**server1**' IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.01 sec)
MariaDB [ambari]> GRANT ALL PRIVILEGES on *.* To 'ambari'@'**server1**' IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> CREATE USER 'ambari'@'**agent1**' IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> GRANT ALL PRIVILEGES on *.* To 'ambari'@'**agent1**'
IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> CREATE USER 'ambari'@'**agent2**' IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> GRANT ALL PRIVILEGES on *.* To 'ambari'@'**agent2**'
IDENTIFIED BY 'ambari123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
说明: 根据实际情况进行修改,需要对集群中每一台服务器创建用户。
4.2部署Ambari-server
本章操作可选用bigdata或者root用户执行。(以下二选一)
4.2.1下载安装Ambari-server
l root用户执行:
yum install ambari-server.aarch64
l bigdata用户执行:
执行su bigdata
sudo yum install ambari-server.aarch64
4.2.2初始化Ambari数据库连接配置
l 在集群中所有服务器上切换回root用户添加环境变量,否则无法执行下一步。(若上步用root则不用切换)
vi /etc/profile
export buildNumber=2.7.3.0.0
l 生效环境变量。
source /etc/profile
l 初始化Ambari数据库连接配置。
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
bigdata用户需执行:
sudo ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
4.2.3 Ambari-server安装配置
l 安装Ambari-server。
ambari-server setup
l (若非root)bigdata用户执行:
sudo ambari-server setup
说明: 若使用普通用户安装Ambari-server,参数“Customize user account for ambari-server daemon [y/n] (n)?”选择“y”,
参数“Enter user account for ambari-server daemon (root)”则输入建立的普通用户。
参数“Path to JAVA_HOME”根据安装JDK的实际路径填写。
说明: 参数Enter Database Password(bigdata)输入安装数据库中设置的密码。
l 根据实际情况输入后回车。
4.2.4初始化Ambari数据库
l 登录mysql。
mysql -uroot -p
MariaDB [(none)]> use ambari;
Database changed
MariaDB [ambari]> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
l 验证脚本是否初始化成功,出现以下table列表:
4.2.5启动Ambari服务
l 启动Ambari服务。
ambari-server start
l (若非root用户)bigdata用户执行:
sudo ambari-server start
l (可选)Ambari 相关命令
查看Ambari server状态。
ambari-server status
[root@Namenode1 centos7]# ambari-server status
Using python /usr/bin/python
Ambari-server status**Ambari Server running**
Found Ambari Server PID: 18130 at: /var/run/ambari-server/ambari-server.pid
4.3部署Hadoop集群
4.3.1登录Ambari界面
启动ambari-server后,通过客户端浏览器登录Ambari的界面。
浏览器网址::8080。">http://<your.ambari.server>:8080。
默认登录用户名/密码为:admin/admin。
4.3.2启动Ambari部署向导
单击“Launch Install Wizard”搭建集群。
输入集群的名字,不能使用空格和其他特殊字符。例如:“cluster1”
单击“下一步”,进入选择版本。
4.3.3选择版本
将除了redhat7之外的os选项通过右边的remove删除。
在redhat7对应的base url中填入hdp.repo文件中的地址,这里为http://{yum源服务器ip}/entry/hdp/3.1/centos7。
单击“下一步”,进入安装选项。
4.3.4安装选项
在目标主机中填入集群中所有服务器的主机名。
填入server主机的ssh密钥。
通过cat ~/.ssh/id_rsa命令获取。
单击“REGISTER AND CONFIRM”,进入确认主机。
4.3.5确认主机
安装ambari-agent,并检测主机,保证检查结果没问题。
单击“下一步”,进入部署基础服务。
4.3.6部署基础服务
说明: 没有特别说明直接单击下一步即可。
选择服务,单击“下一步”。
根据自己需要,安装HDFS、ZooKEEPER、Ambari Metrics、Atlas、hive、tez、yarn+mapreduce等服务
须知:**有可能会出现以下几种情况,都选择continue或proceed anyway。
须知:Datanode directories只能配置数据盘对应的目录,配置系统盘目录容易将系统盘写满,导致服务挂起。NameNode directories配置的目录数量控制在2-3个,可以配置为系统盘较大的目录。
格式化数据盘和挂盘命令参考:
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart logical 0% 100%
mkfs.xfs -f /dev/sdb1
mkdir -p /hadoop/data1
mount /dev/sdb1 /hadoop/data1
输入集群的密码,此处都为默认密码。
说明: 添加Hive服务时需要在MySQL所在的server中新建一个名称为Hive的Database。
登录MySQL。
mysql -u root -p
创建名称为Hive的Database。
create database hive;
退出MySQL。
exit;
上图中,Database 的下拉框选择Existing MySQL/MariaDB,Username为安装数据库中创建的Ambari,密码为ambari123,Database URL的主机部分需改成mysql server主机的hostname,图中server主机是server1,根据实际情况填写。如:jdbc:mysql://server1/hive
Test connection成功后可单击“下一步”。
**须知:**当前页面时需要刷新一下浏览器页面,使当前界面中Repositories中有url地址。
等待安装完成。
4.3.7添加服务若上面没有添加服务也可安装完基本组件之后安装,如下
添加Yarn+MapReduce2服务:
单击add service,选择yarn+mapreduce2。
单击“下一步”,等待安装完成。
**须知:**安装完,可能会有以下告警,请重启带重启标志的组件。
l 添加hive服务
单击add service,选择Hive和Tez。
设置Hive的Database。
说明: 添加Hive服务时需要在MySQL所在的server中新建一个名称为Hive的Database。
登录MySQL。
mysql -u root -p
创建名称为Hive的Database。
create database hive;
退出MySQL。
exit;
上图中,Database 的下拉框选择Existing MySQL/MariaDB,Username为安装数据库中创建的Ambari,密码为ambari123,Database URL的主机部分需改成mysql server主机的hostname,图中server主机是server1,根据实际情况填写。如:jdbc:mysql://server1/hive
Test connection成功后可单击“下一步”。
等待安装完成。
说明: Check Tez失败可忽略。
l 添加spark服务
单击add service,选择spark2。
等待安装完成。后重启相应服务
须知:**安装完,可能会有以下告警,请重启带重启标志的组件。