AutoMQ 生态集成 Tigris新鲜出炉

释放双眼,带上耳机,听听看~!

Tigris[1]是一个全球分布式的兼容 S3 的对象存储服务,它允许你存储和访问任意数量的数据,具有广泛的使用场景Tigris 会自动且智能地将数据分布到靠近用户的位置,让用户无需担心数据复制和缓存复杂性。

AutoMQ 生态集成 Tigris新鲜出炉

你可以将 Tigris 用于多种场景,例如:实时应用程序的存储网页内容与媒体(图片、视频等)物联网(IoT)应用程序的存储数据分析、大数据及批处理机器学习模型和数据集的存储备份与归档Tigris 兼容 S3 API。

这意味着你可以在 Tigris 中使用标准的 S3 SDK、工具和库本文将指导你如何将 AutoMQ[3] 集群部署在你私有数据中心的 Tigris 之上01前置条件一个可以正常使用的 Tigris 环境。

如果你还没有可用的 Tigris 环境,可以参考其官方文档[8]获取准备 5 台主机用于部署 AutoMQ 集群建议选择 2 核 16GB 内存的 Linux amd64 主机,并准备两个虚拟存储卷从 AutoMQ Github Releases 下载最新的正式二进制安装包,用于安装 AutoMQ。

为 Tigris 创建桶          a.设置环境变量来配置 AWS CLI 需要的 Access Key 和 Secret Keyexport AWS_ACCESS_KEY_ID=tid_avqGWWSohRwMErSDZoYAUOqcNiOYnyrzVEyatwqUlAskBBDCNA export AWS_SECRET_ACCESS_KEY=tsec_4J9qtNpHC4E+c9mZeHTQv91uId7+8FbL7Ob6NvtiPJoo0301DU99uNTuOqFzX9b-UxAgkl。

                 b.使用 AWS CLI 创建 S3 存储桶aws s3api create-bucket –bucket automq-data –endpoint=http://127.0.0.1:80 aws s3api create-bucket –bucket automq-ops –endpoint=http://127.0.0.1:80。

AutoMQ 生态集成 Tigris新鲜出炉

Tips:Tigris 是一种基于 Fly.io 基础架构的全球缓存、兼容 S3 的对象存储服务,创建和管理桶完全通过 Fly CLI 进行,详细请前往 Fly 官网查看关于 Tigris 的文档Tigris 提供了创建桶和 Access Key 的控制面板,你可以通过登陆 Fly 账号进行登陆查看。

02安装并启动 AutoMQ 集群配置S3 URL第一步:生成 S3 URLAutoMQ 提供了 automq-kafka-admin.sh 工具,用于快速启动 AutoMQ只需提供包含所需 S3 接入点和身份认证信息的 S3 URL,即可一键启动 AutoMQ,无需手动生成集群 ID 或进行存储格式化等操作。

### 命令行使用示例 bin/automq-kafka-admin.sh generate-s3-url \ –s3-access-key=xxx  \ –s3-secret-key=yyy \ –s3-region=cn-northwest-1  \ –s3-endpoint=s3.cn-northwest-1.amazonaws.com.cn \ –s3-data-bucket=automq-data \ –s3-ops-bucket=automq-ops

关于 Fly[4]:fly.io 是一个容器化的部署平台,只需要一个 Dockerfile 文件就能部署代码到 fly.io 的服务器上,同时还自动生成域名Tigris 是一种基于 Fly 基础架构全球缓存的对象存储服务,在 Tigris 中,桶是固有的全局实体。

这意味着桶中的对象存储在发起请求的区域为了优化性能并减少延迟,这些对象会根据随时间观察到的访问模式智能地分布到其他区域

AutoMQ 生态集成 Tigris新鲜出炉

输出结果执行该命令后,将自动按以下阶段进行:根据提供的 accessKey 和 secretKey 对 S3 基本功能进行探测,以验证 AutoMQ 和 S3 的兼容性根据身份信息,接入点信息生成 s3url。

根据 s3url 获取启动 AutoMQ 的命令示例在命令中,将 –controller-list 和 –broker-list 替换为实际需要部署的 CONTROLLER 和 BROKER执行结果示例如下:。

############  Ping s3 ######################## [ OK ] Write s3 object [ OK ] Read s3 object [ OK ] Delete s3 object [ OK ] Write s3 object [ OK ] Upload s3 multipart object [ OK ] Read s3 multipart object [ OK ] Delete s3 object ############  String of s3url ################ Your s3url is: s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=xxx&s3-secret-key=yyy&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA ############  Usage of s3url  ################ To start AutoMQ, generate the start commandline using s3url. bin/automq-kafka-admin.sh generate-start-command –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –controller-list=”192.168.0.1:9093;192.168.0.2:9093;192.168.0.3:9093″   –broker-list=”192.168.0.4:9092;192.168.0.5:9092″ TIPS: Please replace the controller-list and broker-list with your actual IP addresses.

