鲲鹏泰山(arm)服务器搭建ambari

鲲鹏搭建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步:

  1. 配置部署环境。

该步骤包括:更新本地yum源、安装Ambari Server、拷贝安装OpenJDK等。

  1. 部署Ambari Server。
软件 版本
OpenJDK 1.8.0
Ambari 2.7.3.0.0

该步骤包括:Ambari Server Setup、启动Ambari Server服务、安装Ambari Agent、安装组件、启动组件服务等。

1.2部署流程图

部署流程图如图1所示。

图1 部署流程图
鲲鹏泰山(arm)服务器搭建ambari_第1张图片

1.3物理组网

物理组网方式如图2所示。

图2 物理组网
鲲鹏泰山(arm)服务器搭建ambari_第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

例如:

鲲鹏泰山(arm)服务器搭建ambari_第3张图片

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,如下所示:
鲲鹏泰山(arm)服务器搭建ambari_第4张图片

3.4.3集群所有主机设置umask,设置用户创建目录默认权限。

umask 0022

echo umask 0022 >> /etc/profile

3.4.5编辑“/etc/security/limits.conf”文件。

vi /etc/security/limits.conf

添加如下最后四行的内容:

鲲鹏泰山(arm)服务器搭建ambari_第5张图片

# 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

鲲鹏泰山(arm)服务器搭建ambari_第6张图片

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= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin: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= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin: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,则安装并启动成功:

鲲鹏泰山(arm)服务器搭建ambari_第7张图片

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目录
鲲鹏泰山(arm)服务器搭建ambari_第8张图片

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则启动成功:

鲲鹏泰山(arm)服务器搭建ambari_第9张图片

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

鲲鹏泰山(arm)服务器搭建ambari_第10张图片

4.2.3 Ambari-server安装配置

l 安装Ambari-server。

ambari-server setup

l 若非rootbigdata用户执行:

sudo ambari-server setup

鲲鹏泰山(arm)服务器搭建ambari_第11张图片

说明: 若使用普通用户安装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的实际路径填写。

鲲鹏泰山(arm)服务器搭建ambari_第12张图片

说明: 参数Enter Database Password(bigdata)输入安装数据库中设置的密码。

l 根据实际情况输入后回车。

鲲鹏泰山(arm)服务器搭建ambari_第13张图片

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列表:

鲲鹏泰山(arm)服务器搭建ambari_第14张图片

4.2.5启动Ambari服务

l 启动Ambari服务。

ambari-server start

l (若非root用户)bigdata用户执行:

sudo ambari-server start

鲲鹏泰山(arm)服务器搭建ambari_第15张图片

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的界面。

浏览器网址:http://:8080。

默认登录用户名/密码为:admin/admin。

鲲鹏泰山(arm)服务器搭建ambari_第16张图片

4.3.2启动Ambari部署向导

单击“Launch Install Wizard”搭建集群。
鲲鹏泰山(arm)服务器搭建ambari_第17张图片

输入集群的名字,不能使用空格和其他特殊字符。例如:“cluster1”

鲲鹏泰山(arm)服务器搭建ambari_第18张图片

单击“下一步”,进入选择版本。

4.3.3选择版本

将除了redhat7之外的os选项通过右边的remove删除。

鲲鹏泰山(arm)服务器搭建ambari_第19张图片

在redhat7对应的base url中填入hdp.repo文件中的地址,这里为http://{yum源服务器ip}/entry/hdp/3.1/centos7。

在这里插入图片描述

单击“下一步”,进入安装选项。

4.3.4安装选项

在目标主机中填入集群中所有服务器的主机名。

鲲鹏泰山(arm)服务器搭建ambari_第20张图片

填入server主机的ssh密钥。

通过cat ~/.ssh/id_rsa命令获取。

鲲鹏泰山(arm)服务器搭建ambari_第21张图片

单击“REGISTER AND CONFIRM”,进入确认主机。

4.3.5确认主机

安装ambari-agent,并检测主机,保证检查结果没问题。
鲲鹏泰山(arm)服务器搭建ambari_第22张图片
鲲鹏泰山(arm)服务器搭建ambari_第23张图片

