【运维技术】CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】
CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】
安装git
# 更新包
$ yum update
# 安装git
$ yum install git
# 验证git安装成功
$ git --version
# 这样git即可安装成功
安装wget依赖包
# 更新包
$ yum install wget
# 安装完成后可以使用wget命令
安装jdk
# 登录SSH到linux的默认用户路径下(我使用的是root用户)
# 下载JDK:使用官方网站的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
$ wget http://220.112.193.200/files/9130000004D8B9C4/download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz .
# 转移到目录中解压
$ cp /root/jdk-8u144-linux-x64.tar.gz /usr/local/
# 切换目录
$ cd /usr/local
# 解压
$ tar -xvf jdk-8u144-linux-x64.tar.gz
# 创建软连接将jdk的软连接到jdk8上
$ ln -s jdk-8u144-linux-x64.tar.gz jdk8
# 进入更目录修正环境变量
$ vi ~/.bash_profile
# 在尾部添加环境变量如下
JAVA_HOME=/usr/local/jdk8
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
# 使用insert模式,用esc+ ‘:wq’完成编辑,使用source完成编辑
$ source ~/.bash_profile
# 验证jdk安装成功
$ java -version
安装maven
# 登录SSH到linux的默认用户路径下(我使用的是root用户)
# 下载maven:http://maven.apache.org/download.cgi
$ wget http://211.162.127.22/files/2245000004204200/mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz .
# 移动到目录中解压
$ cp /root/apache-maven-3.5.0-bin.tar.gz /usr/local/
# 切换目录
$ cd /usr/local/
# 解压
$ tar -xvf apache-maven-3.5.0-bin.tar.gz
# 创建软连接(将软连接上maven工程,保证以后改变apache不用改环境变量的配置)
$ ln -s apache-maven-3.5.0/ maven
# 进入更目录修正环境变量
$ vi ~/.bash_profile
# 在尾部添加环境变量如下
MAVEN_HOME=/usr/local/maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
# 使用insert模式,用esc+ ‘:wq’完成编辑,使用source完成编辑
$ source ~/.bash_profile
# 验证maven安装成功
$ mvn -version
安装RocketMQ
这边我们使用源码编译安装,参考从github上面拉取源代码进行编译,然后使用maven进行编译
拉取代码和通过maven进行编译
# 选择git代码下载目录,拉取源代码(可以拉取当前最新版本的分支:release-4.1.0-incubating)
$ git clone -b release-4.1.0-incubating https://github.com/apache/incubator-rocketmq.git
# 切换到文件目录
$ cd incubator-rocketmq
# 使用maven编译,下载jar包等待编译成功
$ mvn -Prelease-all -DskipTests clean install -U
# 切换到编译完成的目录的bin目录准备启动服务器
$ cd distribution/target/apache-rocketmq/bin
启动名称服务器(name Server)(可以设置集群)
可以通过命令
vi runserver.sh
修改jvm 配置
# 启动命令,并且常驻内存
$ nohup sh mqnamesrv &
# 查看启动日志能看到:The Name Server boot success字样则成功
$ tail -f ~/logs/rocketmqlogs/namesrv.log
启动Broker(可以设置集群,master,slave)
可以通过命令
vi runbroker.sh
修改jvm 配置
# 启动命令,并且常驻内存:注意ip地址要配置成为服务的ip地址,保证地址以及端口能够访问(官方的有点问题)
$ nohup sh mqbroker -n "192.168.1.113:9876" -c ../conf/2m-noslave/broker-a.properties > broker.out &
# 我启动的时候报错了, 原因是对应的runbroker的配置将虚拟机的内存大小设置为4g了,我内存不够,所以我改成最大2g如下
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
# 查看启动日志
$ tail -f ~/logs/rocketmqlogs/broker.log
关闭RcocketMQ相关服务
# 停止broker服务
$ sh mqshutdown broker
# 定制nameserver服务
$ sh mqshutdown namesrv
向MQ发送和接收消息
# 在bin目录下面执行,将服务器地址引入到环境变量中
$ export NAMESRV_ADDR=192.168.1.113:9876
# 通过java代码实现的案例生产者生产消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 通过java代码实现案例消费者消费消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
监控MQ
# 调用命令监控在target的bin目录下
$ sh mqadmin clusterList -n 192.168.1.113:9876
相关注意事项
本文中的ip地址都是对应的服务器ip地址,
Java代码中的消费者是不是进程停止的,一直在监听消费
【运维技术】CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】的更多相关文章
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
- 【运维技术】CentOS7上从零开始安装LAMP安装织梦DedeCMS教程
前期准备数据 centos7 系统 安装 appache httpd # 更新httpd yum update httpd # 安装httpd yum install -y httpd # 启动服务 ...
- 【Linux运维】Centos7上借助ansible搭建LVS+Keepalived
安装ansible 安装ansible: [root@localhost ~]# /etc/hosts 192.168.19.129 web129.yanglt.com web129 192.168. ...
- 【运维技术】Nexus私服安装配置常用问题
maven私服安装配置 软件安装及基本配置 安装配置 # 安装jdk,参考其他教程 mkdir -p /app/nexus2 # 创建目录 wget https://download.sonatype ...
- 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点
WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...
- 亲爱的,我是一条Linux运维技术学习路径呀。
根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...
- saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3
saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3 安装nginx-1.10.3.tar.gz # mkdir -p /srv/salt/prod/pkg / ...
- 运维自动化之ansible的安装与使用 转
运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...
- 技术沙龙|京东云DevOps自动化运维技术实践
自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...
随机推荐
- 使用HTML5 的跨域通信机制进行数据同步
离线应用系统的设计目标就是在网络离线情况下依然可以操作我们的应用系统,并在网络畅通的情况下与服务器进行数据交互. 所以离线应用系统最终会做成类似C/S架构的客户端应用程序.这边基于Chrome或者 S ...
- 使用NSTimer实现动画
1.新建empty AppLication,添加HomeViewController页面, iphone.png图片 2.在 HomeViewController.xib中添加Image View,并 ...
- Java自动类型转换
■ 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型. ■ 特例:可以讲整型常量直接赋给byte,short,char等类型变量,而不需要强制类型转换,只要不超出其表数范围. ■ 强制类型 ...
- [分享]方便的 windbg 命令 - !list
Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...
- 图片上传转base64
代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...
- Tomcat7.0无法启动解决方法[failed to start]
很奇怪的一个问题,Tomcat一直好好的,运行Servlet之后就报这个错: 为什么呢?在网上查都查不到解决方法,后来仔细检查了下Servlet,发现web.xml有个低级错误: 配置的Servlet ...
- 【BZOJ4003】[JLOI2015]城池攻占 可并堆
[BZOJ4003][JLOI2015]城池攻占 Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池. 这 n 个城池用 1 到 n 的整数表示.除 1 号 ...
- android去除Spinner的分割线
<style name="TestSpinnerStyle" parent="android:style/Widget.ListView.DropDown" ...
- JS事件监听的添加方法
一. 我们一般在的事件添加时是这样做的: elm.onclick = function( ) { //handler } 这样的写法兼容主流的浏览器,但是存在一个问题,当同一个elm绑定多个事件时,只 ...
- Centos设置SSH限制登录用户及IP
1,系统版本查看 2,编辑ssh配置文件 vim /etc/ssh/sshd_config 在尾部加一行 允许sysman用户从ip1.1.1.*登录 3,重启sshd即可 /etc/init.d/s ...