01.Ambari自定义服务开发-项目初始化

news2024/9/21 8:00:03

文章目录

    • 基础环境
    • 在PyCharm中初始化项目
    • 配置项目相关依赖
      • 在PyCharm中导入依赖

基础环境

  • PyCharm
  • Python 2.7
  • 已经安装完成的Ambari服务端

在PyCharm中初始化项目

  • 项目名称就是我们要安装服务的名称,要求名称为全大写,如:DORIS
  • 创建Python2.7环境,并应用

image-20240403163927279

image-20240218162145549

image-20240218162320073

image-20240403164200345

image-20240403164245082

到这里空项目创建完成。

配置项目相关依赖

需要用到ambari中的resource_management项目代码,不然会找不到依赖

我们可以从下面几个目录找到项目代码所在位置,下面两个位置中的resource_management代码是一致的,取其中一个就可以:

  • ambari-server所在服务器的:
    • /usr/lib/ambari-server/lib/resource_management
  • ambari-agent所在服务器的:
    • /usr/lib/ambari-agent/lib/resource_management

项目代码结构如下:

$ ll /usr/lib/ambari-server/lib/resource_management/
total 16
drwxr-xr-x. 5 root root 4096 Jan 19 15:33 core
-rw-r--r--. 1 root root  887 Dec 16  2019 __init__.py
-rw-r--r--. 2 root root 1043 Dec 16  2019 __init__.pyc
-rw-r--r--. 2 root root 1043 Dec 16  2019 __init__.pyo
drwxr-xr-x. 6 root root  130 Jan 19 15:33 libraries

进入服务器压缩依赖,将依赖下载到本地

# 进入依赖代码目录
cd /usr/lib/ambari-server/lib/
# 压缩依赖
tar -czvf resource_management.tar.gz resource_management/
# 下载依赖到本地
sz resource_management.tar.gz

在本地开发环境解压resource_management.tar.gz,解压后结构

image-20240218165126381

在PyCharm中导入依赖

点击项目中右下角环境

image-20240218170939315

image-20240218170959851

可以看到我们虚拟环境的目录

image-20240218171019224

上面图片可以看到环境的目录为:~/opt/anaconda3/envs/ambari-custom

根据这个目录进入:~/opt/anaconda3/envs/ambari-custom/lib/python2.7/site-packages

将我们依赖代码resource_management目录放到~/opt/anaconda3/envs/ambari-custom/lib/python2.7/site-packages目录下。放完之后如下图所示

image-20240218171141758

至此项目基础环境搭建完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网格处理库 pmp-library 编译及应用笔记 -- 已全部解决√

多边形网格处理库Polygon Mesh Processing Library,简称pmp-library的 编译及应用笔记 – 已全部解决√ 官网:https://www.pmp-library.org/index.html 代码:https://github.com/pmp-library/pmp-library 平台:Ubuntu1 20.04&…

知识图谱——Neo4j数据库实战

数据与代码链接见文末 1.Neo4j数据库安装 JDK 安装:https://www.oracle.com/java/technologies/javase-downloads.html Neo4j 安装:https://neo4j.com/download-center/ 配置好 JDK 和 Neo4j 的环境变量

多电商账户为什么要用指纹浏览器?

随着电子商务的蓬勃发展,越来越多的商家选择开设多店来扩大经营规模。然而多店运营也带来了一系列的挑战,其中之一就是账号安全。 1. 了解反检测浏览器和代理服务器 在我们开始讨论如何有效地使用反检测浏览器之前,我们首先需要了解这两个工…

Excel 宏录制与VBA编程 —— 12、文本字符串类型相关(转换、拆分、分割、连接、替换、查找、“Like“)

字符串分割,文末示例(文末代码3附有源码) 代码1 - 基础字符串 代码2 - 字符串拆分 代码3 - 字符串分割 Option ExplicitSub WorkbooksClear()Dim DataRange As RangeSet DataRange Range("C2:E12")DataRange.Clear End SubSub Wo…

爆火网络的 AI 粘土风照片,如何用免费的AI绘画工具Stable Diffusion实现?只需一个Lora即可轻松解决!

大家好,我是画画的小强 最近粘土滤镜照片在小某书上爆火,随便一翻就出现好多 这些丑可爱丑可爱的粘土滤镜是这样紫。 这些照片都是通过手机APP Remini 来转绘的。Remini原来是由国人开发,据说卖给了国外公司,现在排在了谷歌商店下…