单击“下一步”,进入部署基础服务。

4.3.6部署基础服务

说明: 没有特别说明直接单击下一步即可。

选择服务,单击“下一步”。

根据自己需要,安装HDFS、ZooKEEPER、Ambari Metrics、Atlas、hive、tez、yarn+mapreduce等服务

鲲鹏泰山(arm)服务器搭建ambari_第24张图片

须知:**有可能会出现以下几种情况,都选择continue或proceed anyway。
鲲鹏泰山(arm)服务器搭建ambari_第25张图片
鲲鹏泰山(arm)服务器搭建ambari_第26张图片
鲲鹏泰山(arm)服务器搭建ambari_第27张图片

须知: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

输入集群的密码,此处都为默认密码。

鲲鹏泰山(arm)服务器搭建ambari_第28张图片

鲲鹏泰山(arm)服务器搭建ambari_第29张图片

说明: 添加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成功后可单击“下一步”。

鲲鹏泰山(arm)服务器搭建ambari_第30张图片

鲲鹏泰山(arm)服务器搭建ambari_第31张图片

鲲鹏泰山(arm)服务器搭建ambari_第32张图片

鲲鹏泰山(arm)服务器搭建ambari_第33张图片

鲲鹏泰山(arm)服务器搭建ambari_第34张图片

**须知:**当前页面时需要刷新一下浏览器页面,使当前界面中Repositories中有url地址。

鲲鹏泰山(arm)服务器搭建ambari_第35张图片

等待安装完成。

鲲鹏泰山(arm)服务器搭建ambari_第36张图片
鲲鹏泰山(arm)服务器搭建ambari_第37张图片

4.3.7添加服务若上面没有添加服务也可安装完基本组件之后安装,如下

添加Yarn+MapReduce2服务:

单击add service,选择yarn+mapreduce2。
鲲鹏泰山(arm)服务器搭建ambari_第38张图片

鲲鹏泰山(arm)服务器搭建ambari_第39张图片

鲲鹏泰山(arm)服务器搭建ambari_第40张图片

鲲鹏泰山(arm)服务器搭建ambari_第41张图片

鲲鹏泰山(arm)服务器搭建ambari_第42张图片

鲲鹏泰山(arm)服务器搭建ambari_第43张图片

单击“下一步”,等待安装完成。

鲲鹏泰山(arm)服务器搭建ambari_第44张图片

**须知:**安装完,可能会有以下告警,请重启带重启标志的组件。

鲲鹏泰山(arm)服务器搭建ambari_第45张图片

l 添加hive服务

单击add service,选择Hive和Tez。

鲲鹏泰山(arm)服务器搭建ambari_第46张图片
鲲鹏泰山(arm)服务器搭建ambari_第47张图片

鲲鹏泰山(arm)服务器搭建ambari_第48张图片

设置Hive的Database。
鲲鹏泰山(arm)服务器搭建ambari_第49张图片
鲲鹏泰山(arm)服务器搭建ambari_第50张图片

说明: 添加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成功后可单击“下一步”。

鲲鹏泰山(arm)服务器搭建ambari_第51张图片

等待安装完成。
鲲鹏泰山(arm)服务器搭建ambari_第52张图片

说明: Check Tez失败可忽略。
鲲鹏泰山(arm)服务器搭建ambari_第53张图片

l 添加spark服务

单击add service,选择spark2。
鲲鹏泰山(arm)服务器搭建ambari_第54张图片

鲲鹏泰山(arm)服务器搭建ambari_第55张图片

鲲鹏泰山(arm)服务器搭建ambari_第56张图片

鲲鹏泰山(arm)服务器搭建ambari_第57张图片
鲲鹏泰山(arm)服务器搭建ambari_第58张图片

等待安装完成。后重启相应服务
鲲鹏泰山(arm)服务器搭建ambari_第59张图片

须知:**安装完,可能会有以下告警,请重启带重启标志的组件。

本文为参考华为技术栈成功搭建之后所编写,若有侵权请及时联系!

你可能感兴趣的:(ambari,hadoop,ambari,服务器)