Centos7联网环境搭建ambari集群及其本地源


文章目录

  • Centos7联网环境搭建ambari集群及其本地源
  • 一、前提准备
  • 二、准备安装
  • 1、为虚拟机配置网卡信息
  • 2、配置hostname
  • 3、配置ssh
  • 4、关闭firewalld、selinux
  • 5、安装JDK1.8
  • 6、NTP时间同步
  • 7、安装httpd
  • 8、安装mysql
  • 9、安装mysql jdbc
  • 10、搭建数据库
  • 11、制作本地源
  • 三、运行安装程序
  • 1、安装Ambari
  • 2、配置Ambari
  • 3、启动ambari
  • 四、安装、配置和部署集群
  • 1、登录
  • 2、登录成功
  • 3、准备开始
  • 4、选择堆栈
  • 5、配置ambari-agent安装选项
  • 6、安装ambari-agent
  • 7、选择服务
  • 8、分配服务所在主节点
  • 9、分配节点
  • 10、定制服务
  • 11、检查配置
  • 12、安装并启动集群
  • 13、总结


一、前提准备

1、使用vm创建5台Centos7虚拟机
(主机数不定,但通常,至少应使用三台主机:一台主机和两台从机。)
五台虚拟机均为:
磁盘:1T(精简置备)
内存:4G
cpu:4核
2、下载ambari及其本地源(HDP),链接之后给出。

链接:
ambari2.6.2.2下载地址HDP2.6.5.0下载地址HDP-UTILS-1.1.0.22下载地址HDP-GPL-2.6.5.0下载地址

文件较大,提前下载为之后本地源搭建做准备

3、以下为本次搭建所用到的所有文件

centos查看是否支持lvm_centos查看是否支持lvm

本次搭建五台虚拟机均使用root用户

二、准备安装

1、为虚拟机配置网卡信息

在centos7系统下,输入cd /etc/sysconfig/network-scripts/进入网卡配置文件夹,使用vi编辑器编辑网卡文件。为虚拟机配置ip地址信息。

centos查看是否支持lvm_hadoop_02


centos查看是否支持lvm_hadoop_03


此操作要求五台虚拟机中均完成。之后使用systemctl restart network命令重启网卡。

使用ping命令,ping www.baidu.com,若能够ping通,则虚拟机可联网。

2、配置hostname

(1)在每台虚拟机中执行hostnamectl set-hostname (你设置的主机名称)。
本次演示中,五台虚拟机名称为

ambari
client
master
slave1
slave2

(2)在每台虚拟机中执行vi /etc/hosts,进入vi编辑器编辑hosts文件,将五台虚拟机的IP地址及主机名(hostname)加入其中。
格式为:

ip地址 主机名

若无特殊说明之后所有操作均在ambari主机上操作

3、配置ssh

