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. Docker源码分析(八):Docker Container网络(下)

    1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场 ...

  2. 【BZOJ3011】[Usaco2012 Dec]Running Away From the Barn 可并堆

    [BZOJ3011][Usaco2012 Dec]Running Away From the Barn Description It's milking time at Farmer John's f ...

  3. 【BZOJ1915】[Usaco2010 Open]奶牛的跳格子游戏 DP+单调队列

    [BZOJ1915][Usaco2010 Open]奶牛的跳格子游戏 Description 奶牛们正在回味童年,玩一个类似跳格子的游戏,在这个游戏里,奶牛们在草地上画了一行N个格子,(3 <= ...

  4. iOS5 ARC学习笔记:strong、weak等详解

    2013-03-25 13:41 佚名 oschina 字号:T | T iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存.但是学习还是很有必要的.现在我们看看iOS5 ...

  5. 几何+点与线段的位置关系+二分(POJ2318)

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10666   Accepted: 5128 Description ...

  6. java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题

    当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumberi ...

  7. Zabbix邮件告警提示Couldn't resolve host name解决办法

    zabbix设置好邮件告警,当有触发时邮件未发送 查看zabbix server日志,提示不能连接邮件发送服务器,但是ping是可以通的

  8. pta 习题集 5-2 找出不是两个数组共有的元素 (5分)

    给定两个整型数组,本题要求找出不是两者共有的元素. 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数NN(≤20≤20),随后是NN个整数,其间以空格分隔. 输出格式: 在一行中按照数字 ...

  9. Spongebob and Squares---cf599D(数学公式1 + (1+2) + (1+2+3) +....)

    题目链接:http://codeforces.com/contest/599/problem/D 一个3×5(m×n)的长方形,里面包含15个边长为1的正方形,有8个边长为2的正方形,有3个边长为3的 ...

  10. Oil Skimming---hdu4185(最大匹配)

    题目链接 题意:有一个地图.代表水#代表油每个单元格是10*10的,现有10*20的勺子可以提取出水上漂浮的油,问最多可以提取几勺的油: 每次提取的时候勺子放的位置都要是油,不然就被污染而没有价值了: ...