【麒麟系统安装HDP,报错处理】更新篇

news/2025/1/31 7:04:09/

在这里插入图片描述

麒麟系统安装HDP

  • 麒麟系统安装HDP
  • 第一个版本超链接:
    • 1、软件版本介绍
    • 2、文件替换
      • 修改oc_check.py伪装麒麟系统成centos8
      • yum_manager.py
      • script.py
      • 以os_check.py为例伪装成centos
    • 3 报错解决
      • 3.1 解决KeyError: 'HDP-3.1'(所有机器)
      • 3.2 安装smartsense-hst(所有机器)
      • 3.3 解决Non-ASCII character '\xe5' in file(所有机器)
      • 3.4 解决ImportError: No module named yum(所有机器)
      • 卸载
        • 卸载python
        • 卸载yum
        • python2
        • yum
        • python3和dnf
        • 安装
        • 更新三个内容
        • openssl、nmap、libssh2、util-linux-devel
      • 3.5 解决redhat-lsb报错(所有机器)
      • 3.6 解决No package hadoop_${stack_version}
      • 3.7 解决hive无法连接数据库
      • 3.8 报错ambari-server setup
    • 4、依赖报错离线下载
    • 5、报错
      • /site-packages/rpm/ _rpm. so: undefined symbol: rpmdsNotify
      • Script.py
      • mportError: librpm.so.3: cannot open shared object file: No such file or dir

麒麟系统安装HDP

第一个版本超链接:

https://blog.csdn.net/weixin_44385419/article/details/130845534

1、软件版本介绍

操作系统:Kylin-Server-10-SP2-x86_64
HDP版本: 3.1.5.0-152

2、文件替换

本安装文件中的kylin.zip

本计划逐个检查然后手动添加,由于比较紧急,直接替换了。
如果时间充裕喜欢研究,可以对比下和原本的有啥区别。

比较好的一个对比软件:Beyond_Compare-4-Win-Release.exe

os_check.py
os_utils(agent).py
os_utils(server).py
yum_manager.py
做好备份

修改oc_check.py伪装麒麟系统成centos8

/var/lib/ambari-agent/tmp/ambari_commons/os_check.py
/usr/lib/ambari-server/lib/ambari_commons/os_check.py
/usr/lib/ambari-agent/lib/ambari_commons/os_check.py

yum_manager.py

server没改
/usr/lib/ambari-server/lib/ambari_commons/repo_manager/yum_manager.py
Agent修改
/usr/lib/ambari-agent/lib/ambari_commons/repo_manager/yum_manager.py

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

script.py

/usr/lib/ambari-agent/lib/resource_management/libraries/script

# STACK_VERSION_PLACEHOLDER = "${stack_version}"
STACK_VERSION_PLACEHOLDER = "3_1_1_3_1"

在这里插入图片描述

params.py
/var/lib/ambari-agent/cache/stack-hooks/before-INSTALL/scripts/
在这里插入图片描述在这里插入图片描述在这里插入图片描述

middle_test = default("/repositoryFile",None)
def explain(repo_file):groups_dict={}with open (repo_file,"rb") as f:for line in f:if line.startswith("#") or line.startswith(";") or len(line.strip()) == 0:continueif line.strip().find('[') == 0 and line.strip().find(']') == len(line.strip()) - 1:key = line.strip().lstrip('[').rstrip(']')groups_dict[key] = []else:if line.strip().find('baseurl') != -1:groups_dict[key].append(line.strip().split('=')[1])return groups_dictmiddle_list=[]
middle_dict={}
for i in middle_test['repositories']:if i['repoName']=="HDP":i['baseUrl']="".join(explain('/etc/yum.repos.d/hdp.repo')['HDP-3.1'])elif i['repoName']=="HDP-UTILS":i['baseUrl']="".join(explain('/etc/yum.repos.d/hdp.repo')['HDP-UTILS-1.1.0.22'])elif i['repoName']=="GPL":i['baseUrl']="".join(explain('/etc/yum.repos.d/hdp.repo')['HDP-3.1-GPL'])middle_list.append(i)
middle_dict['repositories']=middle_list
middle_dict['middle_repoVersion']='false'
middle_dict['repoVersion']="3.1"
repo_file=middle_dict

以os_check.py为例伪装成centos

