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=jdk

get_pid() {
    # 查找正在运行的服务的进程ID
    pid=$(ps -ef | grep -v grep | grep $service_name | awk '{print $2}')
    echo "$pid"
}

# 检查服务是否在运行
check_status() {
    pid=$(get_pid "$service_name")
    
    if [ -z "$pid" ]; then
        echo "$service_name is NOT running."
        exit 1
    else
        echo "$service_name is running with PID $pid."
        exit 0
    fi
}

start() {
	nohup bin/cmak -Dconfig.file=conf/application.conf >/dev/null 2>&1 &
	sleep 5
	check_status
}

stop() {
	pid=$(get_pid "$service_name")
	if [ -z "$pid" ]; then
        echo "$service_name is already stoped."
        exit 0
    else
        echo "$service_name  PID  $pid"
		kill -9 $pid
		echo "kill $service_name $pid done"
		rm -rf RUNNING_PID
        exit 0
    fi
}

status() {
	check_status
}

restart() {
	stop
	start
}


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.KafkaManagerLoader

kafka-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 = 60s


basicAuthentication.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=false

basicAuthentication.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

添加服务

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

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

相关文章

Java——异常机制(上)

1 异常机制本质 (异常在Java里面是对象) (抛出异常&#xff1a;执行一个方法时&#xff0c;如果发生异常&#xff0c;则这个方法生成代表该异常的一个对象&#xff0c;停止当前执行路径&#xff0c;并把异常对象提交给JRE) 工作中&#xff0c;程序遇到的情况不可能完美。比如…

vue3 vite ts day2

虚拟dom diff 算法的了解 diff 算法 源码的了解 简单易懂的图 参考文章 学习Vue3 第五章&#xff08;Vue核心虚拟Dom和 diff 算法&#xff09;_学习vue3 第五章 (vue核心虚拟dom-CSDN博客 如需了解更多请去原作者下看&#xff0c;讲的真的很细。 ref reactive vue2 …

动态计算加载图片

学习啦 别名路径&#xff1a;①npm install path --save-dev②配置 // vite.config,js import { defineConfig } from vite import vue from vitejs/plugin-vueimport { viteStaticCopy } from vite-plugin-static-copy import path from path export default defineConfig({re…

Postgresql 格式转换笔记整理

1、数据类型有哪些 1.1 数值类型 DECIMAL/NUMERIC 使用方法 DECIMAL是PostgreSQL中的一种数值数据类型&#xff0c;用于存储固定精度和小数位数的数值。DECIMAL的精度是由用户指定的&#xff0c;可以存储任何位数的数值&#xff0c;而小数位数则由用户自行定义。DECIMAL类型的…

爬虫运行后数据如何存储?

爬虫运行后获取的数据可以存储在多种不同的存储系统中&#xff0c;具体选择取决于数据的规模、查询需求以及应用场景。以下是一些常见的数据存储方法&#xff1a; 1. 文件系统 对于小型项目或临时数据存储&#xff0c;可以直接将数据保存到本地文件中。常见的文件格式包括&…

吉林大学23级数据结构上机实验(第7周)

A 去火车站 寒假到了&#xff0c;小明准备坐火车回老家&#xff0c;现在他从学校出发去火车站&#xff0c;CC市去火车站有两种方式&#xff1a;轻轨和公交车。小明为了省钱&#xff0c;准备主要以乘坐公交为主。CC市还有一项优惠政策&#xff0c;持学生证可以免费乘坐一站轻轨&…

谈谈IPD在PLM的落地

关注作者 1 前言 全球化市场竞争形势下&#xff0c;越来越多企业不断提升自身的研发创新能力&#xff0c;加大产品的研发创新投入。从整个研发投入来看&#xff0c;2022年至2023年间&#xff0c;研发投入强度由1.54%提升至2.64%&#xff0c;其中中小民营企业增长为3.75%&#…

线程(二)——线程安全

如何理解线程安全&#xff1a; 多线程并发执行的时候&#xff0c;有时候会触发一些“bug”&#xff0c;虽然代码能够执行&#xff0c;线程也在工作&#xff0c;但是过程和结果都不符合我们的开发时的预期&#xff0c;所以我们将此类线程称之为“线程安全问题”。 例如&#xff…

思特奇政·企数智化产品服务平台正式发布,助力运营商政企数智能力跃迁

数字浪潮下,产业数字化进程加速发展,信息服务迎来更广阔的天地,同时也为运营商政企支撑系统提出了更高要求。12月4日,2024数字科技生态大会期间,思特奇正式发布政企数智化产品服务平台,融合应用大数据、AI等新质生产要素,构建集平台服务、精准营销、全周期运营支撑、智慧大脑于…

解决Windows与Ubuntu云服务器无法通过Socket(udp)通信问题

今天在写Socket通信代码的时候&#xff0c;使用云服务器自己与自己通信没有问题&#xff0c;但是当我们把客户端换为Windows系统的时候却无法发送信息到Linux当中&#xff0c;耗时一上午终于搞定了&#x1f612;。 问题&#xff1a; 如上图&#xff0c;当我在windows的客户端…

面向金融场景的大模型 RAG 检索增强解决方案

概述 在现代信息检索领域&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;模型结合了信息检索与生成式人工智能的优点&#xff0c;从而在特定场景下提供更为精准和相关的答案。在特定场景下&#xff0c;例如金融等领域&#xff0c;用户通…

【pyspark学习从入门到精通24】机器学习库_7

目录 聚类 在出生数据集中寻找簇 主题挖掘 回归 聚类 聚类是机器学习中另一个重要的部分&#xff1a;在现实世界中&#xff0c;我们并不总是有目标特征的奢侈条件&#xff0c;因此我们需要回归到无监督学习的范式&#xff0c;在那里我们尝试在数据中发现模式。 在出生数据…

渗透测试---burpsuite(5)web网页端抓包与APP渗透测试

声明&#xff1a;学习素材来自b站up【泷羽Sec】&#xff0c;侵删&#xff0c;若阅读过程中有相关方面的不足&#xff0c;还请指正&#xff0c;本文只做相关技术分享,切莫从事违法等相关行为&#xff0c;本人与泷羽sec团队一律不承担一切后果 视频地址&#xff1a;泷羽---bp&…

[LitCTF 2023]破损的图片(初级)

[LitCTF 2023]破损的图片(初级) 我们下载附件得到一个没有后缀的文件&#xff0c;拖去010看一看&#xff0c;发现本来应该是文件头的那部分不大对劲&#xff0c;结合后面四个点以及IHDR&#xff0c;大致也应该知道是啥了 修改第一行为png 89 50 4E 47 0D 0A 1A 0A 00 00 00 …

docker部署RustDesk自建服务器

客户端&#xff1a; Releases rustdesk/rustdesk GitHub 服务端&#xff1a; 项目官方地址&#xff1a;GitHub - rustdesk/rustdesk-server: RustDesk Server Program 1、拉取RustDesk库 docker pull rustdesk/rustdesk-server:latest 阿里云库&#xff1a; docker pu…

智慧银行反欺诈大数据管控平台方案(八)

智慧银行反欺诈大数据管控平台的核心理念&#xff0c;在于通过整合先进的大数据技术、算法模型和人工智能技术&#xff0c;构建一个全面、智能、动态的反欺诈管理框架&#xff0c;以实现对金融交易的全方位监控、欺诈行为的精准识别和高效处理。这一理念强调数据驱动决策&#…

关闭windows11的“热门搜索”

win10搜索栏热门搜索怎么关闭&#xff1f;win10搜索栏热门搜索关闭方法分享_搜索_onecdll-GitCode 开源社区 注册表地址是&#xff1a;计算机\HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\ 最后效果如下&#xff1a;

14.在 Vue 3 中使用 OpenLayers 自定义地图版权信息

在 WebGIS 开发中&#xff0c;默认的地图服务通常会带有版权信息&#xff0c;但有时候我们需要根据项目需求自定义版权信息或添加额外的版权声明。在本文中&#xff0c;我们将基于 Vue 3 的 Composition API 和 OpenLayers&#xff0c;完成自定义地图版权信息的实现。 最终效果…

Dubbo应用篇

文章目录 一、Dubbo简介二、SSM项目整合Dubbo1.生产者方配置2.消费者方配置 三、Spring Boot 项目整合Dubbo1.生产者方配置2.消费者方配置 四、应用案例五、Dubbo配置的优先级别1. 方法级配置&#xff08;Highest Priority&#xff09;2. 接口级配置3. 消费者/提供者级配置4. 全…

数据结构与算法 五大算法

文章目录 1&#xff0c;时间复杂度与空间复杂度 2&#xff0c;插入排序 3&#xff0c;希尔排序 4&#xff0c;选择排序 1&#xff0c;单趟排序 2&#xff0c;选择排序PLUS版本 5&#xff0c;冒泡排序 6&#xff0c;快速排序 1&#xff0c;hoare版本 2&#xff0c;挖坑法 前言 …