一, 下载安装 Maven
我们准备安装的 Apache-RocketMQ 需要通过 Maven 去编译后才能启动, 所以首先要保证 Linux 服务器中有安装 java 环境以及 Maven.
1. 下载 maven 并解压
maven 下载地址 http://maven.apache.org/download.cgi 找到合适的 maven 版本
wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.6.0/source/apache-maven-3.6.0-src.tar.gz
通过上面的命令, 下载 maven 压缩包到你想要安装的目录下. 解压安装包
tar -zxvf apache-maven-3.6.0-src.tar.gz
解压后可以建立一个软连接, 方便配置环境变量
ln -s apache-maven-3.6.0-src.tar.gz maven
2. 配置环境变量
打开配置文件
VIM /etc/profile
在文件末尾追加环境变量
- MAVEN_HOME=/usr/local/maven
- export MAVEN_HOME
- export PATH=${
- PATH
- }:${
- MAVEN_HOME
- }/bin
/usr/local 就是你存放 maven 的目录
让配置文件立刻生效
source /etc/profile
3. 安装成功
控制台输入 mvn -v 出现版本号说明 maven 安装成功
二, 下载安装 RocketMQ
1. 下载解压 Apache-RocketMQ
https://github.com/apache/rocketmq/releases 这个网址可以看到多个版本的 RocketMQ
wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.3.0.tar.gz
在 / user/local / 下新建 rocketmq 文件夹, 将压缩包下载到这个文件夹, 然后解压
tar -zxvf rocketmq-all-4.3.0.tar.gz
解压后文件夹如下
2. 编译
要使用用 maven 编译项目,
mvn -Prelease-all -DskipTests clean install -U
开始编译
最后出现 BUILD SUCCESS 就说明已经编译成功
3. 配置环境变量
- cd distribution/target/apache-rocketmq/
- pwd
记录这个路径, 需要配置到环境变量 打开配置文件
VIM /etc/profile
在最后追加两行, wq 保存退出
- export rocketmq=/usr/local/rockemq-source/rocketmq/distribution/target/apache-rocketmq
- export PATH=$PATH:$rocketmq/bin
让配置文件立马生效
source /etc/profile
新建日志文件夹
mkdir /usr/local/log/rocketmqlogs
4. 启动 RocketMQ
启动:
nohup mqnamesrv>/usr/local/log/rocketmqlogs/namesrv.log 2>&1 &
查看日志:
tail -f /user/local/log/rocketmqlogs/namesrv.log
正常启动的话, 会出现
启动 broker 服务:
nohup mqbroker -n localhost:9876>/usr/local/log/rocketmqlogs/broker.log 2>&1 &
查看日志:
tail -f /user/local/log/rocketmqlogs/broker.log
正常启动的话, 会出现
但是由于 RocketMQ 默认的 java 内存配置有点大, 服务器内存没那么大就会报错
- Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
- Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
- Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k). A new max generation size of 131008k will be used.
只要修改一下 bin 目录下的 runserver.sh 和 runbroker.sh 文件的配置就好了
按照服务器情况修改就好了
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn128m"
修改后重新启动就应该可以了 运行下面命令, 查看 RocketMQ 进程
ps -ef|grep rocketmq
5. 关闭
- mqshutdown namesrv
- mqshutdown broker
三, 搭建可视化管理控制台 RocketMQ Console
1. 下载
RocketMQ 安装成功后, 想要比较简单的访问一下, 就可以使用 RocketMQ Console RocketMQ 有一个对其扩展的开源项目 https://github.com/apache/rocketmq-externals , 里面有个项目就是 RocketMQ Console 整个项目下载下来有点慢, 所以就只下 Console 那个分支项目就好了
2. 配置启动
将项目导入, 然后配置配置文件
将服务器地址配置好
启动项目
如果出现下面的链接失败问题, 可能是你的服务器端口没有开放, 把安全组规则配置一下就好了, 最好把 9876,10909,10911 都开放了
- java.lang.RuntimeException: org.apache.rocketmq.remoting.exception.RemotingConnectException:
- connect to <x.x.x.x:9876> failed
如果端口开放了, 但是还是报 connect to x.x.x.x:10911 failed, 那就需要配置一下 brokerIP1,broker 启动时, 默认 ip 是本地 ip, 但是这个 ip 可能远程无法访问.
在 RocketMQ 目录新建 properties
echo "brokerIP1 = 外网 IP"> broker.properties
关闭然后重启 broker
mqshutdown broker
nohup mqbroker -n localhost:9876 -c 配置文件路径 / broker.properties>/usr/local/log/rocketmqlog/broker.log 2>&1 &
重启 console 项目, 浏览器访问
来源: https://juejin.im/post/5bffa58851882558ae3c23ea