阿里巴巴宣布捐赠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. loj #2116. 「HNOI2015」开店

    #2116. 「HNOI2015」开店 题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的想法当然非 ...

  2. 洛谷P4557 [JSOI2018]战争(闵可夫斯基和+凸包)

    题面 传送门 题解 看出这是个闵可夫斯基和了然而我当初因为见到这词汇是在\(shadowice\)巨巨的\(Ynoi\)题解里所以压根没敢学-- 首先您需要知道这个 首先如果有一个向量\(w\)使得\ ...

  3. iis 重启命令

    打开IIS配置窗口的CMD命令:开始---运行---CMD----输入inetmgr  直接使用CMD我们可以操作很多事情,比如启动IIS,重启IIS,停止IIS 重启IIS服务器,开始->运行 ...

  4. 1. C/C++项目一

    需求: 使用C语言封装string 字符串,实现字符串的增.删.改.查等API函数. 要求: 不能使用 string 库函数,所有库函数必须自己手动实现. [项目实现] myString.h 代码如下 ...

  5. 一道组合数问题--出自 曹钦翔_wc2012组合计数与动态规划

    一道组合数问题--出自 曹钦翔_wc2012组合计数与动态规划 [问题描述] 众所周知,xyc 是一个宇宙大犇,他最近在给他的学弟学妹们出模拟赛. 由于 xyc 实在是太巨了,他出了一套自认为很水的毒 ...

  6. css文章

    前端HTML-CSS规范:https://yq.aliyun.com/articles/51487 jQuery+d3绘制流程图:https://blog.csdn.net/zitong_ccnu/a ...

  7. [JSOI2009]计数问题 二维树状数组BZOJ 1452

    题目描述 一个n*m的方格,初始时每个格子有一个整数权值.接下来每次有2种操作: 改变一个格子的权值: 求一个子矩阵中某种特定权值出现的个数. 输入输出格式 输入格式: 第一行有两个数N,M. 接下来 ...

  8. JavaScript笔记Array.filter(Boolean)

    ECMAScirpt5 中 Array 类中的 filter 方法使用目的是移除所有的 ”false“ 类型元素  (false, null, undefined, 0, NaN or an empt ...

  9. 洛谷 P3267 [JLOI2016/SHOI2016]侦察守卫(树形dp)

    题面 luogu 题解 树形\(dp\) \(f[x][y]表示x的y层以下的所有点都已经覆盖完,还需要覆盖上面的y层的最小代价.\) \(g[x][y]表示x子树中所有点都已经覆盖完,并且x还能向上 ...

  10. PIE SDK地图范围设置

    1.功能简介 地图范围设置主要就是对图层的地图浏览控制,例如地图的放大.缩小.漫游.全图显示.1:1视图.比例尺等功能,能更好的与地图有一个互动的地图浏览体验.PIE SDK对地图范围设置主要利用IC ...