博主 “开着拖拉机回家”带您 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)

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系列 是一款体验好用、安全好用、生态好用、行业好用的新一代图形化桌面操作系统,为用户开启安全可信、流畅愉悦的体验之旅。

开放麒麟和银河麒麟桌面操作系统的关系类似于深度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-toolsbash-completionlrzsztreevimwgetnet-tools-y

4.1.2 主机名修改

hostnamectl set-hostnamewindp-aio

4.1.3 主机名映射的修改

cat > /etc/hosts << EOF192.168.2.130windp-aioEOF

4.1.4 SSH免密登录

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

一直回车就行

4.1.5 关闭防火墙

systemctl stop firewalldsystemctl disable firewalldsystemctl statusfirewalld

4.1.6 关闭SELINUX

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

4.1.7 打开文件数

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

4.1.8 关闭Linux的THP服务

vim /etc/rc.localif test -f /sys/kernel/mm/transparent_hugepage/defrag; thenecho never > /sys/kernel/mm/transparent_hugepage/defragfiif test -f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabledfi

4.1.9 时钟同步

yum install chrony -ysystemctl startchronydsystemctl enable chronydsystemctl status chronyd

4.1.10JDK

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

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

4.1.11 安装httpd服务 (每台)

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

4.2 repo配置


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

mkdir -p /hadoop/hdpcd /hadoop/hdptar -zxvf HDP-3.3.1.0-004-centos7_8-x86_64.tar.gztar -zxvf ambari-2.7.6.0-4-centos7_8-x86_64.tar.gztar -zxvf HDP-GPL-3.3.1.0-004-centos7_8-x86_64.tar.gztar -zxvf HDP-UTILS-1.1.0.22-centos7_8-x86_64.tar.gzmkdirambarimvmv 2.7.6.0-4 ambarimv gpl-3.3.1.0-004HDP-GPLcd /var/www/html/ln -s /hadoop/hdp/ambari ./ambariln -s /hadoop/hdp/HDP ./HDPln -s /hadoop/hdp/HDP-GPL ./HDP-GPLln -s /hadoop/hdp/HDP-UTILS ./HDP-UTILS

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

cat >/etc/yum.repos.d/ambari.repo< /etc/yum.repos.d/hdp-utils.repo< /etc/yum.repos.d/hdp.repo << EOF[HDP-3.3.1.0]name=HDP Version - HDP-3.3.1.0baseurl=http://windp-aio/HDP/3.3.1.0-004gpgcheck=0enabled=1[HDP-GPL]name=HDP-GPLbaseurl=http://windp-aio/HDP-GPL/gpgcheck=0EOF

yum 源查看

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

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


五、安装Ambari-server


5.1 安装ambari-server


 yum -y install ambari-server

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 setupUsing python/usr/bin/pythonSetup ambari-serverChecking 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)? yCustomize user account for ambari-server daemon [y/n] (n)? yEnter 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_162Validating JDK on Ambari Server...done.Check JDK version for Ambari Server...JDK version found: 8Minimum 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.htmlEnable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? Completing setup...Configuring database...Enter advanced database configuration [y/n] (n)? yConfiguring 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): 3Hostname (localhost): 192.168.2.211Port (3306): Database name (ambari): kylin_ambariUsername (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)? yConfiguring 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.sqlProceed 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 modificationAdjusting ambari-server permissions and ownership...Ambari Server 'setup' completed successfully.[root@hidataplus yum.repos.d]# 

5.3 启动ambari


ambari-server start ambari-server status

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


六、HDP 安装


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

输入集群名称 ,点击NEXT

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

输入节点主机名列表

sz/root/.ssh/id_rsa

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

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

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

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

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

忽略Warning 直接安装

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

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

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

配置hive数据库,测试通过

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

ranger数据库配置,测试通过

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

账号确认

组件参数修改

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

Next ,确认下一步

REVIEW , 点击DEPLOY

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

点击 COMPLETE

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

开启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 参数

将搜索到的 我们都去掉

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

[hdfs@windp-aio hbase]$ cat hbase-hbase-master-windp-aio.outError: 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机子上安装Kerberosyum 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 = 7dforwardable = truedefault_realm = WINNER.COM# 需修改ticket_lifetime = 24hdns_lookup_realm = falsedns_lookup_kdc = falsedefault_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.logadmin_server = FILE:/var/log/kadmind.logkdc = FILE:/var/log/krb5kdc.log[realms]WINNER.COM = { # 需修改admin_server = windp-aiokdc = windp-aio}

编辑Kdc文件

 cat /var/kerberos/krb5kdc/kdc.conf[kdcdefaults] kdc_ports = 88 kdc_tcp_ports = 88[realms] WINNER.COM = {# 需修改#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabpermitted_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目录下会生成对应的文件

创建kdc数据库

[root@windp-aio ~]# kdb5_util create -s -r WINNER.COMLoading random dataInitializing 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 policyEnter password for principal "admin/admin@WINNER.COM": Re-enter password for principal "admin/admin@WINNER.COM": Principal "admin/admin@WINNER.COM" created.

启动服务

systemctl start krb5kdcsystemctl start kadminsystemctl status krb5kdcsystemctl status kadmin

8.2 Ambari启动kerberos


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

Warning 不用管

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

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

Kerberos Client 安装和测试

配置文件确认

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

stop service , Next

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

start All service

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

启动完成


参考文章:

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