🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁
感谢点赞和关注 ,每天进步一点点!加油!
🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁
目录
一、版本信息
二、HiDataPlus介绍
2.1 Apache Components
2.2 Ambari Version
2.3 Java支持版本
2.4 Databases支持版本
四、服务器基础环境配置
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 |
国内开源的Ambari 官网:一个可持续升级的免费Hadoop发行版 | HiDataPlus(HDP)
组件名称 | 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 |
与之前的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 |
Name | Version |
OracleJDK(x86) | JDK8 |
OpenJDK(x86aarch64) | JDK8 |
BiShengJDK(aarch64) | JDK8 |
Name | Version |
PostgreSQL | 10.7 10.5 10.2 9.6 |
MySQL | 5.7 |
MariaDB | 10.2 |
银河麒麟操作系统 V10 SP系列 是一款体验好用、安全好用、生态好用、行业好用的新一代图形化桌面操作系统,为用户开启安全可信、流畅愉悦的体验之旅。
开放麒麟和银河麒麟桌面操作系统的关系类似于深度deepin和统信UOS。前者为根社区版本,后者是上游商业版本。社区版本更注重功能也更激进,商业版本则更注重稳定。
简单区别:
yum install open-vm-tools bash-completion lrzsz tree vim wget net-tools -y
hostnamectl set-hostname windp-aio
cat > /etc/hosts << EOF 192.168.2.130 windp-aio EOF
ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub windp-aio
一直回车就行
systemctl stop firewalld systemctl disable firewalld systemctl status firewalld
4.1.6 关闭SELINUX
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
vim /etc/security/limits.conf root soft nofile 409600 root hard nofile 65535 # End of file
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
yum install chrony -y systemctl start chronyd systemctl enable chronyd systemctl status chronyd
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博客
yum -y install httpd systemctl start httpd.service systemctl enable httpd.service systemctl enable httpd.service
将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
配置的源可以在浏览器查看
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
[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]#
ambari-server start ambari-server status
登录 IP:8080,账号密码默认:admin。
第一次登录进去的默认界面如下图所示,点击红框按钮。
输入集群名称 ,点击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.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 入门介绍:【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目录下会生成对应的文件
创建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 管理界面,启用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博客
上一篇:ACCESS从零入门教程