(1)在每台主机中执行ssh -keygen
(2)在root文件下,使用cd命令,进入.ssh/文件夹
(3)执行cp id_rsa.pub authorized_keys
(4)执行ls命令查看文件夹,执行vi authorized_keys命令,将其余四台主机中的id_rsa.pub内的内容复制粘贴入ambari主机中的authorized_keys文件中。
(5)执行scp -p authorized_keys root@client:/root/.ssh/
该命令将authorized_keys文件传入client主机中,以此类推,将文件传入其余三台主机中。
(6)执行ssh client命令查看是否能够免密登录,以此类推检查每个主机间的免密登录情况(所有主机间都需要实现免密登录

4、关闭firewalld、selinux

(1)关闭防火墙
在每个主机中执行以下两条命令:

systemctl stop firewalld
systemctl disable firewalld

使用systemctl status firewalld查看防火墙状态
(2)关闭Selinux

vi /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled

改操作需重启机器后生效
重启后使用getenforce命令查看selinux状态

5、安装JDK1.8

(1)执行命令mkdir /opt/jdk/,将jdk安装包传入jdk文件夹,使用tar命令解压。
(2)使用scp命令将jdk文件传入其余四台主机

scp -p /opt/jdk/ root@client:/opt/

以此类推,将jdk文件夹传入其余三台主机。
(3)修改环境变量

vi /etc/profile

在文件最后填入以下内容

export PATH
export JAVA_HOME=/opt/jdk/jdk1.8.0_261
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

使用java -version命令检查java安装情况
(4)修改其余四台主机的环境变量,并使用java -version验证java安装情况

6、NTP时间同步

在虚拟机能够联网的情况下,可跳过这个操作,如若需要请自行寻找教程。

7、安装httpd

依次执行以下命令

yum install httpd -y #安装
systemctl start httpd #启动
systemctl enable httpd #开机默认启动

默认网站根目录为/var/www/html,无需更改

8、安装mysql

(1)在mysql官网下载mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar,下载过程中,在ambari创建/opt/mysql/文件夹

mkdir /opt/mysql

将下载好的压缩包传入该文件夹中,并使用tar -xvf命令释放压缩包。
(2)由于Centos7自带mariadb数据库,该数据库驱动与mysql驱动冲突,所以在安装mysql数据库前应将其卸载。
执行以下命令

rpm -qa | grep mariadb

使用rpm命令删除查询出的所有文件

rpm -e --nodeps 文件名

(3)安装perl

yum install perl -y

(4)安装mysql
之前解压出来的几个rpm包之间有依赖关系,所以需要按照顺序依次执行以下命令安装:

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

至此mysql数据库安装完成。
(5)运行mysql

systemctl start mysqld

(6)修改root用户密码
在运行mysql后,mysql会自动帮我们创建一个root用户,需要进入mysql.log中查看root用户密码,初始密码非常复杂,建议更改。
查看mysql.log:

cat /var/log/mysqld.log

找到A temporary password is generated for root@localhost:字样,之后跟着的就是密码,复制保存一会使用。
登录:

mysql -u root -p

输入刚才复制的密码
修改密码:

set global validate_password_policy=0;
set password = password('root1234');
grant all privaileges on *.* to 'root'@'%';
flush privileges;

设置开机启动

systemctl enable mysqld

9、安装mysql jdbc

自行加载jar包,将其放入/usr/share/java
本次使用的jar包下载地址:
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar 可使用wget命令将该文件直接下载到/usr/share/java文件中

cd /usr/share/java
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar

将下载的包名称改为mysql-connector-java.jar

mv mysql-connector-java-8.0.11.jar mysql-connector-java.jar

10、搭建数据库

使用root用户登入mysql

mysql -u root -p

创建如下数据库

create database ambari;
CREATE USER 'ambari'@ '%' IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@ '%';
FLUSH PRIVILEGES
create database hive;
CREATE USER 'hive'@ '%' IDENIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@ '%';
FLUSH PRIVILEGES

11、制作本地源

(1)将之前下载的ambari,HDP,HDP-UTILS,HDP-GPL压缩包传入ambari的/var/www/html/ambari文件夹中。(自行创建ambari文件夹)
(2)使用tar命令将其解压,结果如下:

centos查看是否支持lvm_大数据_04


我们可以在网页中查询到这些文件,在浏览器中输入http://ambari的ip地址/ambari,便可以看到上述文件。

centos查看是否支持lvm_大数据_05


(3)安装创建yum源工具

yum install yum-utils createrepo yum-plugin-priorities -y
createrepo ./   #在var/www/html/ambari/下执行即可

(4)配置本地源
将ambari.repo、hdp.repo、hdp-gpl.gpl.repo文件传入/etc/yum.repos.d/。上述三个文件依次在解压后的ambari/、HDP/、HDP-GPL/下。
可使用wget命令下载至/etc/yum.repos.d/中,也可直接复制到该文件夹下。
ip地址=httpd服务所在主机的ip地址 (下同)

wget http://{ip地址}/ambari/ambari/centos7/2.6.2.2-1/ambari.repo
wget http://{ip地址}/ambari/HDP/centos7/2.6.5.0-292/hdp.repo
wget http://{ip地址}/ambari/HDP-GPL/centos7/2.6.5.0-292/hdp-gpl.gpl.repo

修改ambari.repo文件:

vi ambari.repo

将baseurl属性改为

http://{ip地址}/ambariambari/centos7/2.6.2.2-1/

将gpgkey属性改为

http://{ip地址}/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

同上述操作,将hdp.repo、hdp-gpl.gpl.repo文件中的baseurl属性与gpgkey属性全改为相应的地址。其中hdp.repo中还有HDP-UTILS的信息,也要改成hdp-utils的相应地址。
最后,将这三个文件发送到其余四个节点的/etc/yum.repos.d/文件夹
(4)制作本地源

yum clean all
yum makecache
yum repolist

三、运行安装程序

1、安装Ambari

yum install ambari-server -y

2、配置Ambari

ambari-server setup

之后按照提示进行操作:
1)提示是否自定义设置。输入y

centos查看是否支持lvm_hadoop_06


2)设置ambari-server账号。输入:root

centos查看是否支持lvm_hadoop_07


3)设置JDK。输入:3

centos查看是否支持lvm_centos查看是否支持lvm_08


选择本地jdk,输入JAVA_HOME

4)配置数据库,输入:3

centos查看是否支持lvm_hadoop_09


属性依次为:

服务所在主机名、端口(默认3306)、数据库名、数据库用户名、相应密码

5)将Ambari数据库脚本导入到数据库
使用Ambari用户登录mysql

mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

至此Ambari服务配置完成

3、启动ambari

将/usr/share/java/中的mysql-connector-java.jar复制到/var/lib/ambari-server/resources/中。

cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/

修改/etc/ambari-server/conf/ambari.properties文件

vi /etc/ambari-server/conf/ambari.properties

在其中添加

server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

启动ambari

ambari-server start

成功启动后,在浏览器中输入ambari地址:http://{ip地址}:8080

