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【亲测哈哈】的更多相关文章

  1. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  2. 【运维技术】CentOS7上从零开始安装LAMP安装织梦DedeCMS教程

    前期准备数据 centos7 系统 安装 appache httpd # 更新httpd yum update httpd # 安装httpd yum install -y httpd # 启动服务 ...

  3. 【Linux运维】Centos7上借助ansible搭建LVS+Keepalived

    安装ansible 安装ansible: [root@localhost ~]# /etc/hosts 192.168.19.129 web129.yanglt.com web129 192.168. ...

  4. 【运维技术】Nexus私服安装配置常用问题

    maven私服安装配置 软件安装及基本配置 安装配置 # 安装jdk,参考其他教程 mkdir -p /app/nexus2 # 创建目录 wget https://download.sonatype ...

  5. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  6. 亲爱的,我是一条Linux运维技术学习路径呀。

    根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...

  7. saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3

    saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3 安装nginx-1.10.3.tar.gz # mkdir -p /srv/salt/prod/pkg / ...

  8. 运维自动化之ansible的安装与使用 转

    运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...

  9. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

随机推荐

  1. iOS-利用插件实时刷新模拟器(提高效率)

    解决办法: 1.需要给Xcode安装一个Alcatraz插件 安装完成后:点击window 下面的 package manager 安装我们今天的主角 2. ‘Injection Plugin for ...

  2. c# Use NAudio Library to Convert MP3 audio into WAV audio(将Mp3格式转换成Wav格式)

    Have you been in need of converting mp3 audios to wav audios?  If so, the skill in this article prov ...

  3. 纯HTML自动刷新页面或重定向(http-equiv属性的refresh)

    refresh 属性值  --  刷新与跳转(重定向)页面 refresh出现在http-equiv属性中,使用content属性表示刷新或跳转的开始时间与跳转的网址 refresh示例一:5秒之后刷 ...

  4. angular -- ng-ui-route路由及其传递参数?page页面版

    前面有说过 ng-ui-route 使用 script 标签来做,但是很多时候,会通过引入模板页面的方式来实现: 具体代码: <!DOCTYPE html> <html lang=& ...

  5. angularJS的路由!

    angularJS 路由:(分发需求) angularJS 中路由是单独提供的功能模块,ngRoute  也是一个单独发行的文件 可以通过 npm 去安装这个包:angular-route <s ...

  6. 在线预览文档(支持word、excel、ppt、pdf)+在线预览文档html版(转)

    1.首先上网搜索一下有什么解决方案 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现类似百度文库的效果,除支持office文档外还支持pdf (1) a. ...

  7. 【ES6】001---module模块------【巷子】

    001.前言 什么是模块化开发?   为了提高代码的复用度,开发人员会按照功能把大量的js代码分成若干文件,这样在多个页面就可以使用同一个文件了.,下面是某个网站的js引用情况 怎么会有这么多js文件 ...

  8. 170620、springboot编程之页面版Hello World

    书接上回,把Hello World 在页面上显示! 1.在pom文件中加入web支持 <dependency> <groupId>org.springframework.boo ...

  9. Firefox不能加载TinyMCE的问题

    不知Firefox的哪个版本开始,经常不能正常加载TinyMCE. 经过分析发现,出问题时总是停留在加载advhr插件(tiny_mce/plugins/advhr/editor_plugin.js) ...

  10. ping 10.13.5.233

    3. 环境 URL选择器 tableView ping 10.13.5.233