阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩。

  至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程。

一、系统环境

service操作系统:centOS7 64位虚拟机
JDK:1.7以上
client操作系统:Windows 7 64位旗舰版

1.1 安装Linux

  笔者在此安装的是最小化版本的Linux,安装完成后显示:

  安装完成发现虚拟机无法联网,解决方法:

修改网络配置:vi /etc/sysconfig/network-scripts/ifcfg-en*****

修改

TYPE=Ethernet
BOOTPROTO=static 修改
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e866ca7f-40bd-4b1d-80fa-0afc13da35bb
DEVICE=ens33
ONBOOT=yes 修改
IPADDR=192.168.75.130 添加修改
NETMASK=255.255.255.0 添加修改
GATEWAY=192.168.75.2 添加修改
DNS1=192.168.75.2 添加修改

最后

重启网络配置:service network restart

为何说最小化版本呢,在验证上述修改生效时会出现这种情况:

好吧,参照这里搞定。

1.2 安装JDK

  a.下载jdk的rpm安装包,这里以jdk-8u131-linux-x64.rpm为例。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

  b.将jdk-8u131-linux-x64.rpm移动到合适的安装目录上。

  c.给安装包赋予运行权限chmod 755 jdk-8u131-linux-x64.rpm

  d.安装该rpm安装包rpm -i jdk-8u131-linux-x64.rpm

  e.设置环境变量vi /etc/profile输入 i 追加以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

  若没有立即生效,运行source /etc/profile

若运行java -version后显示

则安装完成。

二、安装RocketMQ

  1.下载rocketmq安装包,这里以alibaba-rocketmq-3.2.6.tar为例。下载地址:https://github.com/alibaba/RocketMQ/releases

  2.安装

# tar zxf alibaba-rocketmq-3.2.4-beta1.tar.gz -C /usr/local/
# cd /usr/local/
# ln -s /usr/local/alibaba-rocketmq /usr/local/rocketmq
# cd rocketmq/

  3.配置  运行 vim conf/2m-noslave/broker-a.properties

brokerClusterName=adam
brokerName=broker-a
brokerId=0
namesrvAddr=192.168.75.130:9876
deleteWhen=04
fileReservedTime=120 brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
sstorePathRootDir=/data/rocketmq/store
storePathCommitLog=/data/rocketmq/store/commitlog

  4.创建数据目录

# mkdir -p /data/rocketmq/store/commitlog
# mkdir /data/logs
# cd conf/
# sed -i 's#${user.home}#/data#g' *.xml      //将conf目录下所有xml文件中的${user.home}

  5.启动rocketmq

# cd ../bin/
# nohup sh mqnamesrv >/var/log/ns.log & //启动namesrv
# nohup sh mqbroker -c ../conf/2m-noslave/broker-a.properties > /var/log/mq.log 2>&1 & //启动borker

  6.查看启动日志

# tail -f /var/log/ns.log
# tail -f /var/log/mq.log

  7.查看启动端口

# netstat -tunpl
# jps

   8.关闭RocketMQ

# sh mqshutdown broker
# sh mqshutdown namesrv

  由此,安装完成。

  但由于linux防火墙会屏蔽某些端口,需要手动开放mq需要的端口。在此,笔者直接关闭了防火墙。

# systemctl stop firewalld.service //停止firewall
# systemctl disable firewalld.service //禁止firewall开机启动
# firewall-cmd --state //查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

三、验证

  1.下载测试环境 下载地址:https://code.aliyun.com/MiddlewareRace/PreliminaryDemo.git

  2.用windows下的Eclipse导入Maven项目进行测试

  3.修改Product和Consumer的服务器ip地址

  4.先运行Consumer再运行Product

至此,调试通过运行。

java消息中间件 RocketMQ Linux安装与运行的更多相关文章

  1. linux安装nodejs运行vue程序

    linux安装nodejs运行vue程序 1.与node官网下载安装包 https://nodejs.org/zh-cn/download/ 6.上传到服务器,并解压 tar -xvf node-v1 ...

  2. Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  3. tomcat+java+redis环境linux安装

    最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点 java jdk-1.80_131 64位 这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无 ...

  4. Java程序执行Linux命令(JSP运行其他程序)

    java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...

  5. [MongoDB]学习笔记--Linux 安装和运行MongoDB

    背景知识 MongoDB 是用C++写的, 开源的, NoSQL(Not Only SQL)文档数据库. 特点:high performance(高性能), high availability(高可靠 ...

  6. Linux安装php运行环境

    安装apache: yum install httpd httpd-devel  启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服 ...

  7. linux安装netcat 运行udp服务器

    liunx下安装netcat 1.下载安装包 wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1. ...

  8. Linux安装JDK、MySQL和Tomcat

    1 依赖的安装 因为JDK.Tomcat和MySQL的安装过程中需要从网上下载部分支持包才可以继续,所以需要提前安装好依赖. yum install glibc.1686 yum -y install ...

  9. Linux安装RocketMQ

    本文介绍Linux安装RocketMQ. 1.RocketMQ简介 RocketMQ是阿里巴巴中间件开发的分布式消息系统,曾经经历过很多阿里巴巴大型项目的实际检验.在去年已经正式捐献给Apache开源 ...

随机推荐

  1. django部署ubuntu数据库MYSQL时区问题

    SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name; mysql_tzinfo_to_sql /usr/share/zo ...

  2. 根据枚举获取枚举的Description特性值

    首先定义一个枚举:两个值:已确认.未确认. public enum ConfirmStatusEnum { [Description("未确认")] unconfirmed = , ...

  3. js 定时器的用法和清除

    一.设置定时器 window对象提供了两个方法来实现定时器的效果, 分别是window.setTimeout()和window.setInterval.其中前者可以使一段代码在指定时间后运行:而后者则 ...

  4. 老男孩python作业2-购物车程序

    购物车程序要求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 ...

  5. 线性递推规律BM杜教

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...

  6. HDU6393(LCA + RMQ + 树状数组) n边图,两点最短距离 , 修改边权

    这道题的进阶版本 进阶版本 题意: 一个n个点,n条边的图,2中操作,1是将某条边的权值更改,2是询问两点的最短距离. 题解: 由于n个点,n条边,所以是树加一个环,将环上的边随意取出一条,就是1颗树 ...

  7. 112th LeetCode Weekly Contest Validate Stack Sequences

    Given two sequences pushed and popped with distinct values, return true if and only if this could ha ...

  8. ThinkPHP vendor 方法导入第三方类库

    ThinkPHP 3.2 vendor()方法的深入研究及Phpqrcode的正确扩展 ThinkPHP vendor 方法导入第三方类库 第三方类库 第三方类库指除了 ThinkPHP 框架.应用项 ...

  9. PIE SDK打开Micaps数据

    1. 功能简介 Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式.其包含多种气象信息产品(地面常规气象观测数据产品.高空常规气象观测数据产品等),目前Micaps数据被Micaps软件 ...

  10. jquery 去除字符串左右空格

    /*** 删除左右两端的空格*/String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, '');} 调用方式: v ...