以os_check.py为例,基本就是把kylin伪装成centos
----ps:这里开始伪装成了7,后面的其他操作也报错了,改成了7
----麒麟v10与centos7类似

在这里插入图片描述在这里插入图片描述

188行
在这里插入图片描述

80行
在这里插入图片描述

91行
在这里插入图片描述

3 报错解决

3.1 解决KeyError: ‘HDP-3.1’(所有机器)

修该完成后,给其他机器分发即可
scp -r /etc/yum.repos.d/hdp.repo root@vm1213:/etc/yum.repos.d/
scp -r /etc/yum.repos.d/hdp.repo root@vm1214:/etc/yum.repos.d/

vim /var/lib/ambari-agent/cache/stack-hooks/before-INSTALL/scripts/params.py
在这里插入图片描述

代码中识别的小写名称(所有机器)
之前安装使用的大写名称,这里就直接复制一个小写名称
cp /etc/yum.repos.d/HDP.repo /etc/yum.repos.d/hdp.repo

内容还需要检查调整。直接修改小写即可
在这里插入图片描述

根据代码可以看到会对中括号进行操作,这里修改的时候 [] 里面填写了对应的代码中的值
[HDP-3.1]
[HDP-UTILS-1.1.0.22]
[HDP-3.1-GPL]

vim hdp.repo

[HDP-3.1]
name=HDP-3.1
baseurl=http://vm1212/HDP/centos7/3.1.5.0-152
gpgcheck=1
gpgkey=http://vm1212/HDP/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://vm1212/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://vm1212/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1[HDP-3.1-GPL]
name=HDP-GPL Version - HDP-GPL-3.1.5.0
baseurl=http://vm1212/HDP-GPL/centos7/3.1.5.0-152
gpgcheck=1
gpgkey=http://vm1212/HDP-GPL/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

在这里插入图片描述

3.2 安装smartsense-hst(所有机器)

yum -y install smartsense-hst

3.3 解决Non-ASCII character ‘\xe5’ in file(所有机器)

/var/lib/ambari-agent/cache/stack-hooks/before-INSTALL/scripts/params.py

报错编码的问题
在文件首行加#coding=utf-8没起作用,定位到报错的行数,是中文注释,直接把中文注释删了(具体是哪个文件,根据报错提示修改)

3.4 解决ImportError: No module named yum(所有机器)

Python2无法引入需要替换python2的site-page包
ImportError: No module named yum
ImportError: dnf.cli

>>> import yum
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ImportError: No module named yum

在这里插入图片描述

卸载

(版本问题,依赖问题)
此问题主要是由于版本的问题造成了,做了一些尝试无果。直接卸载重新安装**(第二次安装并没有卸载,在安装之前 执行了 yum install python2、yum install python3 、yum install yum )**
**第一次的操作:**本操作卸载了python2 python3 yum 谨慎操作

卸载python

# 卸载
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps 
# 删除所有残余文件
whereis python |xargs rm -frv 
# 验证删除,返回无结果表示卸载干净了
whereis python

卸载yum

# 卸载
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps 
# 删除所有残余文件
whereis yum |xargs rm -frv 
# 验证删除,返回无结果表示卸载干净了
whereis yum

python2

如果卸载过python和yum需要下载重装
新建一个文件夹路径存放下载到的依赖包

wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-help-2.7.18-1.se.01.ky10.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-2.7.18-1.se.01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-setuptools-44.1.1-1.ky10.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-tools-2.7.18-1.se.01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-debug-2.7.18-1.se.01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-rpm-4.15.1-17.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-tkinter-2.7.18-1.se.01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-devel-2.7.18-1.se.01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-libxml2-2.9.10-11.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-rpm-4.15.1-17.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-ipaddress-1.0.23-1.ky10.noarch.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-4.2.23-3.p02.ky10.noarch.rpm  
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python2-libdnf-0.48.0-1.p01.ky10.x86_64.rpm  

yum

wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-4.2.23-3.p02.ky10.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-langpacks-0.4.5-10.oe1.noarch.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-langpacks-help-0.4.5-10.oe1.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-metadata-parser-1.1.4-24.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/yum-metadata-parser-help-1.1.4-24.ky10.x86_64.rpm

python3和dnf

wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/dnf-4.2.23-3.p02.ky10.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/dnf-automatic-4.2.23-3.p02.ky10.noarch.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/dnf-help-4.2.23-3.p02.ky10.noarch.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/dnf-plugins-core-4.0.17-1.ky10.noarch.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/dnf-plugins-core-help-4.0.17-1.ky10.noarch.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-3.7.9-6.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-gpgme-1.14.0-1.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-rpm-4.15.1-17.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-libdnf-0.48.0-1.p01.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-libcomps-0.1.10-2.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-hawkey-0.48.0-1.p01.ky10.x86_64.rpm 
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/python3-dnf-4.2.23-3.p02.ky10.noarch.rpm 

安装

rpm -Uvh --replacepkgs * --nodeps --force

更新三个内容

yum install python2
yum install python3
yum install dnf

可能还会报错site-packages

这里采用了其他方式。打包了centos7系统上安装的python2的site-packages文件
替换现有python2包
路径:/usr/lib/python2.7/site-packages所有文件
替换全部服务器/usr/lib/python2.7/site-packages(做好服务器备份)

本安装文件中的site-packages.tar.gz

其他以下依赖包根据报错自行下载

openssl、nmap、libssh2、util-linux-devel

在这里插入图片描述

wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/openssl-1.1.1f-4.p01.ky10.x86_64.rpm 
wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/openssl-libs-1.1.1f-4.p01.ky10.x86_64.rpm wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/nmap-7.80-1.ky10.x86_64.rpm wget 
https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/libssh2-1.9.0-6.ky10.x86_64.rpm 
wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/libssh2-help-1.9.0-6.ky10.noarch.rpm
wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/libssh2-devel-1.9.0-6.ky10.x86_64.rpmwget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/util-linux-devel-2.35.2-10.p01.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/util-linux-devel-2.35.2-10.p02.ky10.x86_64.rpm
wget http://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/util-linux-devel-2.35.2-8.p01.ky10.x86_64.rpm

3.5 解决redhat-lsb报错(所有机器)

在这里插入图片描述

redhat-lsb依赖 错误,麒麟仓库该依赖不支持下载centos8强制安装解决
安装
wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/kylin-lsb-5.0-1.p01.ky10.x86_64.rpm 保证依赖可用
验证:lsb_release
在这里插入图片描述

强制安装以下el8.x86_64.rpm结尾的依赖
http://mirrors.aliyun.com/centos/8.5.2111/AppStream/x86_64/os/Packages/?spm=a2c6h.25603864.0.0.50f21a7abxdrEu/

在这里插入图片描述

本文件包含redhat-lsb的麒麟版本但属于aarch64结构,并没有使用

安装成功后检测是否可用
在这里插入图片描述

3.6 解决No package hadoop_${stack_version}

resource_management.core.exceptions.Fail: No package found for -yarn(expected name: hadoop_3_1-yarn)

在这里插入图片描述

直接写死stack_version的版本

yum_manager.py使用的是本文档中的脚本

vim /usr/lib/ambari-agent/lib/ambari_commons/repo_manager/yum_manager.py
在这里插入图片描述

name=name.replace(“${stack_version}”,“3_1_5_0_152”)

3.7 解决hive无法连接数据库

输入hive命令如无法连接数据库,报下图错误
在这里插入图片描述

检查用户名密码配置
在这里插入图片描述

Mysql的hive库权限要给对应的机器
主要执行GRANT

CREATE USER 'hive'@'vm1213' IDENTIFIED BY 'bigdata'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'vm1213'; 
CREATE USER 'hive'@'vm1214' IDENTIFIED BY 'bigdata'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'vm1214';

3.8 报错ambari-server setup

在这里插入图片描述

主要是伪装成centos

如果还报错把ambari.properties替换成本文中的ambari.properties
vim /etc/ambari-server/conf/ambari.properties

4、依赖报错离线下载

根据需求修改上下文:

启动安装时如依赖找不到,依据自身情况下载
麒麟仓库:
https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/

麒麟官网
https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/Packages/

https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/Packages/

麒麟
https://archive.kylinos.cn/yum/v10/kylin-openstack-q/aarch64/aarch64/

5、报错

/site-packages/rpm/ _rpm. so: undefined symbol: rpmdsNotify

