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. jq的clone用第二次的时候为什么会复制clone出来的元素(即一变二,二变四)

    原因是clone得到的是一个数组吗,每次再clone的时候,相当于操作了这个数组,肯定就会出现重复,我们只需要取第一个值就可以了,用.first()的方法 jquery(‘item‘).first() ...

  2. 《C++ Primer Plus》15.5 类型转换运算符 学习笔记

    C++相对C更严格地限制允许的类型转换,并添加4个类型转换运算符,是转换过程更规范:* dynamic_cast:* const_cast:* static_cast:* reinterpret_ca ...

  3. C# Distinct使用,支持对象的相等比较

    官网Enumerable.Distinct https://msdn.microsoft.com/zh-cn/library/bb338049.aspx CSDN中作者oriency755 关于Dis ...

  4. php实现一个简单的购物网站

    实现一个简单的购物网站 一.考试时间:8小时 二.开发工具:DW 三.数据库:见附件 四.需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击“购买“. ViewCart:查看购物车 ...

  5. ubuntu 安装nfs 服务

    1. 安装nfs服务软件 (1)服务器端 $sudo apt-get install nfs-kernel-server  rpcbind (2)客户端 (可以省略) $sudo apt-get in ...

  6. JS-运动基础——案例应用:淡入淡出效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. jvm的内存模型

    转自:https://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互, ...

  8. IOS微信端软键盘收起后界面按钮失效问题

    问题描述: 1.在vue里封装了一个confirm的弹窗(即如下一个弹窗) 2.发现在IOS微信客户端中打开后,当需要在表单中输入内容的时候,很自然的点击了键盘右上角的[完成]按钮 3.啊~~~,惊人 ...

  9. Centos6.5SSH登录使用google二次验证

    一般ssh登录服务器,只需要输入账号和密码,但为了更安全,在账号和密码之间再增加一个google的动态验证码.谷歌身份验证器生成的是动态验证码,默认30秒更新 工具/原料   CentOS 6.5 X ...

  10. MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具

    mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合 ...