【Ambari】银河麒麟V10 ARM64架构
作者:mmseoamin日期:2023-12-18

【Ambari】银河麒麟V10 ARM64架构,第1张

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁

感谢点赞和关注 ,每天进步一点点!加油!

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

目录

一、版本信息

二、HiDataPlus介绍

2.1 Apache Components

2.2 Ambari Version

2.3 Java支持版本

2.4 Databases支持版本

三、银河麒麟V10操作系统介绍

四、服务器基础环境配置

4.1服务器配置

4.1.1常用命令安装

4.1.2 主机名修改

4.1.3 主机名映射的修改

4.1.4 SSH免密登录

4.1.5 关闭防火墙

4.1.7 打开文件数

4.1.8 关闭Linux的THP服务

4.1.9 时钟同步

4.1.10JDK

4.1.11 安装httpd服务 (每台)

4.2 repo配置

五、安装Ambari-server

5.1 安装ambari-server

5.2 ambari-server setup

5.3 启动ambari

六、HDP 安装

七、遇到的问题

八、开启Kerberos

8.1 安装kerberos

8.2 Ambari启动kerberos


一、版本信息


采用单服务器进行调研测试。 

组件

版本

操作系统

KylinV10 aarch64

Kernel

Linux 4.19.90-25.23.v2101.ky10.aarch64(CentOS8)

ambari

2.7.6

HDP

3.3.1.0

HDP-GPL

3.3.1.0

HDP-UTILS

1.1.0.22

JDK

jdk-8u381-linux-aarch64


二、HiDataPlus介绍


国内开源的Ambari 官网:一个可持续升级的免费Hadoop发行版 | HiDataPlus(HDP)

【Ambari】银河麒麟V10 ARM64架构,第2张

2.1 Apache Components


组件名称

Apache版本

HiDataPlus(HDP)版本

Apache Ambari

2.7.6

2.7.6.3-0

Apache Zookeeper

3.7.1

3.7.1.3.3.1.0-001

Apache Hadoop

3.3.4

3.3.4.3.3.1.0-001

Apache Hive

3.1.3

3.1.3.3.3.1.0-001

Apache HBase

2.4.14

2.4.14.3.3.1.0-001

Apache Kafka

2.8.2

2.8.2.3.3.1.0-001

Apache Knox

1.6.1

1.6.1.3.3.1.0-001

Apache Kyuubi

1.6.0

1.6.0.3.3.1.0-001

Apache Phoenix

5.1.2

5.1.2.3.3.1.0-001

Apache Ranger

2.3.0

2.3.0.3.3.1.0-001

Apache Ranger KMS

2.3.0

2.3.0.3.3.1.0-001

Apache Spark 2

2.4.8

2.4.8.3.3.1.0-001

Apache Spark 3

3.3.0

3.3.0.3.3.1.0-001

Apache Atlas

2.2.0

2.2.0.3.3.1.0-001

Apache Impala

4.1.1

4.1.1.3.3.1.0-001

Apache Hue

4.10.0

4.10.0.3.3.1.0-001

Apache TEZ

0.10.2

0.10.2.3.3.1.0-001

2.2 Ambari Version


与之前的HDP发行版一样,HiDataPlus通过Ambari集群管理组件进行安装和管理。

目前Ambari支持Centos/RHEL 7.x,由于很多国产操作系统都是能够兼容Centos7,所以在国产操作系统上通过轻微改造,即可适配。

HidataPlus(HDP) Stack

Ambari Version

3.3.1.0

2.7.6.3

3.3.1.0(EOL)

2.7.6.0

2.3 Java支持版本

Name

Version

OracleJDK(x86)

JDK8

OpenJDK(x86aarch64)

JDK8

BiShengJDK(aarch64)

JDK8

2.4 Databases支持版本

Name

Version

PostgreSQL

10.7 10.5 10.2 9.6

MySQL

5.7

MariaDB

10.2


三、银河麒麟V10操作系统介绍


银河麒麟操作系统 V10 SP系列 是一款体验好用、安全好用、生态好用、行业好用的新一代图形化桌面操作系统,为用户开启安全可信、流畅愉悦的体验之旅。

【Ambari】银河麒麟V10 ARM64架构,第3张

