🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁
感谢点赞和关注 ,每天进步一点点!加油!
🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁
目录
一、版本信息
二、HiDataPlus介绍
2.1 Apache ***ponents
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 ***ponents
组件名称 |
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-tools bash-***pletion lrzsz tree vim wget ***-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博客
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-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 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 a***ount for ambari-server daemon [y/n] (n)? y
Enter user a***ount 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)?
***pleting 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' ***pleted su***essfully.
[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
安装完成, 如下 黄色代表某些组件 启动失败,没关系我们手动 一个一个组件启动,遇到问题再解决。
点击 ***PLETE
安装完成,启动失败的组件我们逐个击破就行。
开启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 o***urred. 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 o***urred. Program will exit.
需要去掉 G1 参数
将搜索到的 我们都去掉
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 o***urred. 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.*** # 需修改
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_***ache_name = /tmp/krb5***_%{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.*** = { # 需修改
admin_server = windp-aio
kdc = windp-aio
}
编辑Kdc文件
cat /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
WINNER.*** = { # 需修改
#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.*** *
- *: 全部的主体
- /admin: admin实例
- @WINNER.***: 领域
- 最后 *:全部权限
此授权的意思:授予admin 实例的全部主体对应的WINNER.*** 领域的全部权限,也就是创建 Kerberos 主体的时候如果实例为 admin , 就具有WINNER.***领域的全部权限,比如创建如下的主体 user1/admin 就拥有全部的 WINNER.*** 领取的权限。
Principal:安全个体,具有唯一命名的客户端和服务器,命名规则:主体+实例+领域 ,如:
admin/admin@WINNER.***
创建完成后/var/kerberos/krb5kdc目录下会生成对应的文件
创建kdc数据库
[root@windp-aio ~]# kdb5_util create -s -r WINNER.***
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'WINNER.***',
master key name 'K/M@WINNER.***'
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.*** with password.
WARNING: no policy specified for admin/admin@WINNER.***; defaulting to no policy
Enter password for principal "admin/admin@WINNER.***":
Re-enter password for principal "admin/admin@WINNER.***":
Principal "admin/admin@WINNER.***" created.
启动服务
systemctl start krb5kdc
systemctl start kadmin
systemctl status krb5kdc
systemctl 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
呀, 报错了,意料之中吧 ,直接***PLETE ,然后查看启动不了的组件
启动完成
参考文章:
麒麟系统安装HDP【已解决】_Danger_Life的博客-CSDN博客