最年轻获奖者诞生!一文带你了解历届国家最高科学技术奖获奖人

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨沛贤 深度好文:4000字丨15分钟阅读 作为国家层面面向科学、技术领域的最高级别奖励,国家最高科学技术奖于 2000 年由国务院设立,每年评选…

8. Revit API UI: DockablePane(可停靠窗口)

8. Revit API UI: DockablePane(可停靠窗口) 接着前面的预览控件和外部事件,这一篇,我们来看看可停靠窗口DockablePane的实现。 实现流程 可停靠窗口相关的类与接口主要有DockablePane和IDockablePageProvider,都是…

探索Facebook的未来世界:数字社交的演进之路

在数字化和全球化的浪潮中,社交网络如Facebook已经成为了人们日常生活不可或缺的一部分。然而,随着技术的迅猛发展和用户需求的不断变化,Facebook正在经历着社交平台的演进之路。本文将探索Facebook的未来世界,分析数字社交的发展…

Android 13 为应用创建快捷方式

参考 developer.android.google.cn 创建快捷方式 来自官网的说明: 静态快捷方式 :最适合在用户与应用互动的整个生命周期内使用一致结构链接到内容的应用。由于大多数启动器一次仅显示四个快捷方式,因此静态快捷方式有助于以一致的方式执行…

ADC位数、增益调制与参考电压

位数:12bit、10bit、8bit 一般就是对应的ADC值分别为:4095、1023、255,也就选用对应位数时ADC的最大值。 增益的作用 增益设置用于放大或缩小输入信号,使其适配到ADC的输入范围。增益设置可以通过配置SAADC的通道配置寄存器来实…

第一后裔The First Descendant开服时间、配置要求一览

第一后裔是一款采用虚幻5引擎打造的第三人称合作射击动作RPG,玩家将化身为一名继承者,通过各种任务和故事不断成长,为守护人类与对抗侵略者战斗。该作即将上线,为了不让玩家们错过这款精彩的游戏,本文整理了第一后裔上…

[行业原型] Web端原型案例:康欣医疗后台管理系统

​医疗管理系统是一个业务复杂,功能庞大的系统,以下为HIS医院管理系统的常见模块,供大家参考。 本周为大家带来Web端原型案例:康欣医疗后台管理系统,先上原型: 完整文档加班主任微信号 添加班主任回复 “1…

推荐两款电脑文件处理工具,强大到你不舍得卸载

EasyFileCount EasyFileCount是一款基于Java开发的多功能文件管理工具,旨在帮助用户更轻松地管理和优化他们的文件存储。以下是EasyFileCount的主要功能和特点: 查看文件夹大小:用户可以快速统计和查看文件夹的总大小,实时显示各…

基于C++实现的EventLoop与事件驱动编程

一,概念介绍 事件驱动编程(Event-Driven)是一种编码范式,常被应用在图形用户界面,应用程序,服务器开发等场景。 采用事件驱动编程的代码中,通常要有事件循环,侦听事件,…

Qt样式表及相关案例

一.Qt样式表介绍 Qt样式表是一个可以自定义部件外观的强大机制,样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。 样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上,也可以使用QWidget::se…

突然!某大客户核心凌晨突然崩溃....

这几天实在太忙,刚弄完文档。业务线的同事就找到我,说一个银行客户的核心系统昨晚出了故障,还没找到原因,希望能帮忙分析下。 从提供的信息来看是业务跑任务报错,遇到了Oracle-00600和ora-07445 错误。 Doing block re…

使用Python实现深度学习模型通常涉及以下几个步骤

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…

2024年【焊工(初级)】实操考试视频及焊工(初级)考试试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)实操考试视频根据新焊工(初级)考试大纲要求,安全生产模拟考试一点通将焊工(初级)模拟考试试题进行汇编,组成一…

Windows条件竞争提权漏洞复现(CVE-2024-300889)

漏洞原理 当内核将当前令牌对象的 _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION 复制到用户模式时,错误位于函数 AuthzBasepCopyoutInternalSecurityAttributes 内部,该模式的结构如下: //0x30 bytes (sizeof) struct _AUTHZBASEP_SECURIT…

有哪些方法可以恢复ios15不小心删除的照片?

ios15怎么恢复删除的照片?在手机相册里意外删除了重要的照片?别担心!本文将为你介绍如何在iOS 15系统中恢复已删除的照片。无需专业知识,只需要按照以下步骤操作,你就能轻松找回宝贵的回忆。 一、从iCloud云端恢复删除…