在这里插入图片描述
在这里插入图片描述

主要因为依赖冲突

 wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base                                                                                                             /x86_64/Packages/python2-rpm-4.15.1-17.ky10.x86_64.rpmrpm -Uvh --replacepkgs  /udata/dam/python2-rpm-4.15.1-17.ky10.x86_64.rpm  --nodeps --force

在这里插入图片描述

Script.py

在这里插入图片描述
在这里插入图片描述

cannot install the best candidate for the job
Failed to execute command '/usr/bin/yum -y install hadoop_3_1_5_0_152

RuntimeError: Failed to execute command ‘/usr/bin/yum -y install hadoop_3_1_5_0_152’, exited with code ‘1’, message: '错误:
问题: cannot install the best candidate for the job

  • nothing provides psmisc needed by hadoop_3_1_5_0_152-3.1.1.3.1.5.0-152.x86_64
  • nothing provides nc needed by hadoop_3_1_5_0_152-3.1.1.3.1.5.0-152.x86_64
    在这里插入图片描述

在这里插入图片描述

mportError: librpm.so.3: cannot open shared object file: No such file or dir

加软连接

 cd /usr/lib64
ln -s /usr/lib64/librpm.so.9.0.1 librpm.so.3ln -s /usr/lib64/librpmio.so.9 librpmio.so.3
ln -s /usr/lib64/liblua-5.3.so liblua-5.1.so

http://www.ppmy.cn/news/1011035.html

相关文章

UEditorPlus v3.3.0 图片上传压缩重构,UI优化,升级基础组件

UEditor是由百度开发的所见即所得的开源富文本编辑器&#xff0c;基于MIT开源协议&#xff0c;该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器&#xff0c;主要做了样式的定制&#xff0c;更符…

【沁恒蓝牙mesh】CH58x系统时钟配置与计算

本文主要记录了【沁恒蓝牙mesh】CH58x系统时钟配置与计算 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博客主页&#x1f525;&#x1f389; 支持我&am…

Java spring boot 全解Camunda 7,从 0 到 1 构建工作流平台——第二节:Spring boot 简单集成

目录 1. 成果展示2. 环境准备3. 项目构建3.1 项目结构3.2 引入Camunda 依赖3.3 启动spring boot 程序3.4 启动 web app 程序 引言&#xff1a;当今技术发展迅猛&#xff0c;企业对于业务流程的高效管理和自动化需求也日益增长。在这个背景下&#xff0c;Spring Boot和Camunda7成…

python爬虫2:requests库-原理

python爬虫2&#xff1a;requests库-原理 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 目录结构 文章目录 python爬虫2&#xff1a;requests库-原理1. 概述2. re…

在Python中应用RSA算法实现图像加密:基于Jupyter环境的详细步骤和示例代码

一、引言 在当今的数字化社会中,信息安全问题备受关注。随着数字图像在生活中的应用越来越广泛,图像的安全性和隐私性也成为人们关心的焦点。如何在网络上安全地传输和存储图像已经成为一项重要的挑战。RSA(Rivest-Shamir-Adleman)算法作为一种被广泛应用的公钥密码体系,…

第4章 字符串和格式化输入/输出

本章介绍以下内容&#xff1a; 函数&#xff1a;strlen() 关键字&#xff1a;const 字符串 如何创建、存储字符串 如何使用strlen()函数获取字符串的长度 用C预处理器指令#define和ANSIC的const修饰符创建符号常量 本章重点介绍输入和输出。与程序交互和使用字符串可以编写个性…

js-4:BOM是什么?

1、Bom是什么&#xff1f; BOM&#xff08;Browser Object Model&#xff09;&#xff0c;浏览器对象模型&#xff0c;提供了独立于内容与浏览器窗口进行交互的对象&#xff0c;其作用是跟浏览器做一些交互效果&#xff0c;例如如何进行页面的后退&#xff0c;前进&#xff0c;…

实施高级存储功能

实施高级存储功能 使用Stratis管理分层存储 Stratis 适用于Linux的本地存储管理解决方案。旨在提供更便利的方式执行存储的初始配置&#xff0c;对存储配置进行修改&#xff0c;并使用高级存储功能。 Stratis以管理物理存储设备池的服务形式运行&#xff0c;并透明地为新创…