银河麒麟服务器操作系统SP2安装Ambari2.7.5和HDP3.1.5

银河麒麟服务器操作系统SP2安装Ambari2.7.5和HDP3.1.5

首页角色扮演dbsystem更新时间:2024-04-19

1 软件介绍

Ambari是一款用于部署、管理和监控Hadoop集群服务的开源系统,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop和Hcatalog等。它实现了以下功能:

1)安装一个Hadoop集群:

提供了以向导指引的方式安装一个集群,可以在任意的主机上安装Hadoop服务。

提供了对Hadoop服务的配置功能。

2)管理一个Hadoop集群:

提供了启动、停止等集群管理功能。

3)监控一个Hadoop集群:

提供了一个用于监控Hadoop集群健康状态的仪表盘。

提供了一套健康指标体系来收集监控数据。

提供了一套预警框架,可以结合预定的监控指标实现通知预警。

从设计上看ambari使用的Master/Slaves架构(主、从架构,由一个ambari-server和多个agent组成)。它通过一个server主进程来实现集群的管理和操作命令的发送,而具体的管理动作则由安装在每台目标主机上的agent进程进行执行。例如通过ambari启动的HDFS服务的时候,首先会由ambari-server向安装了HDFS服务所在主机的agent进程发送启动指令,然后再由相关agent进程执行其所在主机的本地命令脚本来启动HDFS的相应服务。

2 适配环境

2.1 操作系统环境

项目

版本

Kylin Linux Server

release V10 (SP2) /(Sword)-aarch64-Build09/20210524

Kernel

4.19.90-24.4.v2101.ky10.aarch64

2.2 硬件环境

节点类型

ip地址

主机名

主节点

10.1.110.80

ambari-master

从节点

10.1.110.81

ambari-slave01

从节点

10.1.110.82

ambari-slave02

2.3 软件环境

Ambari2.7.5

Hotonworks HDP-3.1.5组件

3 适配步骤

3.1 安装前配置

3.1.1 修改主机名(所有节点)

hostnamectl set-hostname ambari-master hostnamectl set-hostname ambari-slave01 hostnamectl set-hostname ambari-slave02

vim /etc/hosts

添加内容如下:

10.1.110.80 ambari-master 10.1.110.81 ambari-slave01 10.1.110.82 ambari-slave02



3.1.2 设置免密登录(所有节点)

ssh-keygen -t rsa

ssh-copy-id ambari-master ssh-copy-id ambari-slave01 ssh-copy-id ambari-slave02

3.1.3 关闭防火墙和selinux(所有节点)

