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

文章目录

    • 基础环境
    • 在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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AUTOSAR以太网之IPv4

系列文章目录 返回总目录 文章目录 系列文章目录一、IPv4报文格式二、主要函数1.IPv4_Init()2.IPv4_Receive()3.IPv4_Transmit() 一、IPv4报文格式 二、主要函数 1.IPv4_Init() 这个函数除了对模块配置进行初始化,如果有分包和组包使能,则会对一些相关…

【高级篇】分区与分片:MySQL的高级数据管理技术(十三)

引言 在上一章,我们探讨了MySQL的主从复制与高可用性,这是构建健壮数据库架构的基石。现在,让我们深入到更高级的主题——分区与分片,这些技术对于处理大规模数据集和提升数据库性能至关重要。我们将详细介绍表分区的概念、类型及分片技术的应用,为下一章讨论MySQL集群与…

2.5 MAC扫描器

MAC扫描器是一款专门用来获取网卡物理地址的网络管理软件,相对于Windows系统的getmac命令,MAC扫描器功能更加强大,它不仅可以获取局域网计算机的MAC地址,还可以获取 Internet 中网卡的MAC地址。MAC扫描器通常被用来管理本地网络中…

22 Shell编程之免交互

目录 22.1 Here Document免交互 22.1.1 Here Document概述 22.1.2 Here Document免交互 22.1.3 Here Document变量设定 22.1.4 Here Document格式控制 22.1.5 Here Document多行注释 22.2 expect免交互 22.2.1 expect概述 22.2.2 expect安装 22.2.3 基本命令介绍 22.2.4expec…

Python操作MySQL数据库--使用pymysql模块

Python操作MySQL数据库--使用pymysql模块 一、新建数据库和数据表1.1 新建book数据库1.2 新建bookprice数据表二、连接数据库2.1 建立数据库连接三、新增数据3.1 新增单条数据3.2 新增多条数据3.3 批量新增四、修改数据4.1 修改单条数据4.2 修改多条数据五、删除数据5.1 删除单…

Java基础(四)——字符串、StringBuffer、StringBuilder、StringJoiner

个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 &#x1…

配置 Cmder 到鼠标右键

win Q 快捷键搜索 cmd,以管理员身份运行 在命令行输入 cmder.exe /REGISTER ALL

浏览器插件利器-allWebPluginV2.0.0.14-beta版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏…

推荐系统三十六式学习笔记:原理篇.模型融合14|一网打尽协同过滤、矩阵分解和线性模型

目录 从特征组合说起FM模型1.原理2.模型训练3.预测阶段4.一网打尽其他模型5.FFM 总结 在上一篇文章中,我们讲到了使用逻辑回归和梯度提升决策树组合的模型融合办法,用于CTR预估,给这个组合起了个名字,叫“辑度组合”。这对组合中&…

Arduino平台软硬件原理及使用——SR04超声波传感器的使用

文章目录: 一、超声波传感器工作原理 二、SR04超声波库的使用 三、SR04超声波传感器在Arduino中的使用 一、超声波传感器工作原理 如上图所示:HCSR04超声波传感器拥有4个针脚,除了VCC接正极、GND接负极外,还有两个引脚“Trig”及“…

SuperCopy解决文档不能复制问题

有一些文档,我们要使用时,总是面临收费的情况,让我们不能复制,让人头疼不已!!! SuperCopy就可以解决这个问题。 获取SuperCopy步骤 1. 打开浏览器,点击右上角的三个点 2. 找到扩…

代码随想录算法训练营:14/60

非科班学习算法day14 | LeetCode266:翻转二叉树 ,Leetcode101: 对称二叉树,Leetcode100:相同的的树 ,LeetCode572:另一颗树的子树,LeetCode104:二叉树的最大深度,LeetCode559:N叉树的最大深度 目…

Spring响应式编程之Reactor介绍

Reactor介绍 1、异步执行技术2、实现方式 响应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式。Java中的Reactor是一个用于响应式编程的库,它建立在Reactive Streams规范之上,旨在帮助开发者构建非阻塞的、高…

无门槛代理SSL证书入门指南

随着网络安全问题日益凸显,SSL证书作为保障网络数据传输安全的重要手段,其市场需求也在持续增长。因此,成为SSL证书代理不仅具有巨大的商业价值,更是提升网络安全保障能力的关键步骤。本文将为您介绍如何快速无门槛代理SSL证书的方…

使用API有效率地管理Dynadot域名,为文件夹中的域名设置域名转发

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

一文学会用Helm部署rancher 高可用集群

rancher集群架构图 Helm部署rancher 高可用集群 Helm简介 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 Helm有如下几个基本概念: Chart: 是Helm管理的安装包,里面包含需要部署的安装包资源。可以把Chart比作C…

多媒体本地化的五个步骤

多媒体本地化为试图在多个全球目的地建立市场的企业提供了许多好处。 由于多媒体并不局限于一个内容标签,因此您需要注意一些元素。 这个过程通常从翻译开始,但因为我们处理的是视频和音频,所以从一开始就要处理一个附加层。让我们从这里开…

x264 码率控制 VBV 算法原理:数学模型与数据流转

x264 码率控制 VBV 算法原理 关于 VBV原理的分析可以参考:x264 码率控制 VBV 原理。关于 VBV 算法的源码分析可以参考:x264 码率控制中实现 VBV 算法源码分析。VBV算法介绍 x264中的VBV(Video Buffering Verifier)算法是H.264编码标准的一部分,主要用于码率控制,确保视频…

上海亚商投顾:沪指5连阴 工业母机概念逆势走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数今日继续调整,沪指午后一度跌近1%,随后探底回升跌幅收窄,创业板指…

Qt 基于FFmpeg的视频播放器 - 播放、暂停以及拖动滑动条跳转

Qt 基于FFmpeg的视频转换器 - 播放、暂停以及拖动进度条跳转 引言一、设计思路二、核心源码以及相关参考链接 引言 本文基于FFmpeg,使用Qt制作了一个极简的视频播放器. 相比之前的版本,加入了播放、暂停、拖动滑动条跳转功能,如上所示 (左图)…