java消息中间件 RocketMQ Linux安装与运行
阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩。
至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程。
一、系统环境
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 添加修改
最后
为何说最小化版本呢,在验证上述修改生效时会出现这种情况:
好吧,参照这里搞定。
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安装与运行的更多相关文章
- linux安装nodejs运行vue程序
linux安装nodejs运行vue程序 1.与node官网下载安装包 https://nodejs.org/zh-cn/download/ 6.上传到服务器,并解压 tar -xvf node-v1 ...
- Linux安装Tomcat,运行Eclipse,web项目
到官网下载:https://tomcat.apache.org/download-80.cgi 在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd 切换目录 / ...
- tomcat+java+redis环境linux安装
最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点 java jdk-1.80_131 64位 这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无 ...
- Java程序执行Linux命令(JSP运行其他程序)
java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...
- [MongoDB]学习笔记--Linux 安装和运行MongoDB
背景知识 MongoDB 是用C++写的, 开源的, NoSQL(Not Only SQL)文档数据库. 特点:high performance(高性能), high availability(高可靠 ...
- Linux安装php运行环境
安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服 ...
- linux安装netcat 运行udp服务器
liunx下安装netcat 1.下载安装包 wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1. ...
- Linux安装JDK、MySQL和Tomcat
1 依赖的安装 因为JDK.Tomcat和MySQL的安装过程中需要从网上下载部分支持包才可以继续,所以需要提前安装好依赖. yum install glibc.1686 yum -y install ...
- Linux安装RocketMQ
本文介绍Linux安装RocketMQ. 1.RocketMQ简介 RocketMQ是阿里巴巴中间件开发的分布式消息系统,曾经经历过很多阿里巴巴大型项目的实际检验.在去年已经正式捐献给Apache开源 ...
随机推荐
- django部署ubuntu数据库MYSQL时区问题
SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name; mysql_tzinfo_to_sql /usr/share/zo ...
- 根据枚举获取枚举的Description特性值
首先定义一个枚举:两个值:已确认.未确认. public enum ConfirmStatusEnum { [Description("未确认")] unconfirmed = , ...
- js 定时器的用法和清除
一.设置定时器 window对象提供了两个方法来实现定时器的效果, 分别是window.setTimeout()和window.setInterval.其中前者可以使一段代码在指定时间后运行:而后者则 ...
- 老男孩python作业2-购物车程序
购物车程序要求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 ...
- 线性递推规律BM杜教
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...
- HDU6393(LCA + RMQ + 树状数组) n边图,两点最短距离 , 修改边权
这道题的进阶版本 进阶版本 题意: 一个n个点,n条边的图,2中操作,1是将某条边的权值更改,2是询问两点的最短距离. 题解: 由于n个点,n条边,所以是树加一个环,将环上的边随意取出一条,就是1颗树 ...
- 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 ...
- ThinkPHP vendor 方法导入第三方类库
ThinkPHP 3.2 vendor()方法的深入研究及Phpqrcode的正确扩展 ThinkPHP vendor 方法导入第三方类库 第三方类库 第三方类库指除了 ThinkPHP 框架.应用项 ...
- PIE SDK打开Micaps数据
1. 功能简介 Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式.其包含多种气象信息产品(地面常规气象观测数据产品.高空常规气象观测数据产品等),目前Micaps数据被Micaps软件 ...
- jquery 去除字符串左右空格
/*** 删除左右两端的空格*/String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, '');} 调用方式: v ...