开放麒麟和银河麒麟桌面操作系统的关系类似于深度deepin和统信UOS。前者为根社区版本,后者是上游商业版本。社区版本更注重功能也更激进,商业版本则更注重稳定。

简单区别:

  • 银河麒麟V10SP3: 服务器版,延续SP1,SP2而来,像windows server一样, 作为商业服务器使用,看内核是基于CentOS。
  • 银河麒麟桌面版: 办公使用,像windows 10、windows 11这样, 看说明是基于debian
  • openkylin: 开放麒麟,相当于社区版,免费的。 跟桌面版界面差不多。
  • neokylin: 中标麒麟,以前的麒麟版本, 以后估计就没有了,看界面像CentOS,是基于fedora的。

    四、服务器基础环境配置


    4.1服务器配置


    4.1.1常用命令安装

     yum install open-vm-tools  bash-completion  lrzsz  tree  vim  wget  net-tools  -y

    4.1.2 主机名修改

    hostnamectl set-hostname  windp-aio

    4.1.3 主机名映射的修改

    cat > /etc/hosts << EOF
    192.168.2.130    windp-aio
    EOF

    4.1.4 SSH免密登录

    ssh-keygen -t rsa
    ssh-copy-id -i /root/.ssh/id_rsa.pub windp-aio

    一直回车就行

    4.1.5 关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld
    systemctl status  firewalld

    4.1.6 关闭SELINUX

    sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

    4.1.7 打开文件数

    vim /etc/security/limits.conf
    root soft nofile 409600
    root hard nofile 65535
    # End of file

    4.1.8 关闭Linux的THP服务

    vim /etc/rc.local
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
              echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
              echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi

    4.1.9 时钟同步

    yum install chrony -y
    systemctl start  chronyd
    systemctl enable chronyd
    systemctl status chronyd

    4.1.10JDK

    sudo mkdir -p /usr/java
    tar -zxvf jdk-8u381-linux-aarch64.tar.gz -C /usr/java/
    vim /etc/profile	
    export JAVA_HOME=/usr/java/jdk1.8.0_381
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    source  /etc/profile

    参考:【Linux】银河麒麟V10 ARM架构_安装JDK8-kylinV10(Kylin Linux Advanced Server V10 )操作系统(CentOS8)_开着拖拉机回家的博客-CSDN博客

    【Ambari】银河麒麟V10 ARM64架构,第4张

    4.1.11 安装httpd服务 (每台)

    yum -y install httpd
    systemctl start httpd.service
    systemctl enable httpd.service 
    systemctl enable httpd.service 

    4.2 repo配置


    将tar包解压,如下安装包只需要在一台服务器解压即可。

    mkdir -p /hadoop/hdp
    cd /hadoop/hdp
    tar -zxvf HDP-3.3.1.0-004-centos7_8-x86_64.tar.gz
    tar -zxvf ambari-2.7.6.0-4-centos7_8-x86_64.tar.gz
    tar -zxvf HDP-GPL-3.3.1.0-004-centos7_8-x86_64.tar.gz
    tar -zxvf HDP-UTILS-1.1.0.22-centos7_8-x86_64.tar.gz
    mkdir  ambari
    mv  mv 2.7.6.0-4 ambari
    mv gpl-3.3.1.0-004  HDP-GPL
    cd /var/www/html/
    ln -s /hadoop/hdp/ambari ./ambari
    ln -s /hadoop/hdp/HDP ./HDP
    ln -s /hadoop/hdp/HDP-GPL ./HDP-GPL
    ln -s /hadoop/hdp/HDP-UTILS ./HDP-UTILS

    编辑repo源,repo文件需要每台服务器都有

    cat >  /etc/yum.repos.d/ambari.repo  << EOF
    [ambari-2.7.6.0]
    name=ambari Version - ambari-2.7.6.0
    baseurl=http://windp-aio/ambari/2.7.6.0-4/
    enabled=1
    gpgcheck=0
    gpgkey=http://windp-aio/ambari/2.7.6.0-4/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    EOF
    cat > /etc/yum.repos.d/hdp-utils.repo  << EOF
    [HDP-UTILS-1.1.0.22]
    name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
    baseurl=http://windp-aio/HDP-UTILS/centos7/1.1.0.22/
    gpgcheck=0
    EOF
    cat > /etc/yum.repos.d/hdp.repo << EOF
    [HDP-3.3.1.0]
    name=HDP Version - HDP-3.3.1.0
    baseurl=http://windp-aio/HDP/3.3.1.0-004
    gpgcheck=0
    enabled=1
    [HDP-GPL]
    name=HDP-GPL
    baseurl=http://windp-aio/HDP-GPL/
    gpgcheck=0
    EOF

    yum 源查看

    # 清除依赖
    yum clean all
    # 缓存
    yum makecache
    # 查看
    yum repolist

    配置的源可以在浏览器查看

    【Ambari】银河麒麟V10 ARM64架构,第5张

    【Ambari】银河麒麟V10 ARM64架构,第6张

    【Ambari】银河麒麟V10 ARM64架构,第7张

    【Ambari】银河麒麟V10 ARM64架构,第8张


    五、安装Ambari-server


    5.1 安装ambari-server


     yum -y install ambari-server

    【Ambari】银河麒麟V10 ARM64架构,第9张

    MySQL安装 :【MySQL】银河麒麟V10 ARM架构_安装 MySQL8一 kylinV10(Kylin Linux Advanced Server V10 )操作系统(CentOS8)_开着拖拉机回家的博客-CSDN博客

    # ambari 元数据库初始化,将如下SQL在 ambari 元数据库中执行创建元数据表
    /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

    5.2 ambari-server setup


    [root@hidataplus yum.repos.d]# ambari-server setup
    Using python  /usr/bin/python
    Setup ambari-server
    Checking SELinux...
    SELinux status is 'enabled'
    SELinux mode is 'permissive'
    WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
    OK to continue [y/n] (y)? y
    Customize user account for ambari-server daemon [y/n] (n)? y
    Enter user account for ambari-server daemon (root):
    Adjusting ambari-server permissions and ownership...
    Checking firewall status...
    Checking JDK...
    Do you want to change Oracle JDK [y/n] (n)? y
    [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
    [2] Custom JDK
    ==============================================================================
    Enter choice (1): 2                     
    WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
    WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
    Path to JAVA_HOME: /usr/java/jdk1.8.0_162
    Validating JDK on Ambari Server...done.
    Check JDK version for Ambari Server...
    JDK version found: 8
    Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
    Checking GPL software agreement...
    GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
    Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? 
    Completing setup...
    Configuring database...
    Enter advanced database configuration [y/n] (n)? y
    Configuring database...
    ==============================================================================
    Choose one of the following options:
    [1] - PostgreSQL (Embedded)
    [2] - Oracle
    [3] - MySQL / MariaDB
    [4] - PostgreSQL
    [5] - Microsoft SQL Server (Tech Preview)
    [6] - SQL Anywhere
    [7] - BDB
    ==============================================================================
    Enter choice (1): 3
    Hostname (localhost): 192.168.2.211
    Port (3306): 
    Database name (ambari): kylin_ambari
    Username (ambari): 
    Enter Database Password (bigdata): 
    Re-enter password: 
    Configuring ambari database...
    Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y
    Configuring remote database connection properties...
    WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
    Proceed with configuring remote database connection properties [y/n] (y)? 
    Extracting system views...
    ambari-admin-2.7.6.0.0.jar
    ..
    Ambari repo file doesn't contain latest json url, skipping repoinfos modification
    Adjusting ambari-server permissions and ownership...
    Ambari Server 'setup' completed successfully.
    [root@hidataplus yum.repos.d]# 

    5.3 启动ambari


    ambari-server start 
    ambari-server status

    【Ambari】银河麒麟V10 ARM64架构,第10张

    登录 IP:8080,账号密码默认:admin。


    六、HDP 安装


    第一次登录进去的默认界面如下图所示,点击红框按钮。

    【Ambari】银河麒麟V10 ARM64架构,第11张

    输入集群名称 ,点击NEXT

    【Ambari】银河麒麟V10 ARM64架构,第12张

    选择HDP的版本,这里使用的是3.3版本,repo源根据前面的配置文件填写

    【Ambari】银河麒麟V10 ARM64架构,第13张

    输入节点主机名列表

    sz  /root/.ssh/id_rsa

    私钥文件下载到本地上传选择“CHOOSE FILE”,直接复制可能 报错,所以选择文件稳妥一点。

    【Ambari】银河麒麟V10 ARM64架构,第14张

    弹出Warning(一般是主机名不符合规范),可以忽略。

    【Ambari】银河麒麟V10 ARM64架构,第15张

    等待服务器注册,如下的 check 信息要检查通过才行,可能会检查出问题,有什么问题就解决什么问题。

    【Ambari】银河麒麟V10 ARM64架构,第16张

    NEXT按钮可用,直接点击开始下一步。(如果有Warning,则可忽略)

    【Ambari】银河麒麟V10 ARM64架构,第17张

    选择要安装的组件(按需选择,不用参考下图),千万别一下子都选了, 选太多容易崩,所以按需安装。

    【Ambari】银河麒麟V10 ARM64架构,第18张

    忽略Warning 直接安装

    【Ambari】银河麒麟V10 ARM64架构,第19张

    选择每个节点具体安装的组件,如下是单机测试环境(测试的话,自动默认就行,生产安装,需要做节点规划)

    【Ambari】银河麒麟V10 ARM64架构,第20张

    选择服务器上安装的客户端

    【Ambari】银河麒麟V10 ARM64架构,第21张

    配置密码,建议使用一种,好记 , 如: 123456@001

    【Ambari】银河麒麟V10 ARM64架构,第22张

    配置hive数据库,测试通过

    【Ambari】银河麒麟V10 ARM64架构,第23张

     注意:测试连接不通过可以按照提示, 手动设置驱动包的位置:
    ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

    ranger数据库配置,测试通过

    【Ambari】银河麒麟V10 ARM64架构,第24张

    存储路径修改,根据需求自行修改,一般日志和数据存储选择数据盘

    【Ambari】银河麒麟V10 ARM64架构,第25张

    账号确认

    【Ambari】银河麒麟V10 ARM64架构,第26张

    组件参数修改

    根据资源大小自行修改,像NameNode ,HBase Master ,默认都是1G ,根据生产环境资源情况自行修改。

    【Ambari】银河麒麟V10 ARM64架构,第27张

    Next ,确认下一步

    【Ambari】银河麒麟V10 ARM64架构,第28张

    REVIEW , 点击DEPLOY

    【Ambari】银河麒麟V10 ARM64架构,第29张

    安装完成, 如下 黄色代表某些组件 启动失败,没关系我们手动 一个一个组件启动,遇到问题再解决。

    【Ambari】银河麒麟V10 ARM64架构,第30张

    点击 COMPLETE

    【Ambari】银河麒麟V10 ARM64架构,第31张

    安装完成,启动失败的组件我们逐个击破就行。

    【Ambari】银河麒麟V10 ARM64架构,第32张

    开启NameNdoe ,HMaster,ResourceManager高可用在页面操作即可,比较简单。


    七、遇到的问题


    UseG1GC参数问题


    报错日志如下:

    [root@windp-aio hive]# cat hive-server2.err 
    Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    

    需要去掉 G1 参数

    【Ambari】银河麒麟V10 ARM64架构,第33张

    将搜索到的 我们都去掉

    【Ambari】银河麒麟V10 ARM64架构,第34张

    hbase 启动报错 ,在Ambari 页面将 'UseG1GC' 参数去掉后 保存重启 问题解决。

    [hdfs@windp-aio hbase]$ cat hbase-hbase-master-windp-aio.out
    Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    [hdfs@windp-aio hbase]$ 

    八、开启Kerberos


    8.1 安装kerberos


    kerberos 入门介绍:【Hadoop】通俗易懂 Kerberos原理_kerberos principal_开着拖拉机回家的博客-CSDN博客

    yum 安装 kerberos

    # 在Server机子上安装Kerberos
    yum install krb5-server krb5-libs krb5-workstation -y
    # 在Client 节点安装
    yum install -y krb5-workstation krb5-libs

    配置krb5.conf

    cat /etc/krb5.conf
    [libdefaults]
      # renew_lifetime = 7d
      forwardable = true
      default_realm = WINNER.COM  # 需修改
      ticket_lifetime = 24h
      dns_lookup_realm = false
      dns_lookup_kdc = false
      default_ccache_name = /tmp/krb5cc_%{uid}
      #default_tgs_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
      #default_tkt_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    [logging]
      default = FILE:/var/log/krb5kdc.log
      admin_server = FILE:/var/log/kadmind.log
      kdc = FILE:/var/log/krb5kdc.log
    [realms]
      WINNER.COM = { # 需修改
        admin_server = windp-aio
        kdc = windp-aio
      }
    

    编辑Kdc文件

     cat /var/kerberos/krb5kdc/kdc.conf
    [kdcdefaults]
     kdc_ports = 88
     kdc_tcp_ports = 88
    [realms]
     WINNER.COM = {  # 需修改
      #master_key_type = aes256-cts
      acl_file = /var/kerberos/krb5kdc/kadm5.acl
      dict_file = /usr/share/dict/words
      admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
      permitted_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
     }

    编辑acl文件

    vim /var/kerberos/krb5kdc/kadm5.acl
    */admin@WINNER.COM   *
    • *: 全部的主体
    • /admin: admin实例
    • @WINNER.COM: 领域
    • 最后 *:全部权限

    此授权的意思:授予admin 实例的全部主体对应的WINNER.COM 领域的全部权限,也就是创建 Kerberos 主体的时候如果实例为 admin , 就具有WINNER.COM领域的全部权限,比如创建如下的主体 user1/admin 就拥有全部的 WINNER.COM 领取的权限。

    Principal:安全个体,具有唯一命名的客户端和服务器,命名规则:主体+实例+领域 ,如:

    admin/admin@WINNER.COM

    创建完成后/var/kerberos/krb5kdc目录下会生成对应的文件

    【Ambari】银河麒麟V10 ARM64架构,第35张

    创建kdc数据库

    [root@windp-aio ~]# kdb5_util create -s -r WINNER.COM
    Loading random data
    Initializing database '/var/kerberos/krb5kdc/principal' for realm 'WINNER.COM',
    master key name 'K/M@WINNER.COM'
    You will be prompted for the database Master Password.
    It is important that you NOT FORGET this password.
    Enter KDC database master key: 
    Re-enter KDC database master key to verify: 

    创建管理员主体

    创建管理员主体/实例
    [root@windp-aio ~]# kadmin.local -q "addprinc admin/admin"
    Authenticating as principal root/admin@WINNER.COM with password.
    WARNING: no policy specified for admin/admin@WINNER.COM; defaulting to no policy
    Enter password for principal "admin/admin@WINNER.COM": 
    Re-enter password for principal "admin/admin@WINNER.COM": 
    Principal "admin/admin@WINNER.COM" created.

    启动服务

    systemctl start krb5kdc
    systemctl start kadmin
    systemctl status krb5kdc
    systemctl status kadmin

    【Ambari】银河麒麟V10 ARM64架构,第36张

    8.2 Ambari启动kerberos


    进入Ambari 管理界面,启用Kerberos,“ENABLE KERBEROS”

    【Ambari】银河麒麟V10 ARM64架构,第37张

    Warning 不用管

    【Ambari】银河麒麟V10 ARM64架构,第38张

    并按如下图选MIT KDC, 下面的三个框我们都选上

    【Ambari】银河麒麟V10 ARM64架构,第39张

    KDC hosts填写 hostname,确保测试通过

    【Ambari】银河麒麟V10 ARM64架构,第40张

    Kerberos Client 安装和测试

    【Ambari】银河麒麟V10 ARM64架构,第41张

    配置文件确认

    【Ambari】银河麒麟V10 ARM64架构,第42张

    可以下载 kerberos csv 文件, 然后Next

    【Ambari】银河麒麟V10 ARM64架构,第43张

    stop service , Next

    【Ambari】银河麒麟V10 ARM64架构,第44张

    全部通过后, Next ,如若失败 重试解决问题

    【Ambari】银河麒麟V10 ARM64架构,第45张

    start All service

    【Ambari】银河麒麟V10 ARM64架构,第46张

    呀, 报错了,意料之中吧 ,直接COMPLETE ,然后查看启动不了的组件

    【Ambari】银河麒麟V10 ARM64架构,第47张

    启动完成

    【Ambari】银河麒麟V10 ARM64架构,第48张


    参考文章:

    麒麟系统安装HDP【已解决】_Danger_Life的博客-CSDN博客