Centos7安装RocketMQ及配置测试

环境

Centos7

RocketMQ 3.2.6
安装位置 /usr/local/alibaba-rockermq
外网ip 182.254.145.66
内网ip 10.105.23.114

安装

wget https://github.com/alibaba/RocketMQ/releases/download/v3.2.6/alibaba-rocketmq-3.2.6.tar.gz
tar alibaba-rocketmq-3.2.6.tar.gz
cd  alibaba-rocketmq

启动

nohup sh mqnamesrv -n 10.105.23.114:9876 & 
nohup sh mqbroker -n 10.105.23.114:9876

java测试

使用maven构建环境

[html] view plain copy

  1. <!-- http://mvnrepository.com/artifact/com.alibaba.rocketmq/rocketmq-client -->
  2. <dependency>
  3. <groupId>com.alibaba.rocketmq</groupId>
  4. <artifactId>rocketmq-client</artifactId>
  5. <version>3.2.3</version>
  6. </dependency>

[java] view plain copy

  1. package rocketmq;
  2. import java.util.Date;
  3. import com.alibaba.rocketmq.client.exception.MQClientException;
  4. import com.alibaba.rocketmq.client.producer.DefaultMQProducer;
  5. import com.alibaba.rocketmq.client.producer.SendResult;
  6. import com.alibaba.rocketmq.common.message.Message;
  7. public class Producer {
  8. public static void main(String[] args) throws MQClientException, InterruptedException {
  9. DefaultMQProducer producer = new DefaultMQProducer("rmq-group");
  10. producer.setNamesrvAddr("182.254.145.66:9876");
  11. producer.setInstanceName("rmq-instance");
  12. producer.start();
  13. try {
  14. for (int i = 0; i < 3; i++) {
  15. Message msg = new Message("TopicA-test",// topic
  16. "TagA",// tag
  17. (new Date() + "Hello RocketMQ ,QuickStart" + i)
  18. .getBytes()// body
  19. );
  20. SendResult sendResult = producer.send(msg);
  21. }
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. }
  25. producer.shutdown();
  26. }
  27. }
  28. package rocketmq;
  29. import java.util.List;
  30. import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer;
  31. import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
  32. import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
  33. import com.alibaba.rocketmq.client.consumer.listener.MessageListenerConcurrently;
  34. import com.alibaba.rocketmq.client.exception.MQClientException;
  35. import com.alibaba.rocketmq.common.message.MessageExt;
  36. public class Consumer {
  37. public static void main(String[] args) throws InterruptedException, MQClientException {
  38. DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("rmq-group");
  39. consumer.setNamesrvAddr("182.254.145.66:9876");
  40. consumer.setInstanceName("rmq-instance");
  41. consumer.subscribe("TopicA-test", "TagA");
  42. consumer.registerMessageListener(new MessageListenerConcurrently() {
  43. @Override
  44. public ConsumeConcurrentlyStatus consumeMessage(
  45. List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
  46. for (MessageExt msg : msgs) {
  47. System.out.println(new String(msg.getBody()));
  48. }
  49. return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
  50. }
  51. });
  52. consumer.start();
  53. System.out.println("Consumer Started.");
  54. }
  55. }

运行consumer后发现
com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <10.105.23.114:10911> failed
在nohup.out里发现 
The broker[localhost, 10.105.23.114:10911] boot success. and name server is 182.254.145.65:9876
哎,看来还是外网内网ip的问题

上次在安装Tair的时候就碰到过类似的问题 详见  Centos7安装Tair及配置测试

最后经过多方搜索,在官方的用户说明里看到下面的方法

经过我修改后的broker.p

[html] view plain copy

  1. namesrvAddr=127.0.0.1:9876
  2. brokerIP1=182.254.145.66
  3. brokerName=localhost
  4. brokerClusterName=DefaultCluster
  5. brokerId=0
  6. autoCreateTopicEnable=true
  7. autoCreateSubscriptionGroup=true
  8. rejectTransactionMessage=false
  9. fetchNamesrvAddrByAddressServer=false
  10. storePathRootDir=/root/store
  11. storePathCommitLog=/root/store/commitlog
  12. flushIntervalCommitLog=1000
  13. flushCommitLogTimed=false
  14. deleteWhen=04
  15. fileReservedTime=72
  16. maxTransferBytesOnMessageInMemory=262144
  17. maxTransferCountOnMessageInMemory=32
  18. maxTransferBytesOnMessageInDisk=65536
  19. maxTransferCountOnMessageInDisk=8
  20. accessMessageInMemoryMaxRatio=40
  21. messageIndexEnable=true
  22. messageIndexSafe=false
  23. haMasterAddress=
  24. brokerRole=ASYNC_MASTER
  25. flushDiskType=ASYNC_FLUSH
  26. cleanFileForciblyEnable=true

