DataSophon集成CMAK KafkaManager
本次集成基于DDP1.2.1 集成CMAK-3.0.0.6
设计的json和tar包我放网盘了.
通过网盘分享的文件:DDP集成CMAK
链接: https://pan.baidu.com/s/1BR70Ajj9FxvjBlsOX4Ivhw?pwd=cpmc 提取码: cpmc
CMAK github上提供了zip压缩包.将压缩包解压之后
在根目录下加入启动脚本executor.sh和jdk11环境
#!bin/sh
service_name="ProdServerStart"
export JAVA_HOME=jdkget_pid() {# 查找正在运行的服务的进程IDpid=$(ps -ef | grep -v grep | grep $service_name | awk '{print $2}')echo "$pid"
}# 检查服务是否在运行
check_status() {pid=$(get_pid "$service_name")if [ -z "$pid" ]; thenecho "$service_name is NOT running."exit 1elseecho "$service_name is running with PID $pid."exit 0fi
}start() {nohup bin/cmak -Dconfig.file=conf/application.conf >/dev/null 2>&1 &sleep 5check_status
}stop() {pid=$(get_pid "$service_name")if [ -z "$pid" ]; thenecho "$service_name is already stoped."exit 0elseecho "$service_name PID $pid"kill -9 $pidecho "kill $service_name $pid done"rm -rf RUNNING_PIDexit 0fi
}status() {check_status
}restart() {stopstart
}case "$1" in(start)start;;(stop)stop;;(status)status;;(restart)restart;;(*)echo "Only Support start|stop|status|restart"exit 1
esac
tar -zcvf cmak-3.0.0.6.tar.gz cmak-3.0.0.6
mv cmak-3.0.0.6.tar.gz /opt/datasophon/DDP/packages
cd /opt/datasophon/DDP/packages
java -jar file-md5-1.0-SNAPSHOT-jar-with-dependencies.jar cmak-3.0.0.6.tar.gz
得到md5文件.
在/opt/datasophon/datasophon-worker/conf/templates新建模板文件
vi cmak-application.conf.ftl
http.port=${httpPort}
play.crypto.secret="^<csmm5Fx4d=r2HEX8pelM3iBkFVv?k[mc;IZE<_Qoq8EkX_/7@Zt6dP05Pzea3U"
play.http.session.maxAge="1h"
play.i18n.langs=["en"]play.http.requestHandler = "play.http.DefaultHttpRequestHandler"
play.http.context = "/"
play.application.loader=loader.KafkaManagerLoaderkafka-manager.zkhosts="${zkhosts}"
cmak.zkhosts="${zkhosts}"pinned-dispatcher.type="PinnedDispatcher"
pinned-dispatcher.executor="thread-pool-executor"
application.features=["KMClusterManagerFeature","KMTopicManagerFeature","KMPreferredReplicaElectionFeature","KMReassignPartitionsFeature", "KMScheduleLeaderElectionFeature"]akka {loggers = ["akka.event.slf4j.Slf4jLogger"]loglevel = "INFO"
}akka.logger-startup-timeout = 60sbasicAuthentication.ldap.enabled=false
basicAuthentication.ldap.server=""
basicAuthentication.ldap.port=389
basicAuthentication.ldap.username=""
basicAuthentication.ldap.password=""
basicAuthentication.ldap.search-base-dn=""
basicAuthentication.ldap.search-filter="(uid=$capturedLogin$)"
basicAuthentication.ldap.group-filter=""
basicAuthentication.ldap.connection-pool-size=10
basicAuthentication.ldap.ssl=false
basicAuthentication.ldap.ssl-trust-all=falsebasicAuthentication.enabled=${useLogin}
basicAuthentication.username="${username}"
basicAuthentication.password="${password}"basicAuthentication.realm="Kafka-Manager"
basicAuthentication.excluded=["/api/health"] # ping the health of your instance without authentification
在/opt/datasophon/datasophon-manager-1.2.1/conf/meta/DDP-1.2.1目录下新建文件夹
mkdir CMAK
vi CMAK/service_ddl.json
{"name": "CMAK","label": "KafkaManager","description": "KafkaManager","version": "3.0.0.6","sortNum": 22,"dependencies": [],"packageName": "cmak-3.0.0.6.tar.gz","decompressPackageName": "cmak-3.0.0.6","roles": [{"name": "KafkaManager","label": "KafkaManager","roleType": "master","runAs": {"user": "root","group": "root"},"cardinality": "1+","sortNum": 1,"logFile": "/opt/datasophon/cmak/logs/application.log","startRunner": {"timeout": "10","program": "executor.sh","args": ["start"]},"stopRunner": {"timeout": "10","program": "executor.sh","args": ["stop"]},"statusRunner": {"timeout": "10","program": "executor.sh","args": ["status"]},"restartRunner": {"timeout": "10","program": "executor.sh","args": ["restart"]},"externalLink": {"name": "KafkaManagerUi","label": "KafkaManagerUi","url": "http://${host}:8888"}}],"configWriter": {"generators": [{"filename": "application.conf","configFormat": "custom","outputDirectory": "conf","templateName": "cmak-application.conf.ftl","includeParams": ["httpPort", "zkhosts", "useLogin", "username", "password"]}]},"parameters": [{"name": "httpPort","label": "Web启动端口","description": "Web启动端口","configType": "map","required": true,"type": "input","value": "8888","configurableInWizard": true,"hidden": false,"defaultValue": "9000"}, {"name": "zkhosts","label": "zk服务地址","description": "zk服务地址","configType": "map","required": true,"type": "input","value": "node01:2181","configurableInWizard": true,"hidden": false,"defaultValue": "zkHost01:2181"}, {"name": "useLogin","label": "是否需要登录","description": "是否需要登录","configType": "map","required": true,"type": "switch","value": false,"configurableInWizard": true,"hidden": false,"defaultValue": false}, {"name": "username","label": "Web登录账号","description": "Web登录账号","configType": "map","required": true,"type": "input","value": "admin","configurableInWizard": true,"hidden": false,"defaultValue": "admin"}, {"name": "password","label": "Web登录密码","description": "Web登录密码","configType": "map","required": true,"type": "input","value": "123456","configurableInWizard": true,"hidden": false,"defaultValue": "123456"}]
}
重启api manager
添加服务
相关文章:

