阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MetaQ集群安装测试

421次阅读
没有评论

共计 5153 个字符,预计需要花费 13 分钟才能阅读完成。

1,ZooKeeper 集群安装,可以参考 ZooKeeper 集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm

2,下载 https://github.com/killme2008/Metamorphosis/tree/metamorphosis-all-1.4.6.2,如果不想自己编译可以直接下载 http://fnil.net/downloads/index.html,我这里选择自己编译,主要是以后如果出现问题自己可以修改其源码,重新编译

3,maven 编译,maven 环境自己搜索配置好,下载 all 项目后需要编译其子项目 metamorphosis-server-wrapper。dos 环境进入其目录下 mvn eclipse:eclipse,完成后导入到 eclipse, 用 eclipse 插件编译。或者直接 dos 该目录下执行 mvn clean install -Dmaven.test.skip=true。完成后 target 目录下生产其 jar 包;

可以在工程创建 lib 文件夹,输入以下命令:mvn dependency:copy-dependencies -DoutputDirectory=lib(不加 DoutputDirectory 会默认输出到 targed/dependency 下)。再把 install 的 jar 包也 copy 到 lib 下。

4,完成编译后上传到服务器

需要修改 conf/server.ini 文件

[system]brokerId=2

numPartitions=1

serverPort=8123

ashboardHttpPort=8120

unflushThreshold=0

unflushInterval=10000

maxSegmentSize=1073741824

maxTransferSize=1048576

deletePolicy=delete,168

deleteWhen=0 0 6,18 * * ?

flushTxLogAtCommit=1

stat=true

dataPath=/data1/metaq/data

dataLogPath=/data1/metaq/log

[zookeeper]

zk.zkConnect=192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181

zk.zkSessionTimeoutMs=30000

zk.zkConnectionTimeoutMs=30000

zk.zkSyncTimeMs=5000

;; Topics section

[topic=test]

[topic=meta-test]

 

 

 

集群的话需要修改上面标红部分,brokerId 保证每个服务器节点上不一样就行

dataPath,dataLogPath 如果自己制定,需要每台服务器 mkdir

分发到个节点,在每台节点的 bin 下都执行 metaServer.sh start

需要停止时执行 metaServer.sh stop

查看状态 sh metaServer.sh status

5,应用例子

package com.test.metaq;

import Java.util.concurrent.Executor;

import com.taobao.metamorphosis.Message;
import com.taobao.metamorphosis.client.MessageSessionFactory;
import com.taobao.metamorphosis.client.MetaClientConfig;
import com.taobao.metamorphosis.client.MetaMessageSessionFactory;
import com.taobao.metamorphosis.client.consumer.ConsumerConfig;
import com.taobao.metamorphosis.client.consumer.MessageConsumer;
import com.taobao.metamorphosis.client.consumer.MessageListener;
import com.taobao.metamorphosis.exception.MetaClientException;
import com.taobao.metamorphosis.utils.ZkUtils.ZKConfig;

public class AsyncConsum {

 public static void main(String[] args) {
  final MetaClientConfig metaClientConfig = new MetaClientConfig(); 
        final ZKConfig zkConfig = new ZKConfig(); 
        zkConfig.zkConnect = “10.168.140.48:2181”; 
        metaClientConfig.setZkConfig(zkConfig); 
        MessageSessionFactory sessionFactory = null;
  try {
  sessionFactory = new MetaMessageSessionFactory(metaClientConfig);
  } catch (MetaClientException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } 
        final String topic = “test”; 
        final String group = “meta-example”; 
        MessageConsumer consumer = sessionFactory.createConsumer(new ConsumerConfig(group)); 
     
        try {
  consumer.subscribe(topic, 1024 * 1024, new MessageListener() {
      public void recieveMessages(Message message) {
          System.out.println(“Receive message ” + new String(message.getData())); 
      } 
      public Executor getExecutor() { 
          return null; 
      } 
  });
  consumer.completeSubscribe();
  } catch (MetaClientException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } 
 }

}

 

 

package com.test.metaq;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import com.taobao.metamorphosis.Message;
import com.taobao.metamorphosis.client.MessageSessionFactory;
import com.taobao.metamorphosis.client.MetaClientConfig;
import com.taobao.metamorphosis.client.MetaMessageSessionFactory;
import com.taobao.metamorphosis.client.producer.MessageProducer;
import com.taobao.metamorphosis.client.producer.SendResult;
import com.taobao.metamorphosis.exception.MetaClientException;
import com.taobao.metamorphosis.utils.ZkUtils.ZKConfig;

public class Products {

 public static void main(String[] args) {
  final MetaClientConfig metaClientConfig = new MetaClientConfig();
  final ZKConfig zkConfig = new ZKConfig();
  zkConfig.zkConnect = “10.168.140.48:2181”;
  metaClientConfig.setZkConfig(zkConfig);
 
  MessageSessionFactory sessionFactory = null;
  try {
  sessionFactory = new MetaMessageSessionFactory(metaClientConfig);
  } catch (MetaClientException e) {
  e.printStackTrace();
  }
 
  MessageProducer producer = sessionFactory.createProducer();
  final String topic = “test”;
  producer.publish(topic);
  BufferedReader reader = new BufferedReader(new InputStreamReader(
    System.in));
  String line = “qiujinyong”;
  try {
  while ((line = reader.readLine()) != null) {
    SendResult sendResult = producer.sendMessage(new Message(topic,
      line.getBytes()));
    if (!sendResult.isSuccess()) {
    System.err.println(“Send message failed,error message:”
      + sendResult.getErrorMessage());
    } else {
    System.out.println(“Send message successfully,sent to “
      + sendResult.getPartition());
    }
  }
  } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } catch (MetaClientException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }

 }

}

打包 test.jar 后,传服务器上 java -cp test.jar com.test.metaq.Products 命令行输入 message

打包 test.jar 后,传服务器上 java -cp test.jar com.test.metaq.AsyncConsum 命令行会接收到 message

ZooKeeper 的详细介绍 :请点这里
ZooKeeper 的下载地址 :请点这里

相关阅读

ZooKeeper 集群配置 http://www.linuxidc.com/Linux/2013-06/86348.htm

使用 ZooKeeper 实现分布式共享锁 http://www.linuxidc.com/Linux/2013-06/85550.htm

分布式服务框架 ZooKeeper — 管理分布式环境中的数据 http://www.linuxidc.com/Linux/2013-06/85549.htm

ZooKeeper 集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm

ZooKeeper 服务器集群环境配置实测 http://www.linuxidc.com/Linux/2013-04/83559.htm

ZooKeeper 集群安装 http://www.linuxidc.com/Linux/2012-10/72906.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5153字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7960543
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...