ok!
这说明什么?说明第一手资料很重要

参考资料

http://www.jialeens.com/archives/681.html
http://www.cnblogs.com/xiaodf/p/5075167.html

http://blog.csdn.net/dlf123321/article/details/51514263

时间: 2024-10-14 09:41:48

Centos7安装RocketMQ及配置测试的相关文章

centos7安装docker并配置php运行环境

原文:centos7安装docker并配置php运行环境 一.安装docker 首先我们先来了解一下什么是docker. docker是一个虚拟化的技术,基于 Linux 内核,是将进程进行封装隔离,由于隔离的进程独立于宿主机和其它的隔离的进程,因此也可以称为容器.很多人把docker理解为虚拟机,其实不是的,因为它不需要进行硬件虚拟以及运行完整操作系统等额外开销的,docker的出现也是为了解决在各种复杂的环境下不需要做任何的修改还可以保证程序正常稳定的运行,也就是环境一致性的问题,当然还有k

Centos7安装之后网卡配置

一,网卡配置 使用NAT模式时: 首先配置WMware上的网络模式,以及虚拟机网络配置 配置好之后,确定你的虚拟机网络使用的NAT模式  之后登陆虚拟就,继续配置网卡 ifconfig # 查看网卡配置 显示是没有配置网络的,继续配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FA

Centos7安装Miniconda及配置jupyter

Conda是什么? Conda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换. Anaconda包括Conda.Python以及一大堆安装好的工具包,比如:numpy.pandas等. Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载. Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 python 和 conda,

centos7安装redis5,并配置远程访问

前期可以参考:redis安装. 然后配置远程访问: 1.修改配置文件 vim 你的redis安装目录/redis.conf 修改以下: a.将bind:127.0.0.1注释 b.protected-mode设置为no,关闭保护模式 c.可以设置一个密码:requirepass:123456 2.关闭并重启redis,然后查询redis,可以看到是否可以远程访问 service redisd stop service redisd start ps -aux|grep redis 如果是像我这样

CentOS7安装nagios并配置出图详解

目录 开始之前 系统环境 监控内容 所需软件包 Centos7重要变化 配置开发环境 同步时间 关闭Selinux 使用CRT上传软件包 安装邮件服务 监控主机安装 常用到的命令 安装nagios所需要的运行环境 增加用户 安装nagios 配置权限 安装插件 安装nrpe 远程主机安装 常用到的命令 配置运行环境 安装nagios-plugin 安装nrpe 启动nrpe. 监控主机安装PNP 配置开发环境 安装php4nagios (版本号为0.6) 配置pnp4nagios 图表展示 问题

GitLab 7.5.3 CentOS7安装和SMTP配置

CentOS 7安装GitLab还是比较简单的,按照官方文档的提示一步一步操作下来,就一个地方需要修改. 参考:GitLab安装说明 在安装好以后,运行 gitlab-ctl reconfigure 之前,需要修改GitLab的配置文件 /etc/gitlab/gitlab.rb 将其中 export_url 'xxxxxxxxx' 修改为 export_url='xxxxxxxx' 否则在运行reconfigure时候汇报错. 另外,比较不容易弄清楚的是通过SMTP配置发送邮件的功能.网上很多

centos7安装nfs服务配置

nfs为什么需要RPC?因为NFS支持的功能很多,不同功能会使用不同程序来启动,因此,NFS对应的功能所对应的端口无法固定.端口不固定造成客户端与服务端之间的通信障碍,所以需要RPC来从中帮忙.NFS启动时会随机取用若干端口,然后主动向RPC服务注册取用相关端口和功能信息,RPC使用固定端口111来监听来自NFS客户端的请求,并将正确的NFS服务端口信息返回给客户端,这样客户端与服务端就可以进行数据传输了 1.由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过

CentOS7安装Mysql并配置远程访问

(su root登录到root账户) 下载repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装rpm包 rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装mysql yum install mysql-server 执行后开始下载和解压操作,过程中会遇到多次Y/N询问,输入y然后回车确认 安装完成后再次查看mysql rpm -qa|grep

java开发人员centos7安装后环境配置

注意事项: 1.应用的安装都不要用root用户直接安装,而是使用普通用户安装,避免资源被吃尽的情况. 1.配置dns vim /etc/resolv.conf 添加如下配置 nameserver 114.114.114.114 nameserver 8.8.8.8 2.常用软件安装列表 yum install -y wget  lrzsz git curl vim docker net-tools lsof 3.jdk安装 (下载jdk并解压到/usr/local/java/jdk1.8.0_1