四、安装、配置和部署集群

1、登录

进入浏览器后,出现登录界面,默认管理员账户登录

账户:admin
密码:admin

centos查看是否支持lvm_大数据_10

2、登录成功

登录成功后进入如下界面

centos查看是否支持lvm_linux_11


点击Launch Install Wizard

3、准备开始

自定义cluser名称

centos查看是否支持lvm_linux_12

4、选择堆栈

centos查看是否支持lvm_centos查看是否支持lvm_13


选择本地源

centos查看是否支持lvm_linux_14


填入相应地址:

http://{ip地址}/ambari/HDP/centos7/2.6.5.0-292/
http://{ip地址}/ambari/HDP-GPL/centos7/2.6.5.0-292/
http://{ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/

具体位置根据实际情况填入,以上仅供参考。

centos查看是否支持lvm_大数据_15

5、配置ambari-agent安装选项

centos查看是否支持lvm_linux_16


第一个文本框填入除ambari主机外的四台主机名

第二个文本框填入所有五台主机的私钥(/root/.ssh/id_rsa)

6、安装ambari-agent

第一次执行,可能会报错

centos查看是否支持lvm_centos查看是否支持lvm_17

解决方法:
修改所有主机中的/etc/python/cert-verification.cfg文件

vi /etc/python/cert-verification.cfg

[https]
verify=platform_default
将上述属性值修改为disable

修改四台从机中的/etc/ambari-agent/conf/ambari-agent.ini文件
添加[security]栏以下内容

vi /etc/ambari-agent/conf/ambari-agent.ini

[security]
force_https_protocol=PROTOCOL_TLSv1_2

修改完成后,点击retry重新注册

centos查看是否支持lvm_centos查看是否支持lvm_18


全部通过后,点击下一步

7、选择服务

centos查看是否支持lvm_linux_19


本次搭选择的服务有:HDFS、YARN+MapReduce2、Tez、Hive、HBase、Pig、Sqoop、ZooKeeper、Ambari Metrics、Kafka、SmartSense、Spark、Slider。

8、分配服务所在主节点

默认就好,不用更改

centos查看是否支持lvm_centos查看是否支持lvm_20

9、分配节点

centos查看是否支持lvm_大数据_21


将client设置在client主机,其余如图即可(仅供参考,可根据需求自行选择)

10、定制服务

进入界面如下

centos查看是否支持lvm_linux_22


HDFS栏:

将NameNode directories中的 ,/home/hadoop/hdfs/namenode 删除

将DataNode directories中的 ,/home/hadoop/hdfs/data 删除

centos查看是否支持lvm_linux_23


YARN栏:

点击Advanced

将yarn.nodemanager.local-dirs中的 ,/home/hadoop/yarn/local 删除

将yarn.nodemanager.log-dirs中的 ,/home/hadoop/yarn/log 删除

centos查看是否支持lvm_centos查看是否支持lvm_24


Hive栏:

点击Advanced

选择自行安装的mysql;

填入之前创建的mysql用户(hive)的密码(Hive-123);

将Database URL中的master改为ambari(mysql安装在ambari上);

点击测试,尝试连接,连接成功即可。

centos查看是否支持lvm_hadoop_25


Ambari Metrics栏:

自定义密码即可

centos查看是否支持lvm_centos_26


SmartSense栏:

点击Activity Analysis

自定义密码即可

centos查看是否支持lvm_大数据_27


可能出现的问题

进入从虚拟机(除ambari外)使用命令

ds -lh  #查看本机磁盘使用情况

centos查看是否支持lvm_大数据_28


可以发现 / 目录下哦那个容量为50G点击下一步时,会出现如下警告

centos查看是否支持lvm_hadoop_29


hdfs默认为主机文件系统保留60G的磁盘容量,上述警告为建议为主机文件系统保留120G的磁盘容量,但是通过命令查询hdfs挂载的节点容量仅为50G,若设置为120G,会导致hdfs无容量可用,导致一会集群启动失败。

在这里,我将dfs.datanode.du.reserved容量设置为20G。

该条属性请根据虚拟机的具体情况进行自主配置

其余可能的解决办法:

1)增加一块磁盘,如有必要请自行查找教程
2)重新划分分区,将hdfs挂载节点的容量提高

将dfs.datanode.du.reserved属性(位置在HDFS->General->Reserved space for HDFS)修改为20G(21474836480 bytes)后无视警告进行下一步。

11、检查配置

复查,没有问题进入下一步

centos查看是否支持lvm_大数据_30

12、安装并启动集群

所有节点安装并启动成功,则至此ambari集群搭建完成

若出现错误,则复查之前所有操作,或查看日志,解决所有报错

成功界面如下:

centos查看是否支持lvm_centos查看是否支持lvm_31

13、总结

centos查看是否支持lvm_centos查看是否支持lvm_32


点击Complete,进入管理界面:

centos查看是否支持lvm_大数据_33