第 2 步:生成启动命令列表将上一步生成的命令中的 –controller-list 和 –broker-list 替换为你的主机信息,具体来说,将它们替换为环境准备中提到的 3 台 CONTROLLER 和 2 台 BROKER 的 IP 地址,并且使用默认的 9092 和 9093 端口。

bin/automq-kafka-admin.sh generate-start-command –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –controller-list=”192.168.0.1:9093;192.168.0.2:9093;192.168.0.3:9093″   –broker-list=”192.168.0.4:9092;192.168.0.5:9092″

输出结果执行命令后,会生成用于启动 AutoMQ 的命令 ############  Start Commandline ############## To start an AutoMQ Kafka server, please navigate to the directory where your AutoMQ tgz file is located and run the following command. Before running the command, make sure that Java 17 is installed on your host. You can verify the Java version by executing java -version. bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker,controller –override node.id=0 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.1:9092,CONTROLLER://192.168.0.1:9093 –override advertised.listeners=PLAINTEXT://192.168.0.1:9092 bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker,controller –override node.id=1 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.2:9092,CONTROLLER://192.168.0.2:9093 –override advertised.listeners=PLAINTEXT://192.168.0.2:9092 bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker,controller –override node.id=2 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.3:9092,CONTROLLER://192.168.0.3:9093 –override advertised.listeners=PLAINTEXT://192.168.0.3:9092 bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker –override node.id=3 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.4:9092 –override advertised.listeners=PLAINTEXT://192.168.0.4:9092 bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker –override node.id=4 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.5:9092 –override advertised.listeners=PLAINTEXT://192.168.0.5:9092 TIPS: Start controllers first and then the brokers.。

注意:node.id 默认从 0 开始自动生成第 3 步:启动 AutoMQ要启动集群,请在预先指定的 CONTROLLER 或 BROKER 主机上依次执行上一步命令中的命令列表例如,在 192.168.0.1 上启动第一个 CONTROLLER 进程,执行生成的启动命令列表中的第一条命令。

bin/kafka-server-start.sh –s3-url=”s3://s3.cn-northwest-1.amazonaws.com.cn?s3-access-key=XXX&s3-secret-key=YYY&s3-region=cn-northwest-1&s3-endpoint-protocol=https&s3-data-bucket=automq-data&s3-path-style=false&s3-ops-bucket=automq-ops&cluster-id=40ErA_nGQ_qNPDz0uodTEA” –override process.roles=broker,controller –override node.id=0 –override controller.quorum.voters=0@192.168.0.1:9093,1@192.168.0.2:9093,2@192.168.0.3:9093 –override listeners=PLAINTEXT://192.168.0.1:9092,CONTROLLER://192.168.0.1:9093 –override advertised.listeners=PLAINTEXT://192.168.0.1:9092

后台运行如果需要以后台模式运行,请在命令末尾添加以下代码: command > /dev/null 2>&1 &至此,你已经完成了基于 Tigris 的 AutoMQ 集群部署,拥有了一个低成本、低延迟、秒级弹性的 Kafka 集群了。

如果你需要进一步体验 AutoMQ 的秒级分区迁移、持续自平衡等特性,可以参考官方示例[7]参考资料[1] Tigris: https://www.tigrisdata.com/[2] Features of Tigris:

https://www.tigrisdata.com/docs/overview/[3] AutoMQ 1.0.6-rc1: https://github.com/AutoMQ/automq/releases

[4] Fly: https://fly.io/[5] WHAT IS AUTOMQ?: https://docs.automq.com/docs/automq-opensource/HSiEwHVfdiO7rW…

[6] Example: Self-Balancing when Cluster Nodes Change: https://docs.automq.com/docs/automq-opensource/H6APwuugniOx7X…

[7] AutoMQ: GETTING STARTED: https://docs.automq.com/zh/docs/automq-opensource/EvqhwAkpriA…[8] Tigris: Getting Started:

https://www.tigrisdata.com/docs/get-started/#getting-started🌟 GitHub 地址:https://github.com/AutoMQ/automq

💻 官网:https://www.automq.com

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。星球日记

给TA打赏
共{{data.count}}人
人已打赏
Java

面试了一个 985 硕士程序员,让我见识到了基础的天花板!不看后悔

2024-6-6 13:47:14

动态

Spotify不再只是一家音乐平台了干货分享

2024-6-6 11:47:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索