Tips
Go
(18条消息) Go语言自学系列 | golang包_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发编程之channel的遍历_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发编程之select switch_COCOgsta的博客-CSDN博客_golang select switch
(18条消息) Go语言自学系列 | golang并发编程之runtime包_COCOgsta的博客-CSDN博客_golang runtime包
(18条消息) Go语言自学系列 | golang接口值类型接收者和指针类型接收者_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发编程之Timer_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang方法_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发编程之WaitGroup实现同步_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang构造函数_COCOgsta的博客-CSDN博客_golang 构造函数
(18条消息) Go语言自学系列 | golang方法接收者类型_COCOgsta的博客-CSDN博客_golang 方法接收者
(18条消息) Go语言自学系列 | golang接口_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang接口和类型的关系_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang结构体_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang结构体_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang标准库os模块 - File文件读操作_COCOgsta的博客-CSDN博客_golang os.file
(18条消息) Go语言自学系列 | golang继承_COCOgsta的博客-CSDN博客_golang 继承
(18条消息) Go语言自学系列 | golang嵌套结构体_COCOgsta的博客-CSDN博客_golang 结构体嵌套
(18条消息) Go语言自学系列 | golang并发编程之Mutex互斥锁实现同步_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发变成之通道channel_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang并发编程之原子操作详解_COCOgsta的博客-CSDN博客_golang 原子操作
(18条消息) Go语言自学系列 | golang并发编程之原子变量的引入_COCOgsta的博客-CSDN博客_go 原子变量
(18条消息) Go语言自学系列 | golang并发编程之协程_COCOgsta的博客-CSDN博客_golang 协程 并发
(18条消息) Go语言自学系列 | golang接口嵌套_COCOgsta的博客-CSDN博客_golang 接口嵌套
(18条消息) Go语言自学系列 | golang包管理工具go module_COCOgsta的博客-CSDN博客_golang 包管理器
(18条消息) Go语言自学系列 | golang标准库os模块 - File文件写操作_COCOgsta的博客-CSDN博客_go os模块
(18条消息) Go语言自学系列 | golang结构体的初始化_COCOgsta的博客-CSDN博客_golang 结构体初始化
(18条消息) Go语言自学系列 | golang通过接口实现OCP设计原则_COCOgsta的博客-CSDN博客
(18条消息) Go语言自学系列 | golang标准库os包进程相关操作_COCOgsta的博客-CSDN博客_golang os包
(18条消息) Go语言自学系列 | golang标准库ioutil包_COCOgsta的博客-CSDN博客_golang ioutil
(18条消息) Go语言自学系列 | golang标准库os模块 - 文件目录相关_COCOgsta的博客-CSDN博客_go语言os库
Golang技术栈,Golang文章、教程、视频分享!
(18条消息) Go语言自学系列 | golang结构体指针_COCOgsta的博客-CSDN博客_golang 结构体指针
Ansible
太厉害了,终于有人能把Ansible讲的明明白白了,建议收藏_互联网老辛
ansible.cfg配置详解
Docker
Docker部署
linux安装docker和Docker Compose
linux 安装 docker
Docker中安装Docker遇到的问题处理
Docker常用命令
docker常用命令小结
docker 彻底卸载
Docker pull 时报错:Get https://registry-1.docker.io/v2/library/mysql: net/http: TLS handshake timeout
Docker 拉镜像无法访问 registry-x.docker.io 问题(Centos7)
docker 容器内没有权限
Linux中关闭selinux的方法是什么?
docker run 生成 docker-compose
Docker覆盖网络部署
docker pull后台拉取镜像
docker hub
Redis
Redis 集群别乱搭,这才是正确的姿势
linux_离线_redis安装
怎么实现Redis的高可用?(主从、哨兵、集群) - 雨点的名字 - 博客园
redis集群离线安装
always-show-logo yes
Redis集群搭建及原理
[ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some - 亲爱的不二999 - 博客园
Redis daemonize介绍
redis 下载地址
Redis的redis.conf配置注释详解(三) - 云+社区 - 腾讯云
Redis的redis.conf配置注释详解(一) - 云+社区 - 腾讯云
Redis的redis.conf配置注释详解(二) - 云+社区 - 腾讯云
Redis的redis.conf配置注释详解(四) - 云+社区 - 腾讯云
Linux
在终端连接ssh的断开关闭退出的方法
漏洞扫描 - 灰信网(软件开发博客聚合)
find 命令的参数详解
vim 编辑器搜索功能
非root安装rpm时,mockbuild does not exist
Using a SSH password instead of a key is not possible because Host Key checking
(9条消息) 安全扫描5353端口mDNS服务漏洞问题_NamiJava的博客-CSDN博客_5353端口
Linux中使用rpm命令安装rpm包
ssh-copy-id非22端口的使用方法
How To Resolve SSH Weak Key Exchange Algorithms on CentOS7 or RHEL7 - infotechys.com
Linux cp 命令
yum 下载全量依赖 rpm 包及离线安装(终极解决方案) - 叨叨软件测试 - 博客园
How To Resolve SSH Weak Key Exchange Algorithms on CentOS7 or RHEL7 - infotechys.com
RPM zlib 下载地址
运维架构网站
欢迎来到 Jinja2
/usr/local/bin/ss-server -uv -c /etc/shadowsocks-libev/config.json -f /var/run/s
ruby 安装Openssl 默认安装位置
Linux 常用命令学习 | 菜鸟教程
linux 重命名文件和文件夹
linux命令快速指南
ipvsadm
Linux 下查找日志中的关键字
Linux 切割大 log 日志
CentOS7 关于网络的设置
rsync 命令_Linux rsync 命令用法详解:远程数据同步工具
linux 可视化界面安装
[问题已处理]-执行yum卡住无响应
GCC/G++升级高版本
ELK
Docker部署ELK
ELK+kafka+filebeat+Prometheus+Grafana - SegmentFault 思否
(9条消息) Elasticsearch设置账号密码_huas_xq的博客-CSDN博客_elasticsearch设置密码
Elasticsearch 7.X 性能优化
Elasticsearch-滚动更新
Elasticsearch 的内存优化_大数据系统
Elasticsearch之yml配置文件
ES 索引为Yellow状态
Logstash:Grok filter 入门
logstash grok 多项匹配
Mysql
Mysql相关Tip
基于ShardingJDBC实现数据库读写分离 - 墨天轮
MySQL-MHA高可用方案
京东三面:我要查询千万级数据量的表,怎么操作?
OpenStack
(16条消息) openstack项目中遇到的各种问题总结 其二(云主机迁移、ceph及扩展分区)_weixin_34104341的博客-CSDN博客
OpenStack组件介绍
百度大佬OpenStack流程
openstack各组件介绍
OpenStack生产实际问题总结(一)
OpenStack Train版离线部署
使用Packstack搭建OpenStack
K8S
K8S部署
K8S 集群部署
kubeadm 重新 init 和 join-pudn.com
Kubernetes 实战总结 - 阿里云 ECS 自建 K8S 集群 Kubernetes 实战总结 - 自定义 Prometheus
【K8S实战系列-清理篇1】k8s docker 删除没用的资源
Flannel Pod Bug汇总
Java
Jdk 部署
JDK部署
java线程池ThreadPoolExecutor类使用详解 - bigfan - 博客园
ShardingJDBC实现多数据库节点分库分表 - 墨天轮
Maven Repository: Search/Browse/Explore
其他
Git在阿里,我们如何管理代码分支?
chrome F12调试网页出现Paused in debugger
体验IntelliJ IDEA的远程开发(Remote Development) - 掘金
Idea远程调试
PDF转MD
强哥分享干货
优秀开源项目集合
vercel 配合Github 搭建项目Doc门户
如何用 Github Issues 写技术博客?
Idea 2021.3 Maven 3.8.1 报错 Blocked mirror for repositories 解决
列出maven依赖
[2022-09 持续更新] 谷歌 google 镜像 / Sci-Hub 可用网址 / Github 镜像可用网址总结
阿里云ECS迁移
linux访问github
一文教你使用 Docker 启动并安装 Nacos-腾讯云开发者社区-腾讯云
Nginx
Nginx 部署
Nginx 部署安装
Nginx反向代理cookie丢失的问题_longzhoufeng的博客-CSDN博客_nginx 代理后cookie丢失
Linux 系统 Https 证书生成与Nginx配置 https
数据仓库
实时数仓
松果出行 x StarRocks:实时数仓新范式的实践之路
实时数据仓库的一些分层和分层需要处理的事情,以及数据流向
湖仓一体电商项目
湖仓一体电商项目(一):项目背景和架构介绍
湖仓一体电商项目(二):项目使用技术及版本和基础环境准备
湖仓一体电商项目(三):3万字带你从头开始搭建12个大数据项目基础组件
数仓笔记
数仓学习总结
数仓常用平台和框架
数仓学习笔记
数仓技术选型
尚硅谷教程
尚硅谷学习笔记
尚硅谷所有已知的课件资料
尚硅谷大数据项目之尚品汇(11数据质量管理V4.0)
尚硅谷大数据项目之尚品汇(10元数据管理AtlasV4.0)
尚硅谷大数据项目之尚品汇(9权限管理RangerV4.0)
尚硅谷大数据项目之尚品汇(8安全环境实战V4.0)
尚硅谷大数据项目之尚品汇(7用户认证KerberosV4.1)
尚硅谷大数据项目之尚品汇(6集群监控ZabbixV4.1)
尚硅谷大数据项目之尚品汇(5即席查询PrestoKylinV4.0)
尚硅谷大数据项目之尚品汇(4可视化报表SupersetV4.0)
尚硅谷大数据项目之尚品汇(3数据仓库系统)V4.2.0
尚硅谷大数据项目之尚品汇(2业务数据采集平台)V4.1.0
尚硅谷大数据项目之尚品汇(1用户行为采集平台)V4.1.0
数仓治理
数据中台 元数据规范
数据中台的那些 “经验与陷阱”
2万字详解数据仓库数据指标数据治理体系建设方法论
数据仓库,为什么需要分层建设和管理? | 人人都是产品经理
网易数帆数据治理演进
数仓技术
一文看懂大数据生态圈完整知识体系
阿里云—升舱 - 数据仓库升级白皮书
最全企业级数仓建设迭代版(4W字建议收藏)
基于Hue,Dolphinscheduler,HIVE分析数据仓库层级实现及项目需求案例实践分析
详解数据仓库分层架构
数据仓库技术细节
大数据平台组件介绍
总览 2016-2021 年全球机器学习、人工智能和大数据行业技术地图
Apache DolphinScheduler 3.0.0 正式版发布!
数据仓库面试题——介绍下数据仓库
数据仓库为什么要分层,各层的作用是什么
Databend v0.8 发布,基于 Rust 开发的现代化云数据仓库 - OSCHINA - 中文开源技术交流社区
数据中台
数据中台设计
大数据同步工具之 FlinkCDC/Canal/Debezium 对比
有数数据开发平台文档
Shell
Linux Shell 命令参数
shell 脚本编程
一篇教会你写 90% 的 Shell 脚本
Kibana
Kibana 查询语言(KQL)
Kibana:在 Kibana 中的四种表格制作方式
Kafka
Kafka部署
canal 动态监控 Mysql,将 binlog 日志解析后,把采集到的数据发送到 Kafka
OpenApi
OpenAPI 标准规范,了解一下?
OpenApi学术论文
贵阳市政府数据开放平台设计与实现
OpenAPI简介
开放平台:运营模式与技术架构研究综述
管理
技术部门Leader是不是一定要技术大牛担任?
华为管理体系流程介绍
DevOps
*Ops
XOps 已经成为一个流行的术语 - 它是什么?
Practical Linux DevOps
Jenkins 2.x实践指南 (翟志军)
Jenkins 2权威指南 ((美)布伦特·莱斯特(Brent Laster)
DevOps组件高可用的思路
KeepAlived
VIP + KEEPALIVED + LVS 遇到Connection Peer的问题的解决
MinIO
MinIO部署
Minio 分布式集群搭建部署
Minio 入门系列【16】Minio 分片上传文件 putObject 接口流程源码分析
MinioAPI 浅入及问题
部署 minio 兼容 aws S3 模式
超详细分布式对象存储 MinIO 实战教程
Hadoop
Hadoop 部署
Hadoop集群部署
windows 搭建 hadoop 环境(解决 HADOOP_HOME and hadoop.home.dir are unset
Hadoop 集群搭建和简单应用(参考下文)
Hadoop 启动 NameNode 报错 ERROR: Cannot set priority of namenode process 2639
jps 命令查看 DataNode 进程不见了 (hadoop3.0 亲测可用)
hadoop 报错: Operation category READ is not supported in state standby
Spark
Spark 部署
Spark 集群部署
spark 心跳超时分析 Cannot receive any reply in 120 seconds
Spark学习笔记
apache spark - Failed to find data source: parquet, when building with sbt assembly
Spark Thrift Server 架构和原理介绍
InLong
InLong 部署
Apache InLong部署文档
安装部署 - Docker 部署 - 《Apache InLong v1.2 中文文档》 - 书栈网 · BookStack
基于 Apache Flink SQL 的 InLong Sort ETL 方案解析
关于 Apache Pulsar 在 Apache InLong 接入数据
zookeeper
zookeeper 部署
使用 Docker 搭建 Zookeeper 集群
美团技术团队
StarRocks
StarRocks技术白皮书(在线版)
JuiceFS
AI 场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
JuiceFS 在 Elasticsearch/ClickHouse 温冷数据存储中的实践
JuiceFS format
元数据备份和恢复 | JuiceFS Document Center
JuiceFS 元数据引擎选型指南
Apache Hudi 使用文件聚类功能 (Clustering) 解决小文件过多的问题
普罗米修斯
k8s 之 Prometheus(普罗米修斯)监控,简单梳理下 K8S 监控流程
k8s 部署 - 使用helm3部署监控prometheus(普罗米修斯),从零到有,一文搞定
k8s 部署 - 使用 helm3 部署监控 prometheus(普罗米修斯),从零到有,一文搞定
k8s 部署 - 如何完善 k8s 中 Prometheus(普罗米修斯)监控项目呢?
k8s 部署 - k8s 中 Prometheus(普罗米修斯)的大屏展示 Grafana + 监控报警
zabbix
一文带你掌握 Zabbix 监控系统
Stream Collectors
Nvidia
Nvidia API
CUDA Nvidia驱动安装
NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.
ubuntu 20 CUDA12.1安装流程
nvidia开启持久化模式
nvidia-smi 开启持久化
Harbor
Harbor部署文档
Docker 爆出 it doesn't contain any IP SANs
pandoc
其他知识
大模型
COS 597G (Fall 2022): Understanding Large Language Models
如何优雅的使用各类LLM
ChatGLM3在线搜索功能升级
当ChatGLM3能用搜索引擎时
OCR神器,PDF、数学公式都能转
Stable Diffusion 动画animatediff-cli-prompt-travel
基于ERNIE Bot自定义虚拟数字人生成
pika负面提示词
开通GPT4的方式
GPT4网站
低价开通GPT Plus
大模型应用场景分享
AppAgent AutoGPT变体
机器学习
最大似然估计
权衡偏差(Bias)和方差(Variance)以最小化均方误差(Mean Squared Error, MSE)
伯努利分布
方差计算公式
均值的高斯分布估计
没有免费午餐定理
贝叶斯误差
非参数模型
最近邻回归
表示容量
最优容量
权重衰减
正则化项
Sora
Sora官方提示词
看完32篇论文,你大概就知道Sora如何炼成? |【经纬低调出品】
Sora论文
Sora 物理悖谬的几何解释
Sora 技术栈讨论
RAG垂直落地
DB-GPT与TeleChat-7B搭建相关RAG知识库
ChatWithRTX
ChatRTX安装教程
ChatWithRTX 踩坑记录
ChatWithRTX 使用其他量化模型
ChatWithRTX介绍
RAG 相关资料
英伟达—大模型结合 RAG 构建客服场景自动问答
又一大模型技术开源!有道自研RAG引擎QAnything正式开放下载
收藏!RAG入门参考资料开源大总结:RAG综述、介绍、比较、预处理、RAG Embedding等
RAG调研
解决现代RAG实际生产问题
解决现代 RAG 系统中的生产问题-II
Modular RAG and RAG Flow: Part Ⅰ
Modular RAG and RAG Flow: Part II
先进的Retriever技术来增强你的RAGs
高级RAG — 使用假设文档嵌入 (HyDE) 改进检索
提升 RAG:选择最佳嵌入和 Reranker 模型
LangGraph
增强型RAG:re-rank
LightRAG:使用 PyTorch 为 LLM 应用程序提供支持
模型训练
GPU相关资料
[教程] conda安装简明教程(基于miniconda和Windows)
PyTorch CUDA对应版本 | PyTorch
资料
李一舟课程全集
零碎资料
苹果各服共享ID
数据中心网络技术概览
华为大模型训练学习笔记
百度AIGC工程师认证考试答案(可换取工信部证书)
百度智能云生成式AI认证工程师 考试和证书查询指南
深入理解 Megatron-LM(1)基础知识
QAnything
接入QAnything的AI问答知识库,可私有化部署的企业级WIKI知识库
wsl --update失效Error code: Wsl/UpdatePackage/0x80240438的解决办法
Docker Desktop 启动docker engine一直转圈解决方法
win10开启了hyper-v,docker 启动还是报错 docker desktop windows hypervisor is not present
WSL虚拟磁盘过大,ext4迁移 Windows 中创建软链接和硬链接
WSL2切换默认的Linux子系统
Windows的WSL子系统,自动开启sshd服务
新版docker desktop设置wsl(使用windown的子系统)
WSL 开启ssh
Windows安装网易开源QAnything打造智能客服系统
芯片
国内互联网大厂自研芯片梳理
超算平台—算力供应商
Linux 磁盘扩容
Linux使用growpart工具进行磁盘热扩容(非LVM扩容方式)
关于centos7 扩容提示no tools available to resize disk with 'gpt' - o夜雨随风o - 博客园
(小插曲)neo4j配置apoc插件后检查版本发现:Unknown function ‘apoc.version‘ “EXPLAIN RETURN apoc.version()“
vfio-pci与igb_uio映射硬件资源到DPDK的流程分析
KubeVirt
vnc server配置、启动、重启与连接 - 王约翰 - 博客园
虚拟机Bug解决方案
kubevirt 如何通过CDI上传镜像文件
在 K8S 上也能跑 VM!KubeVirt 簡介與建立(部署篇) | Cloud Solutions
KubeVirt 04:容器化数据导入 – 小菜园
Python
安装 flash_attn
手把手教你在linux上安装pytorch与cuda
AI
在启智社区基于PyTorch运行国产算力卡的模型训练实验
Scaling law
免费的GPT3.5 API
AI Engineer Roadmap & Resources 🤖
模型排行
edk2
K8S删除Evicted状态的pod
-
+
首页
Apache InLong部署文档
# Apache InLong部署文档 ## 一、概述 Apache InLong(应龙)是一站式的海量数据集成框架,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。 InLong 项目原名 TubeMQ ,专注于高性能、低成本的消息队列服务。为了进一步释放 TubeMQ 周边的生态能力,我们将项目升级为 InLong,专注打造一站式海量数据集成框架。 Apache InLong 依托 10 万亿级别的数据接入和处理能力,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。 ### 1.1 特性 - **简单易用**:基于SaaS模式对外服务,用户只需要按主题发布和订阅数据即可完成数据的上报,传输和分发工作 - **稳定可靠**:系统源于实际的线上系统,服务上十万亿级的高性能及上千亿级的高可靠数据数据流量,系统稳定可靠 - **功能完善**:支持各种类型的数据接入方式,多种不同类型的MQ集成,以及基于配置规则的实时数据ETL和数据分拣落地,并支持以可插拔方式扩展系统能力 - **服务集成**:支持统一的系统监控、告警,以及细粒度的数据指标呈现,对于管道的运行情况,以数据主题为核心的数据运营情况,汇总在统一的数据指标平台,并支持通过业务设置的告警信息进行异常告警提醒 - **灵活扩展**:全链条上的各个模块基于协议以可插拔方式组成服务,业务可根据自身需要进行组件替换和功能扩展 ### 1.2 架构 ![image-20220911120354637](http://kmgy.top:9090/image/2022/9/11/image-20220911120354637_repeat_1662869034799__804112.png) ### 1.3 模块 Apache InLong 服务于数据采集到落地的整个生命周期,按数据的不同阶段提供不同的处理模块,主要包括: - **inlong-agent**,数据采集 Agent,支持从指定目录或文件读取常规日志、逐条上报。后续也将扩展 DB 采集等能力。 - **inlong-dataproxy**,一个基于 Flume-ng 的 Proxy 组件,支持数据发送阻塞和落盘重发,拥有将接收到的数据转发到不同 MQ(消息队列)的能力。 - **inlong-tubemq**,腾讯自研的消息队列服务,专注于大数据场景下海量数据的高性能存储和传输,在海量实践和低成本方面有着良好的核心优势。 - **inlong-sort**,对从不同的 MQ 消费到的数据进行 ETL 处理,然后汇聚并写入 Hive、ClickHouse、Hbase、Iceberg 等存储系统。 - **inlong-manager**,提供完整的数据服务管控能力,包括元数据、任务流、权限,OpenAPI 等。 - **inlong-dashboard**,用于管理数据接入的前端页面,简化整个 InLong 管控平台的使用。 - **inlong-audit**,对InLong系统的Agent、DataProxy、Sort模块的入流量、出流量进行实时审计对账。 ### 1.4 已支持数据节点 | Type | Name | Version | Architecture | | ------------ | ---------------- | ---------------------------- | --------------------- | | Extract Node | Auto Push | None | Standard | | | File | None | Standard | | | Kafka | 2.x | Lightweight, Standard | | | MySQL | 5.6, 5.7, 8.0.x | Lightweight, Standard | | | MongoDB | >= 3.6 | Lightweight | | | Oracle | 11,12,19 | Lightweight | | | PostgreSQL | 9.6, 10, 11, 12 | Lightweight | | | Pulsar | 2.8.x | Lightweight | | | SQLServer | 2012, 2014, 2016, 2017, 2019 | Lightweight | | Load Node | Auto Consumption | None | Standard | | | Hive | 1.x, 2.x, 3.x | Lightweight, Standard | | | Iceberg | 0.12.x | Lightweight, Standard | | | ClickHouse | 20.7+ | Lightweight, Standard | | | Kafka | 2.x | Lightweight, Standard | | | HBase | 2.2.x | Lightweight, Standard | | | PostgreSQL | 9.6, 10, 11, 12 | Lightweight, Standard | | | Oracle | 11, 12, 19 | Lightweight, Standard | | | MySQL | 5.6, 5.7, 8.0.x | Lightweight, Standard | | | TDSQL-PostgreSQL | 10.17 | Lightweight, Standard | | | Greenplum | 4.x, 5.x, 6.x | Lightweight, Standard | | | Elasticsearch | 6.x, 7.x | Lightweight, Standard | | | SQLServer | 2012, 2014, 2016, 2017, 2019 | Lightweight, Standard | | | HDFS | 2.x, 3.x | Lightweight, Standard | ## 二、InLong 部署文档 ### 2.1 单机部署(StandAlone模式) - 环境要求 - MySQL 5.7+ - Flink 1.13.5 - [Docker](https://docs.docker.com/engine/install/) 19.03.1+ #### 2.1.1 准备消息队列 InLong 当前支持以下消息队列,根据使用情况**选择其一**即可。 - [InLong TubeMQ](https://inlong.apache.org/zh-CN/docs/modules/tubemq/quick_start) - [Apache Pulsar 2.8.x](https://pulsar.apache.org/docs/en/2.8.1/standalone/) 这边选择安装InLong TubeMQ。TubeMQ已经集成在bin包中,不需要重新下载,下载bin包后直接解压,配置TubeMQ。 ##### 2.1.1.1 TubeMQ - 部署运行 ###### a. 配置示例 TubeMQ 集群包含有两个组件: **Master** 和 **Broker**. Master 和 Broker 可以部署在相同或者不同的节点上,依照业务对机器的规划进行处理。我们通过如下3台机器搭建有2台Master的生产、消费的集群进行配置示例: | 所属角色 | TCP端口 | TLS端口 | WEB端口 | 备注 | | --------- | ------- | ------- | ------- | ----------------------------------------------------- | | Master | 8099 | 8199 | 8080 | 元数据存储在ZooKeeper的`/tubemq`目录 | | Broker | 8123 | 8124 | 8081 | 消息储存在`/stage/msg_data` | | ZooKeeper | 2181 | | | 存储Master元数据及Broker的Offset内容,根目录`/tubemq` | ###### b. 准备工作 - ZooKeeper集群(详情见其他 Docker 部署Zookeeper集群) 选择安装路径后,安装包解压后的目录结构如下: ```text /INSTALL_PATH/inlong-tubemq-server/ ├── bin ├── conf ├── lib ├── logs └── resources ``` ###### c. 配置Master 编辑`conf/master.ini`,根据集群信息变更以下配置项 - Master IP和端口 ```ini [master] hostName=YOUR_SERVER_IP // 替换为当前主机IP port=8099 webPort=8080 ``` - 访问授权Token ```ini confModAuthToken=abc // 该token用于页面配置、API调用等 ``` - 配置meta_zookeeper策略 ```ini [meta_zookeeper] // 同一个集群里Master必须使用同一套zookeeper环境,且配置一致 zkNodeRoot=/tubemq zkServerAddr=localhost:2181 // 指向zookeeper集群,多个地址逗号分开 ``` - 配置meta_bdb策略(可选) **注意**:由于Apache依赖包的LICENSE问题,从1.1.0版本开始TubeMQ发布的包不再包含BDB包,如果需要BDB存储元数据,业务需要自行下载com.sleepycat.je-7.3.7.jar包,要不系统运行时会报“ java.lang.ClassNotFoundException: com.sleepycat.je.ReplicaConsistencyPolicy”错误。 ```ini [meta_bdb] repGroupName=tubemqGroup1 // 同一个集群的Master必须要用同一个组名,且不同集群的组名必须不同 repNodeName=tubemqGroupNode1 // 同一个集群的master节点名必须是不同的名称 metaDataPath=/stage/meta_data repHelperHost=FIRST_MASTER_NODE_IP:9001 // helperHost用于创建master集群,一般配置第一个master节点ip ``` - (可选)生产环境,多master HA级别 | HA级别 | Master数量 | 描述 | | ------ | ---------- | ------------------------------------------------------------ | | 高 | 3 masters | 任何主节点崩溃后,集群元数据仍处于读/写状态,可以接受新的生产者/消费者。 | | 中 | 2 masters | 一个主节点崩溃后,集群元数据处于只读状态。对现有的生产者和消费者没有任何影响。 | | 低 | 1 master | 主节点崩溃后,对现有的生产者和消费者没有影响。 | **注意**: - 基于Docker容器化的需要,master.ini文件里对[meta_zookeeper] 或 [meta_bdb] 如上3个参数部分都是使用的缺省设置,在实际组网使用时需要以Master节点真实信息配置 - Master所有节点的IP信息要在hosts配置文件里构造IP与hostName映射关系,如类似“192.168.0.1 192-168-0-1” - 需保证Master所有节点之间的时钟同步 ###### d. 配置Broker 编辑`conf/broker.ini`,根据集群信息变更以下配置项 - Broker IP和端口 ```ini [broker] brokerId=0 hostName=YOUR_SERVER_IP // 替换为当前主机IP,broker目前只支持IP port=8123 webPort=8081 defEthName=eth1 // 获取真实 IP 的网卡 ``` - Master地址 ```ini masterAddressList=YOUR_MASTER_IP1:8099,YOUR_MASTER_IP2:8099 //多个master以逗号分隔 ``` - 数据目录 ```ini primaryPath=/stage/msg_data ``` - ZooKeeper集群地址 ```ini [zookeeper] // 同一个集群里Master和Broker必须使用同一套zookeeper环境,且配置一致 zkNodeRoot=/tubemq zkServerAddr=localhost:2181 // 指向zookeeper集群,多个地址逗号分开 ``` ###### e. 启动Master 进入Master节点的 `bin` 目录下,启动服务: ```bash ./tubemq.sh master start ``` 访问Master的管控台 `http://YOUR_MASTER_IP:8080` ,页面可查则表示master已成功启动: ![image-20220911125418949](http://kmgy.top:9090/image/2022/9/11/image-20220911125418949_repeat_1662872059102__850774.png) - 配置Broker元数据 Broker启动前,首先要在Master上配置Broker元数据,增加Broker相关的管理信息。在`Broker List` 页面, `Add Single Broker`,然后填写相关信息: ![image-20220911125449692](http://kmgy.top:9090/image/2022/9/11/image-20220911125449692_repeat_1662872089851__789292.png) 需要填写的内容包括: 1. broker IP: broker server ip 2. authToken: `conf/master.ini` 文件中 `confModAuthToken` 字段配置的 token 然后上线Broker: ![image-20220911125517776](http://kmgy.top:9090/image/2022/9/11/image-20220911125517776_repeat_1662872117941__429609.png) ###### f. 配置Broker Id 首先在master页面进行配置获得broker id,然后将broker id 填写至broker.ini的配置文件中。 编辑`conf/broker.ini`,根据集群信息变更以下配置项 - Broker IP和端口 ```ini [broker] brokerId=YOUR_CONF_BROKER_ID // 替换为当前master生成的Conf中的Broker Id ``` ###### g. 启动Broker 进入broker节点的 `bin` 目录下,执行以下命令启动Broker服务: ```bash ./tubemq.sh broker start ``` 刷新页面可以看到 Broker 已经注册,当 `当前运行子状态` 为 `idle` 时, 可以增加topic: ![image-20220911125534493](http://kmgy.top:9090/image/2022/9/11/image-20220911125534493_repeat_1662872134633__176593.png) #### 2.1.2 快速使用 ##### 2.1.2.1 新增 Topic 可以通过 web GUI 添加 Topic, 在 `Topic` `列表`页面添加,需要填写相关信息,比如增加`demo` topic: ![image-20220911125550780](http://kmgy.top:9090/image/2022/9/11/image-20220911125550780_repeat_1662872150924__122543.png) 然后选择部署 Topic 的 Broker ![image-20220911125615610](http://kmgy.top:9090/image/2022/9/11/image-20220911125615610_repeat_1662872175752__699177.png) 此时 Broker的 `可发布` 和 `可订阅` 依旧是灰色的 ![image-20220911125631221](http://kmgy.top:9090/image/2022/9/11/image-20220911125631221_repeat_1662872191348__379419.png) 需要在 `Broker列表`页面重载Broker 配置 ![image-20220911125652672](http://kmgy.top:9090/image/2022/9/11/image-20220911125652672_repeat_1662872212810__521241.png) 之后就可以在页面查看Topic信息。 ![image-20220911125707345](http://kmgy.top:9090/image/2022/9/11/image-20220911125707345_repeat_1662872227467__687463.png) #### 2.1.3 运行Example 可以通过上面创建的`demo` topic来测试集群。 ##### 2.1.3.1 生产消息 将 `YOUR_MASTER_IP:port` 替换为实际的IP和端口,然后运行producer: ```bash cd /INSTALL_PATH/apache-inlong-tubemq-server-[TUBEMQ-VERSION]-bin ./bin/tubemq-producer-test.sh --master-servers YOUR_MASTER_IP1:port,YOUR_MASTER_IP2:port --topicName demo ``` 如果能观察下如下日志,则表示数据发送成功: ![image-20220911125720439](http://kmgy.top:9090/image/2022/9/11/image-20220911125720439_repeat_1662872240580__517993.png) ##### 2.1.3.2 消费消息 将 `YOUR_MASTER_IP:port` 替换为实际的IP和端口,然后运行Consumer: ```bash cd /INSTALL_PATH/apache-inlong-tubemq-server-[TUBEMQ-VERSION]-bin ./bin/tubemq-consumer-test.sh --master-servers YOUR_MASTER_IP1:port,YOUR_MASTER_IP2:port --topicName demo --groupName test_consume ``` 如果能观察下如下日志,则表示数据被消费者消费到: ![image-20220911125736621](http://kmgy.top:9090/image/2022/9/11/image-20220911125736621_repeat_1662872256789__755835.png) #### 2.1.3 下载安装包 可以从 [下载页面](https://inlong.apache.org/download) 获取二进制包。 解压 `apache-inlong-[version]-bin.tar.gz` 和 `apache-inlong-[version]-sort-connectors.tar.gz`,并确保 `inlong-sort/connectors/` 目录包含 Connectors。 #### 2.1.4 DB 依赖 - 如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar), 并将其放入以下目录: ```bash inlong-agent/lib/ inlong-audit/lib/ inlong-manager/lib/ inlong-tubemq-manager/lib/ ``` #### 2.1.5 配置 在`conf/inlong.conf`文件中根据实际情况配置参数。 ``` local_ip=127.0.0.1 # message queue, tubemq or pulsar mq_type=pulsar # MySQL service, IP, port, user and password spring_datasource_hostname=127.0.0.1 ##数据库连接地址 spring_datasource_port=3307 ##数据库连接端口 spring_datasource_username=root ##数据库连接用户名 spring_datasource_password=AllData ##数据库连接密码 ############## Pulsar Configuration ############## pulsar_service_url=pulsar://127.0.0.1:6650 pulsar_admin_url=http://127.0.0.1:8080 ############## TubeMQ Configuration ############## tube_master_url=127.0.0.1:8715 tube_manager_url=127.0.0.1:8080 ############## Dashboard Configuration ############## # dashboard docker image dashboard_docker_image=inlong/dashboard:1.2.0-incubating # dashboard service port dashboard_mapping_port=80 ############## Manager Configuration ############## # The default value is dev, prod is available spring_profiles_active=dev # manager service IP manager_server_hostname=127.0.0.1 # manager port manager_server_port=8083 ############## DataProxy Configuration ############## dataproxy_port=46801 ############## Agent Configuration ############## agent_port=8008 ############## Audit Configuration ############## # audit proxy IP audit_proxys_ip=127.0.0.1 # audit proxy Port audit_proxys_port=10081 ``` #### 2.1.6 启动 ```shell bin/inlong-daemon start standalone ``` ## 三、InLong 部署疑难解答 (略) ## 其他 ### 一、数据集成 #### 1.1 概述 ##### 1.1.1 什么是数据集成? 大数据、物联网 (IoT)、软件即服务 (SaaS)、云活动等正在导致世界上现有的数据源数量以及数据量呈爆炸性增长,但这些数据大部分都收集并存储在数据孤岛或独立的数据存储空间中。**数据集成是将这些独立的数据整合到一起,以产生更高的数据价值和更丰富的数据洞见的过程。** 在企业制定数字化转型策略时,数据集成显得尤为重要,因为要想改善运营、提高客户满意度,并在日益数字化的世界中进行竞争,就需要对所有数据具有深入了解。 ##### 1.1.2 数据集成的定义 **数据集成是将不同来源的数据整合在一起,以获得统一且更有价值的视图的过程,数据集成有助于您的企业做出更快、更好的决策。** 数据集成可以整合各种数据(结构化、非结构化、批量和流式模式),以完成从库存数据库的基本查询到复杂预测分析的所有工作。 #### 2.1 数据集成面临哪些挑战? ##### 2.1.1 使用数据集成平台具有难度 经验丰富的数据专业人员很难找到而且价格昂贵,然而部署大多数数据集成平台都需要依赖这类专业人员。需要获取数据以做出业务决策的业务分析师往往依赖于这些专家,这会降低数据分析的时间价值。 ##### 2.1.2 数据集成基础设施的资本支出和运营支出较高 在采购、部署、维护和管理企业级数据集成项目所需的基础设施时,资本和运营费用都会增加。基于云的数据集成作为一种代管式服务,直接解决了此类费用问题。 ##### 2.1.3 与应用紧密相关的数据 在以前,数据与特定应用紧密相连,并依赖于应用而存在,以至于您无法在企业的其他地方检索和使用数据。如今我们可以看到,应用和数据层已逐渐分离,这样可以更灵活地使用数据。 ##### 2.1.4 数据语义问题 表示相同含义的多个数据版本可以用不同的方式组织或编排格式。例如,日期可以用数字形式存储为“年/月/日”,也可以用字符形式存储为“X 年 X 月 X 日”。ETL 中的“转换”元素和主数据管理工具可以解决此类问题。 ##### 2.1.5 数据集成工具有哪些? 数据集成平台通常包括以下许多工具: - **数据提取工具**:借助此类工具,您可以获取和导入数据,以便立即使用或储存起来供日后使用。 - **ETL 工具**:ETL 代表提取、转换和加载,这是最常见的数据集成方法。 - **数据目录**:此类工具可帮助企业找到并盘点分散在多个数据孤岛中的数据资源。 - **数据治理工具**:确保数据的可用性、安全性、易用性和完整性的工具。 - **数据清理工具**:通过替换、修改或删除来清理脏数据的工具。 - **数据迁移工具**:此类工具用于在计算机、存储系统或应用格式之间移动数据。 - **主数据管理工具**:帮助企业遵循通用数据定义,实现单一真实来源的工具。 - **数据连接器**:此类工具可以将数据从一个数据库移动到另一个数据库,还可以进行转换。 #### 3.1 数据集成有哪些用途? 数据集成通常用于以下几个方面: ##### 3.1.1 数据湖开发 数据集成可以将数据从孤岛式的本地平台移动到数据湖中,以提高数据价值。 ##### 3.1.2 数据仓储 数据集成可以将各种来源的数据整合到一个数据仓库中进行分析,以实现业务目的。 ##### 3.1.3 营销 数据集成可以将您的所有营销数据(如客户人群特征、社交网络和网络分析数据)移动到一个地方以执行分析和相关操作。 ##### 3.1.4 IoT 数据集成有助于将多个物联网来源的数据整合到一个地方,便于您从中获取价值。 ##### 3.1.5 数据库复制 数据集成是将数据从 Oracle、MongoDB 或 MySQL 等源数据库复制到云数据仓库这一操作的核心部分。 ### 二、Zookeeper 集群部署 #### 1.1 服务器列表 ip - 10.10.10.121 - 10.10.10.122 - 10.10.10.123 #### 2.1 三台服务器创建目录和文件 创建conf目录,添加配置文件文件zoo.cfg ``` clientPort=2181 #管理界面端口 admin.serverPort=8180 dataDir=/data dataLogDir=/data/log #通信心跳时间,毫秒 tickTime=2000 #leader和follow初始连接最多心跳数 initLimit=5 #集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=2 #设置多少小时清理一次客户端在与zookeeper交互过程中会产生的日志 autopurge.snapRetainCount=3 #设置保留多少个snapshot autopurge.purgeInterval=0 #客户端的连接数限制,默认是60 maxClientCnxns=60 server.0=10.10.10.121:2888:3888 server.1=10.10.10.122:2888:3888 server.2=10.10.10.123:2888:3888 ``` 创建data目录,创建myid文件 ``` #值分别为0,1,2 0 ``` #### 3.1 三台主机运行docker ``` docker run --network host -v /home/zookeeper/data:/data -v /home/zookeeper/conf/zoo.cfg:/conf/zoo.cfg --name zookeeper_0 -d zookeeper:3.8 ``` #### 4.1 查看各个服务器状态 访问: - http://10.10.10.121:8180/commands/stats - http://10.10.10.122:8180/commands/stats - http://10.10.10.123:8180/commands/stats
yg9538
Sept. 17, 2022, 5:08 p.m.
797
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码