ambari 适配统信1050e
Apache Ambari 是一个用于管理、监控和维护 Hadoop 集群的开源管理平台。统信 UOS 是中国一家操作系统公司开发的一款基于 Linux 的操作系统。要在统信 UOS 上安装和运行 Ambari
背景
现在国内的系统基本都需要适配国产化系统,本文详细介绍amabri适配统信1050e遇到的问题,和解决的方法,实际上ambari我们也实现了国产,因涉及公司产品,所以这里就只用ambari原生代替
环境准备
步骤 1 准备
- 操作系统:确保统信 UOS 1050e 已启动并更新到最新状态。
- 检查系统要求:确保系统满足 Ambari 的最低硬件要求(CPU、内存、磁盘空间等)
- 集群至少3台主机
步骤 2 安装依赖项
-
安装 Java:
Ambari 需要 JDK 1.8 或更高版本。在统信 UOS 上,可以安装 OpenJDK:
sudo apt-get install openjdk-8-jdk -
安装其他依赖项:
sudo apt-get install wget curl git python
步骤 3:配置数据库
Ambari 需要一个关系型数据库来存储其元数据。这里以 MySQL 为例:
-
安装 MySQL:
sudo apt-get install mysql-server -
启动并保护 MySQL:
sudo systemctl start mysql sudo mysql_secure_installation -
创建 Ambari 数据库并用户:
mysql -u root -p CREATE DATABASE ambari; CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'localhost'; FLUSH PRIVILEGES; EXIT;
步骤 4:安装 Ambari
-
下载 Ambari Repository 文件:
从 Apache Ambari 下载页面获取统信 UOS 兼容的 RPM 文件。如果官方仓库不包含 UOS,尝试使用与 UOS 版本最接近的 CentOS 或 Ubuntu 版本的 repository。
-
添加 Ambari Repository:
下载并安装 Ambari repository:
sh wget http://public-repo-1.hortonworks.com/ambari/ambari/2.x/updates/2.7.5/ambari.repo sudo mv ambari.repo /etc/apt/sources.list.d/ sudo apt-get update -
安装 Ambari Server 和 Agent:
sudo apt-get install ambari-server sudo apt-get install ambari-agent
步骤 5:启动并配置 Ambari
-
设置 Ambari Server:
sudo ambari-server setup根据提示配置 Ambari Server,包括数据库连接信息(选择 MySQL 作为数据库)。
-
启动 Ambari Server:
sudo ambari-server start -
配置 Ambari Agent:
编辑
/etc/ambari-agent/conf/ambari-agent.ini文件,设置hostname为 Ambari Server 的主机名或 IP 地址。sudo ambari-agent start
注册主机失败
Load key "/var/run/ambari-server/bootstrap/2/sshKey": invalid format ocdp@ha
解决
直接使用id_rsa文件,不要copy文件内容
开启kerberos报错
查看日志
/var/log/ambari-server/ambari-server.log
2024-10-25 17:38:04,244 WARN [Server Action Executor Worker 1990] ServerActionExecutor:471 - Task #1990 failed to complete execution due to thrown exception: java.lang.NullPointerException:null
java.lang.NullPointerException
at org.apache.ambari.server.serveraction.kerberos.CreateKeytabFilesServerAction.cacheKeytab(CreateKeytabFilesServerAction.java:420)
at org.apache.ambari.server.serveraction.kerberos.CreateKeytabFilesServerAction.createKeytab(CreateKeytabFilesServerAction.java:352)
at org.apache.ambari.server.serveraction.kerberos.CreateKeytabFilesServerAction.processIdentity(CreateKeytabFilesServerAction.java:244)
at org.apache.ambari.server.serveraction.kerberos.KerberosServerAction.processIdentities(KerberosServerAction.java:458)
at org.apache.ambari.server.serveraction.kerberos.CreateKeytabFilesServerAction.execute(CreateKeytabFilesServerAction.java:105)
at org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.execute(ServerActionExecutor.java:550)
at org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.run(ServerActionExecutor.java:466)
at java.lang.Thread.run(Thread.java:748)
解决
加密方式 只保留ase rc4即可,系统不支持多种加密所以报空指针异常
开启kerberos nodemanger启动不了
报错
[/usr/hdp/3.1.0.0-78/hadoop-yarn/bin/container-executor, --checksetup]
2024-01-16 20:12:57,397 WARN nodemanager.LinuxContainerExecutor (LinuxContainerExecutor.java:init(310)) - Exit code from container executor initialization is : 127
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.privileged.PrivilegedOperationException: ExitCodeException exitCode=127: /usr/hdp/3.1.0.0-78/hadoop-yarn/bin/container-executor: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
at org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.privileged.PrivilegedOperationExecutor.executePrivilegedOperation(PrivilegedOperationExecutor.java:182)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.privileged.PrivilegedOperationExecutor.executePrivilegedOperation(PrivilegedOperationExecutor.java:208)
at org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.init(LinuxContainerExecutor.java:306)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:403)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:962)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:1042)
Caused by: ExitCodeException exitCode=127: /usr/hdp/3.1.0.0-78/hadoop-yarn/bin/container-executor: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
分析
这里是验证,可以直接从centos7上将libcrypto.so.10 copy到/lib64下即可
解决
ln -s /lib64/libcrypto.so.1.0.2k /lib64/libcrypto.so.1.0.2k
总结
在统信 UOS 上适配和运行 Ambari 需要确保系统满足依赖项和环境要求,安装过程与在其他兼容的操作系统上类似。请根据具体的操作系统环境进行适当调整,如果遇到兼容性问题,参考官方文档或社区支持获取更多帮助。