systemctl stop firewalld systemctl disable firewalld

  • 禁用selinux
  • setenforce 0 sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux getenforce

    3.1.4 安装httpd(主节点)

    yum -y install httpd systemctl start httpd

    systemctl enable httpd

    3.1.5 配置本地源(主节点)

    mkdir -p /var/www/html/localrepo/ISO/ mkdir -p /var/www/html/localrepo/HDP_required/

    先将Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso下载到本地系统上,然后挂载iso至/var/www/html/localrepo/ISO

    mount -o loop Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso /var/www/html/localrepo/ISO

    将给定压缩包hdp_required_RPMS_aarch64.tar.gz解压至/var/www/html/localrepo/HDP_required目录下

    tar zxvf hdp_required_RPMS_aarch64.tar.gz -C /var/www/html/localrepo/HDP_required

    scp -r HDP_required/ ambari-slave01:~/

    scp -r HDP_required/ ambari-slave02:~/

    3.1.6修改源文件(所有节点)

    cd /etc/yum.repos.d cp kylin_aarch64.repo kylin_aarch64.repo.bak

    vim kylin_aarch64.repo

    内容如下:

    [ks10-adv-os] name = Kylin Linux Advanced Server V10 - Os baseurl = http://10.1.110.80/localrepo/ISO/ gpgcheck = 0 enabled = 1 [HDP_required] name = HDP_required baseurl = http://10.1.110.80/localrepo/HDP_required/ gpgcheck = 0 enabled = 1



    3.1.7主节点安装python2-dnf(主节点)

    cd /var/www/html/localrepo/HDP_required rpm -Uvh --oldpackage python3-gpgme-1.13.1-5.ky10.aarch64.rpm gpgme-1.13.1-5.ky10.aarch64.rpm

    yum install deltarpm -y

    cd /var/www/html/localrepo/HDP_required rpm -Uvh --oldpackage dnf-plugins-core-4.0.11-5.ky10.noarch.rpm python3-dnf-plugins-core-4.0.11-5.ky10.noarch.rpm rpm -Uvh --oldpackage *0.37.2-2* *4.2.15-7* rpm -Uvh --oldpackage *4.15.1-12* yum install python2-rpm rpm -Uvh --oldpackage ./libcomps-0.1.8-20.ky10.aarch64.rpm ./Packages/python2-libcomps-0.1.8-20.ky10.aarch64.rpm ./python3-libcomps-0.1.8-20.ky10.aarch64.rpm yum install ./python2-gpgme-1.13.1-5.ky10.aarch64.rpm yum install python2-dnf -y



    3.1.8从节点安装python2-dnf(从节点)

    cd HDP_required

    vim /etc/yum.repos.d/kylin_aarch64.repo

    rpm -Uvh --oldpackage python3-gpgme-1.13.1-5.ky10.aarch64.rpm gpgme-1.13.1-5.ky10.aarch64.rpm

    yum install deltarpm -y

    rpm -Uvh --oldpackage dnf-plugins-core-4.0.11-5.ky10.noarch.rpm python3-dnf-plugins-core-4.0.11-5.ky10.noarch.rpm rpm -Uvh --oldpackage *0.37.2-2* *4.2.15-7* rpm -Uvh --oldpackage *4.15.1-12* yum install python2-rpm rpm -Uvh --oldpackage ./libcomps-0.1.8-20.ky10.aarch64.rpm ./Packages/python2-libcomps-0.1.8-20.ky10.aarch64.rpm ./python3-libcomps-0.1.8-20.ky10.aarch64.rpm yum install ./python2-gpgme-1.13.1-5.ky10.aarch64.rpm yum install python2-dnf -y

    3.1.9 制作ambari和HDP组件的仓库(主节点)

    将所需安装包下载到本地

    HDP-3.1.5.0-centos7-rpm-aarch64.tar.gz

    HDP-UTILS-1.1.0.22-centos7.tar.gz

    ambari-2.7.5.0-centos7.tar.gz

    1)创建ambari和hdp目录

    mkdir -p /var/www/html/hdp/ambari mkdir -p /var/www/html/hdp/HDP-UTILS-1.1.0.22

    解压ambari和HDP组件至对应目录(解压完成后,可以删掉安装包)

    tar -zxvf HDP-3.1.5.0-centos7-rpm-aarch64.tar.gz -C /var/www/html/hdp/ tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/hdp/ambari/ tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/

    2)新建repo文件

    cd /etc/yum.repos.d/

    vim ambari.repo

    添加如下内容

    [ambari] name=ambari baseurl=http://10.1.110.80/hdp/ambari/ambari/ gpgcheck=0 enabled=1

    vim HDP.repo

    添加如下内容

    [HDP] name=HDP baseurl=http://10.1.110.80/hdp/HDP/centos7/3.1.5.0-152/gpgcheck=0 enabled=1

    vim HDP-UTILS.repo

    添加如下内容

    [HDP-UTILS] name=HDP-UTILS baseurl=http://10.1.110.80/hdp/HDP-UTILS-1.1.0.22/hdp-utils/ gpgcheck=0 enabled=1

    scp kylin_aarch64.repo ambari.repo HDP.repo HDP-UTILS.repo root@ambari-slave01:/etc/yum.repos.d scp kylin_aarch64.repo ambari.repo HDP.repo HDP-UTILS.repo root@ambari-slave02:/etc/yum.repos.d

    3.1.10更新源(所有节点)

    更新仓库数据

    yum clean all yum makecache

    3.1.11 安装必备软件(所有节点)

    安装软件包

    yum install -y python3-kerberos kylin-lsb-core kylin-lsb-cxx kylin-lsb-desktop kylin-lsb-languages kylin-lsb-printing kylin-lsb-submod-multimedia kylin-lsb-submod-security

    3.1.12 java配置(所有节点)

    使用系统自带的JDK,无需配置JAVA_HOME环境变量。

    java -version

    安装java-1.8.0-openjdk-devel

    yum install java-1.8.0-openjdk-devel -y

    备注:系统自带JDK路径为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-7.ky10.aarch64/

    (此路径在后续的ambari-server setup 中作为JAVA_HOME环境变量使用)

    3.2 安装步骤

    3.2.1 安装ambari-agent(所有节点)

    yum -y install ambari-agent

    vim /usr/lib/ambari-agent/lib/ambari_commons/resources/os_family.json

    增加“kylin”到distro中,如下图所示:

    在aliases中添加:"kylin10": "centos7"

    scp /usr/lib/ambari-agent/lib/ambari_commons/resources/os_family.json ambari-slave01:/usr/lib/ambari-agent/lib/ambari_commons/resources

    scp /usr/lib/ambari-agent/lib/ambari_commons/resources/os_family.json ambari-slave02:/usr/lib/ambari-agent/lib/ambari_commons/resources

    vim /usr/lib/ambari-agent/lib/ambari_commons/os_check.py 205

    scp /usr/lib/ambari-agent/lib/ambari_commons/os_check.py ambari-slave01:/usr/lib/ambari-agent/lib/ambari_commons

    scp /usr/lib/ambari-agent/lib/ambari_commons/os_check.py ambari-slave02:/usr/lib/ambari-agent/lib/ambari_commons

    vim /usr/lib/ambari-agent/lib/ambari_commons/repo_manager/yum_manager.py 287

    (因ambari暂时仅支持yum模块,需改写代码函数支持dnf模块,具体内容如下图所示)

    具体内容如下:

    import dnf yb = dnf.Base() name_regex = re.escape(name).replace("\\?", ".").replace("\\*", ".*") '$' regex = re.compile(name_regex) with suppress_stdout(): q = dnf.sack.rpmdb_sack(yb).query().installed() package_list = set([i.pkgtup for i in q]) for package in package_list: if regex.match(package[0]): return True return False

    scp /usr/lib/ambari-agent/lib/ambari_commons/repo_manager/yum_manager.py ambari-slave01:/usr/lib/ambari-agent/lib/ambari_commons/repo_manager/ scp /usr/lib/ambari-agent/lib/ambari_commons/repo_manager/yum_manager.py ambari-slave02:/usr/lib/ambari-agent/lib/ambari_commons/repo_manager/

    vim /var/lib/ambari-agent/bin/ambari-agent

    scp /var/lib/ambari-agent/bin/ambari-agent ambari-slave01:/var/lib/ambari-agent/bin/ scp /var/lib/ambari-agent/bin/ambari-agent ambari-slave02:/var/lib/ambari-agent/bin/

    systemctl start ambari-agent systemctl status ambari-agent

    systemctl enable ambari-agent.service

    3.2.2 安装ambari-server(主节点)

    yum remove postgresql-libs-10.5-19.p01.ky10.aarch64 rpm -ivh /var/www/html/localrepo/HDP_required/postgresql-libs-10.5-12.ky10.aarch64.rpm yum -y install ambari-server

    vim /usr/lib/ambari-server/lib/ambari_commons/os_check.py 205

    做如下修改:

    3.2.3 MariaDB安装与配置(主节点)

    3.2.3.1 安装mariadb

    第一步:安装与测试登陆

    1.安装命令

    yum -y install mariadb mariadb-server

    2.启动MariaDB

    systemctl start mariadb

    3.进行MariaDB的相关简单配置

    mysql_secure_installation

    首先是设置密码,会提示先输入密码.。

    Enter current password for root (enter for none): #<–初次运行直接回车

    (2)设置密码

    Set root password? [Y/n] #<– y New password: #<– 设置root用户的密码 Re-enter new password: #<– 再输入一次你设置的密码



    (3)其他配置

    Remove anonymous users? [Y/n] #<– 回车 Disallow root login remotely? [Y/n] #<–回车 Remove test database and access to it? [Y/n] #<– 回车 Reload privilege tables now? [Y/n] #<– 回车

    初始化MariaDB完成,

    (4)测试登录

    mysql -u root -p

    第二步:配置MariaDB的字符集

    1.修改/etc/my.cnf.d/mariadb-server.cnf文件

    vim /etc/my.cnf.d/mariadb-server.cnf

    在[mysqld]标签下添加

    init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake

    2.新建/etc/my.cnf.d/client.cnf文件

    vim /etc/my.cnf.d/client.cnf

    添加如下内容:

    [client] default-character-set=utf8

    3.修改/etc/my.cnf.d/mysql-clients.cnf文件

    vim /etc/my.cnf.d/mysql-clients.cnf

    在[mysql]中添加

    default-character-set=utf8

    4.全部配置完成,重启MariaDB

    systemctl restart mariadb

    第三步:进入MariaDB查看字符集

    mysql -u root -p

    MariaDB [(none)]> show variables like "%character%";

    MariaDB [(none)]> show variables like "%collation%";

    设置开机启动:

    systemctl enable mariadb

    mariadb安装完成

    3.2.3.2 在mysql创建ambari、hive数据库及用户

    命令如下:

    CREATE DATABASE ambari; use ambari; CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari'; GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari'; GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost'; CREATE USER 'ambari'@'ambari-master' IDENTIFIED BY 'ambari'; GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'ambari-master'; FLUSH PRIVILEGES;



    CREATE DATABASE hive; use hive; CREATE USER 'hive'@'%' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost'; CREATE USER 'hive'@'ambari-master' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'ambari-master'; FLUSH PRIVILEGES; select User,Host,Password from mysql.user;



    如果出现错误要删除对应的表信息并重新创建,如下图(没问题可跳过):

    3.2.3.3 建立 MySQL 与 ambari 的连接

    cp /var/www/html/localrepo/HDP_required/mysql-connector-java.jar /usr/share/java/

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

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

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

    3.2.4 启动 ambari-server 的配置程序(主节点)

    修改配置文件/usr/sbin/ambari-server

    vim /usr/sbin/ambari-server 34

    ambari-server setup

    在上面图中,若使用系统java环境,则JAVA_HOME的值应为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.h5.ky10.aarch64/

    注意在下图中,数据库和用户名都默认是ambari,所以密码就是ambari

    3.2.5 初始化数据库(主节点)

    mysql -u ambari -p

    MariaDB [(none)]> use ambari; MariaDB [ambari]> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

    确保以上都显示为OK

    指定数据库驱动

    ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

    3.2.6导入stacks相关包

    scp hdp3_stack.tar.gz root@10.1.110.80:/var/lib/ambari-server/resources/stacks/HDP

    cd /var/lib/ambari-server/resources/stacks/HDP tar zxvf hdp3_stack.tar.gz rm -rf hdp3_stack.tar.gz

    3.2.7去掉SMARTSENSE服务

    vim /var/lib/ambari-server/resources/stacks/HDP/3.0/services/SMARTSENSE/metainfo.xml

    3.2.6 启动ambari-server(主节点)

    vim /etc/rc.d/init.d/ambari-server

    systemctl start ambari-server systemctl status ambari-server

    在浏览器输入对应地址 ip:8080,账号密码都是admin

    3.2.7 安装部署HDP集群

    登录成功后开始部署

    输入集群名称

    导入版本信息,选择文件HDP-3.1.5.0-152.xml

    填入正确的源地址

    http://10.1.110.80/hdp/HDP/centos7/3.1.5.0-152/

    http://10.1.110.80/hdp/HDP-UTILS-1.1.0.22/hdp-utils/

    hostname 在 /etc/hosts中查看

    将查看到的内容在 Target Hosts 中输入

    ambari-master ambari-slave01 ambari-slave02

    密钥部分不要直接复制,最好拷贝到本地,然后通过本地上传

    scp root@10.1.110.80:~/.ssh/id_rsa ./

    正确配置如下图所示

    点击 Click here to see the check results. 查看是否警告。如存在异常,则需解决,再执行下一步。

    点击下一步

    会有连续的警告,如下,直接PROCEED ANYWAY 即可

    默认即可,点击下一步

    NFSGateway那一列全不选,其他全选,设置如下,下一步

    输入正确密码

    Hive这里记得要test,填写内容如下

    默认下一步

    设置密码

    设置好后发现没有错误提示,下一步

    Review界面需要提醒用户查看Repositories是否有详细的仓库地址,若无,需要刷新下界面,否则后面会因为仓库为空导致安装失败,确认无误开始部署

    等待安装部署,成功后如下图所示,会有如下警告

    直接进行下一步

    点击complete完成配置

    可以看到除HDFS为绿色外,其余所有的服务YARN、Hive、ZooKeeper都是红的,需要手动重启一遍,启动顺序为:Hive、ZooKeeper、YARN,启动YARN时会有一个子服务启动失败,如下图:

    这时候是因为端口被占用了,需要修改配置,如下图所示:

    修改完成以后,重启YARN服务,就可恢复正常。

    备注:大规模部署的分布式节点,需要很大的存储空间。而且启动服务非常消耗节点的内存,服务越多消耗内存越大。

    查看全文
    大家还看了
    也许喜欢
    更多游戏

    Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved