Ubuntu手动安装jdk;Ubuntu手动安装Maven;Ubuntu手动安装RocketMQ;Ubuntu手动安装RocketMQ-Dashbo

安装jdk

1. 官网下载需要的jdk版本

https://www.oracle.com/tw/java/technologies/downloads/#java21

下载linux的tar.gz包

2. 进入Ubuntu控制台

2.1 创建存放路径

选一个自己平时存放应用的路径,或者创建一个常用文件夹来上传刚才下载的压缩包,这里我选择 /usr/local/jdk

bash 复制代码
# cd /usr/local/jdk
# 进行解压,解压到这个目录
root@instance-yo4hab98:/usr/local/jdk# sudo tar -zxvf openjdk-8u44-linux-x64.tar.gz -C /usr/local/jdk/

2.2 配置环境变量,编辑/etc/profile文件

bash 复制代码
root@instance-yo4hab98:/usr/local/jdk# sudo nano /etc/profile

在最后面加上:

bash 复制代码
export JAVA_HOME=/usr/local/jdk/java-se-8u44-ri
export PATH=$PATH:$JAVA_HOME/bin

然后 ctrl+o 保存;按住回车确认要保存的文件;再按 ctrl+x 退出

接下来使配置生效:

bash 复制代码
source /etc/profile
bash 复制代码
java -version

安装maven

https://maven.apache.org/download.cgi

下载对应版本的 apache-maven-xxxxx-bin.tar.gz

bash 复制代码
root@instance-yo4hab98:~# cd /usr/local
root@instance-yo4hab98:/usr/local# mkdir maven
root@instance-yo4hab98:/usr/local# cd ./maven
root@instance-yo4hab98:/usr/local/maven# tar zxvf apache-maven-3.9.15-bin.tar.gz

# 创建仓库目录
root@instance-yo4hab98:/usr/local/maven# mkdir repository

配置maven环境变量

bash 复制代码
root@instance-yo4hab98:/usr/local/maven# vi /etc/profile

在最后面追加:

bash 复制代码
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.15
export PATH=$PATH:$MAVEN_HOME/bin

使配置生效

bash 复制代码
root@instance-yo4hab98:/usr/local/maven# source /etc/profile
root@instance-yo4hab98:/usr/local/maven# mvn -v
Apache Maven 3.9.15 (98b2cdbfdb5f1ac8781f537ea9acccaed7922349)
Maven home: /usr/local/maven/apache-maven-3.9.15
Java version: 1.8.0_44, vendor: Oracle Corporation, runtime: /usr/local/jdk/java-se-8u44-ri/jre
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-173-generic", arch: "amd64", family: "unix"

修改maven仓库配置

bash 复制代码
root@instance-yo4hab98:/usr/local/maven# cd ./apache-maven-3.9.15/conf
root@instance-yo4hab98:/usr/local/maven/apache-maven-3.9.15/conf# vi settings.xml
bash 复制代码
# 找到<localRepository>节点,添加本地仓库目录
<localRepository>/usr/local/maven/repository</localRepository>

# 找到<mirror>节点,替换镜像源
    <mirror>
      <id>alimaven</id>
      <mirrorOf>*</mirrorOf>
      <name>aliyun.maven</name>
      <url>https://maven.aliyun.com/repository/public/</url>
    </mirror>

安装RocketMQ

1. 下载

推荐直接安装官方的二进制版本:

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ# wget https://archive.apache.org/dist/rocketmq/5.1.2/rocketmq-all-5.1.2-bin-release.zip

# 解压
root@instance-yo4hab98:/usr/local/rocketMQ# apt install unzip -y
root@instance-yo4hab98:/usr/local/rocketMQ# unzip rocketmq-all-5.1.2-bin-release.zip

当然你也可以去github下载源码版本:

https://github.com/apache/rocketmq/releases

|----------------------------------------|---------|
| | 能不能直接用 |
| rocketmq-all-xxx-bin-release.zip 二进制版本 | 能,解压就能跑 |
| rocketmq-rocketmq-all-xxx.tar.gz 源码版本 | 不能,没有编译 |

2. 进入Ubuntu控制台.

2.1 配置

前提 有jdk环境

RocketMQ 默认吃 8G 内存,因此内存不够的话 需要修改参数

2.1.1 修改 Name Server的参数

注:nano 和 vi 都是文本编辑器

nano 更加简单直观;ctrl+o保存 enter确认 ctrl+x退出

vi 强大高效;i 进入编辑模式 Esc退出编辑模式 :wq保存退出 :q!强制退出

bash 复制代码
# 后面我在启动NameServer的时候也遇到了内存不足,启动失败,内存大的可以忽略
cd /usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release/bin

root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release/bin# nano runserver.sh

# 找到 JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"
# 改为 JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

2.1.2 修改Broker参数

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# vi bin/runbroker.sh

# 找到这行 -Xms8g -Xmx8g -Xmn4g  
# 改为:-Xms512m -Xmx512m -Xmn256m

2.1.3 修改Broker配置文件参数

bash 复制代码
# 修改broker配置文件,允许自动创建topic,以及NameServer地址
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release/conf# nano broker.conf

# 在后面加上以下内容:


# 告诉 Broker 去哪里找 NameServer(注册中心); 除非nameserver和broker在同一台机器 也就是单机开发,否则不能使用localhost
namesrvAddr = 106.xx.xx.xxx:9876
# 告诉 NameServer:外部客户端应该通过哪个 IP 访问我,除非外部服务和rocket在同一台机器,否则不能使用localhost
brokerIP1 = 106.xx.xx.xxx

# 允许自动创建Topic
autoCreateTopicEnable = true

2.2 启动nameServer

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# nohup sh bin/mqnamesrv &
[1] 2807305
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# nohup: ignoring input and appending output to 'nohup.out'
  • [1] 2807305 → 后台进程启动成功(PID = 2807305)
  • nohup: ignoring input... → 标准提示,表示:
    • 不接收终端输入
    • 输出写到 nohup.out

可以查看日志看有没有启动 成功

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# tail -f ~/logs/rocketmqlogs/namesrv.log

2.3 启动Broker

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf&
[2] 2813102
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# nohup: ignoring input and appending output to 'nohup.out'

# 查看日志
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# tail -f ~/logs/rocketmqlogs/broker.log

2.4 验证

jps 是 Java 自带的一个工具,全称:Java Process Status

👉 用来查看当前机器上运行的 Java 进程;类似 Linux 的:ps -ef | grep java

运行后如下结果,表示启动成功。

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# jps
2813134 BrokerStartup
2814620 Jps
2807332 NamesrvStartup

使用官方自带的 测试工具 测试 发送一些消息测试:

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

使用官方自带的 测试工具 消费一些消息:

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

2.5 常用知识

端口检查:NameServer的是9876;Brokers的是10911;

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# lsof -i:9876
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# lsof -i:10911

停止服务

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# sh bin/mqshutdown broker
root@instance-yo4hab98:/usr/local/rocketMQ/rocketmq-all-5.1.2-bin-release# sh bin/mqshutdown namesrv

服务连接rocketMQ

除了服务器安全组放行外,可能需要放开防火墙对应的tcp连接

bash 复制代码
# 允许
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw allow 9876/tcp
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw allow 10911/tcp

# 重载
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw reload

# 查看防火墙
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw status

常见错误

  1. 启动失败:99%没有改对内存

  2. 找不到日志:在 ~/logs/rocketmqlogs/

  3. 连接失败:没有启动NameServer

  4. 启动顺序错误:必须NameServer -> Broker

3. 安装rocketmq-dashboard

https://github.com/apache/rocketmq-dashboard/tags

下载 解压

bash 复制代码
root@instance-yo4hab98 # cd /usr/local
root@instance-yo4hab98:/usr/local# mkdir rocketmq-dashboard
root@instance-yo4hab98:/usr/local# cd ./rocketmq-dashboard/
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ls
rocketmq-dashboard-rocketmq-dashboard-2.0.0.zip

root@instance-yo4hab98:/usr/local/rocketmq-dashboard# unzip rocketmq-dashboard-rocketmq-dashboard-2.0.0.zip

进入源码文件中 进行编译

bash 复制代码
mvn clean package -Dmaven.test.skip=true

如果编译报错,可能是jdk版本的问题,可以直接在Windows上编译,然后把jar包上传到这里。

随后切换到jar包所在的目录:

bash 复制代码
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# nohup java -jar rocketmq-dashboard-2.0.0.jar &

#查看日志
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# tail -f nohup.out

然后如果是服务器 就在安全组放开8080端口,除此之外 防火墙放开8080端口

bash 复制代码
# 查看防火墙
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw status

# 允许
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw allow 8080
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw allow 8080/tcp

# 重载
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw reload

# 查看防火墙
root@instance-yo4hab98:/usr/local/rocketmq-dashboard# ufw status

随后访问呢 http://ip:8080

相关推荐
后置的猿猴2 小时前
Spring 循环依赖
java·后端·spring
SeSs IZED2 小时前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
橙子199110162 小时前
Java 基础相关
java·开发语言
勿忘,瞬间2 小时前
SpringBoot配置文件
java·spring boot·后端
fTiN CAPA2 小时前
Tomcat 都有哪些核心组件
java·tomcat·firefox
2601_949814492 小时前
Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
java·spring boot·后端
splage2 小时前
HeidiSQL导入与导出数据
java
热爱Java,热爱生活2 小时前
浅谈Spring三级缓存
java·spring·缓存
SPC的存折2 小时前
10、Docker容器故障排查
linux·运维·数据库·docker·容器