DataSophon集成CMAK KafkaManager
本次集成基于DDP1.2.1 集成CMAK-3.0.0.6 设计的json和tar包我放网盘了. 通过网盘分享的文件:DDP集成CMAK 链接: https://pan.baidu.com/s/1BR70Ajj9FxvjBlsOX4Ivhw?pwdcpmc 提取码: cpmc CMAK github上提供了zip压缩包.将压缩包解压之后 在根目录下加入启动脚本…...

Ubuntu22.04深度学习环境安装【显卡驱动安装】
前言 使用Windows配置环境失败,其中有一个包只有Linux版本,Windows版本的只有python3.10的,所以直接选用Linux来配置环境,显卡安装比较麻烦,单独出一期。 显卡驱动安装 方法一:在线安装(操作…...
21届秋/校招面经
开篇先说一下我自身情况,东南大学本科计算机科学与技术专业毕业,gpa3.2/4.8。零零散散搞过一年多ACM,去年(2019)在icpc上海站拿了铜之后增加了信心(因为当时训练总时间半年不到),于是…...

相机动态/在线标定
图1 图2 基本原理 【原理1】平行线在射影变换后会交于一点。如图所示,A为相机光心,蓝色矩形框为归一化平面,O为平面中心。地面四条黄色直线为平行且等距的车道线。HI交其中两条车道线于H、I, 过G作HI的平行线GM交车道线于M。HI、GM在归一化平面上的投影分别为JK、PN,二者会…...

MySQL 8.0 新特性汇总
文章目录 前言1. 运维管理 1.1 可持久化变量1.2 管理员端口1.3 资源组1.4 数据库粒度只读1.5 show processlist 实现方式1.6 加速索引创建速度1.7 控制连接的内存使用量1.8 克隆插件1.9 mysqldump 新增参数1.10 慢日志增强1.11 快速加列1.12 InnoDB 隐藏主键1.13 Redo 配置1.14…...
Resnet C ++ 部署 tensort 部署(四)
Resnet C 部署 pytorch功能测试(一) Resnet C 部署 模型训练(二) Resnet C 部署 模型测试&转 onnx(三) Resnet C 部署 tensort 部署(四) 之后,开始onnx 转trt 部…...
《Java核心技术I》对并发散列映射的批操作
对并发散列映射的批操作 Java API提供了批处理,计时其他线程处理映射,这些操作也能安全的执行。 3种不同操作: search(搜索),为每个键或值应用一个函数,直到函数生成一个非null的结果,然后搜索终止&…...

记录一次使用git无权限的问题排查
正常的配置了公私钥之后,在gitlab中也存储了配对的公钥,但当使用git clone 时,总是报无权限 由于在这台机器中添加了多个公私钥,有点复杂,我们可以使用命令 ssh -vvvT 调试一下 ssh -vvvT yourGitlabAddr...

appium学习之二:adb命令
1、查看设备 adb devices 2、连接 adb connect IP:端口 3、安装 adb install xxx.apk 4、卸载 adb uninstall 【包名】 5、把对应目录下的1.txt文件传到手机sdcard下 adb push 1.txt /sdcard 6、进入对应的设备里 adb shell 7、切入sdcard目录 cd /sdcard 8、ls 查…...
Linux Vi/Vim使用 ⑥
掌握 CentOS 7 下的 Vi/Vim 编辑器:从安装到精通 在 CentOS 7 系统的日常运维、编程开发以及各类文本处理场景中,Vi/Vim 编辑器都是不可或缺的得力工具。它以轻量、高效、功能强大著称,虽然初次上手有一定学习门槛,但掌握之后便能…...

JCR一区牛顿-拉夫逊优化算法+分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测
JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测 目录 JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院…...
easyExcel实现表头批注
背景: 网上大部分都不能直接使用,为此总结一个方便入手且可用的工具,用自定义注解实现 依赖包: <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>…...
Pytest测试用例使用小结
基础使用 Pytest 测试用例实现代码 import pytest from server.service import Servicepytest.fixture def service():return Service(logger)class TestService:classmethoddef setup_class(cls):"""初始化设置一次:return:"""logger.info(&q…...
LeetCode题练习与总结:132 模式--456
一、题目描述 给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。 如果 nums 中存在 132 模式的子序列 &a…...

IdentityServer4框架、ASP.NET core Identity
OAuth2.0 IdentityServer4 官网 中文官网 ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架. IdentityServer4是基于ASP.NET Core实现的认证和授权框架,是对OpenID Connect和OAuth 2.0协议的实现。 IdentityServer是一个中间件,它可以添加符合OpenID…...

【分子材料发现】——GAP:催化过程中吸附构型的多模态语言和图学习(数据集处理详解)(二)
Multimodal Language and Graph Learning of Adsorption Configuration in Catalysis https://arxiv.org/abs/2401.07408Paper Data: https://doi.org/10.6084/m9.figshare.27208356.v2 1 Dataset CatBERTa训练的文本字符串输入来源于Open Catalyst 2020 (OC20…...
SpringBoot开发过程中经常遇到问题解决方案分享
目录 1. Spring Boot应用启动缓慢 2. 数据库连接池配置问题 3. Spring Boot应用无法连接外部服务 4. 配置文件读取不生效 5. Spring Boot应用的日志输出不完整 6. Spring Boot中的Transactional事务管理问题 1. Spring Boot应用启动缓慢 问题原因: Spring Boo…...

AR眼镜_消费级工业AR智能眼镜主板硬件解决方案
AR眼镜的研发是一项复杂的软硬件集成工程,它需要在摄影、音频、交互和连接等多个方面提供卓越的基础体验,因此产品的每个细节都显得尤为重要。 在设计AR眼镜时,重量、体积和散热性能都是必须认真考量的关键因素。在芯片平台的选择上ÿ…...
Springboot 核心注解
Spring Boot 是一个基于 Spring 框架的扩展,旨在简化新 Spring 应用的初始搭建以及开发过程。它通过自动配置和约定优于配置的原则,减少了开发者的工作量。Spring Boot 提供了一组核心注解和 Starter 依赖管理工具来帮助开发者快速启动项目。 1. Spring…...

Nacos集群搭建【Oracle作外部数据源】
一、知识点分析 1.Nocas是什么? Nacos是一个动态服务发现、配置管理和服务管理平台。 1.1定义与背景: Nacos,全称为Dynamic Naming and Configuration Service,是由阿里巴巴开源的云原生应用配套工具。它旨在简化微服务架…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...