今天有兴致来研究下linux下的配置linux
基于官方网站上极力推荐的apache
64操做系统,建议使用linux /unix/centos
64bit JDK 1.8+maven
下载centos7 64位按照虚拟机,此过程就再也不赘述了,直接来rocketmq的安装部署tcp
1.上传maven网站
2.上传jdkui
3.上传源代码包centos7
1.jdk的环境变量spa
2.maven的环境变量操作系统
以上安装就再也不赘述,自行Google 或者百度
1. jdk环境变量和win下不同,直接编辑 vi /etc/profile 文件 添加全局环境变量 注意 win下面是用;隔开 这里用: win 用%%。这里用$代替 只需一个前缀
vi 编辑 光标定位好以后 按下键盘上a建,进去编辑模式,编辑完成后 按下esc 建 退出编辑 输入 :x 保存退出 :q! 强制退出 :wq 保存并退出
. 删除文字
「x」:每按一次,删除光标所在位置的"后面"一个字符。
「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
. 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:全部与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
. 替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
. 回复上一次操做
「u」:若是您误执行一个命令,能够立刻按下「u」,回到上一个操做。按屡次"u"能够执行屡次回复。
环境变量配置完成后 记得从新加载一下配置 或者从新登陆, 命令:
source /etc/profile
[root@Dralen apache-rocketmq]# mvn -version Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00) Maven home: /usr/maven35/apache-maven-3.5.2 Java version: 1.8.0_161, vendor: Oracle Corporation Java home: /usr/jdk8/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix" [root@Dralen apache-rocketmq]#
如上,说明成功
下载4.2.0源码版本: https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip
下载4.2.0二进制版本: http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
如今执行如下命令来解压4.2.0源码版本并构建二进制文件
·> unzip rocketmq-all-4.2.0-source-release.zip #unzip解压 ·> cd rocketmq-all-4.2.0/ #进入rocketmq-all-4.2.0目录 ·> mvn -Prelease-all -DskipTests clean install -U #maven 构建 ·> cd distribution/target/apache-rocketmq #进入构建完成 distribution/target/apache-rocketmq 目录
** Start Name Server**
默认 RocketMQ Server 内存须要很大的
vi /bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
我修改为
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
cd distribution/target/apache-rocketmq
nohup sh bin/mqnamesrv > /dev/null 2>&1&
tail -f ~/logs/rocketmqlogs/namesrv.log
Start Broker
默认 RocketMQ Broker 内存须要很大的
vi /bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
我修改为
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"
nohup sh bin/mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log
生产消息
export NAMESRV_ADDR=localhost:9876 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
响应消息
SendResult [sendStatus=SEND_OK, msgId= ...
消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
响应消息
ConsumeMessageThread_19 Receive New Messages: [MessageExt [queueId=0, storeSize=180, queueOffset=228, sysFlag=0, bornTimestamp=1519953234289, bornHost=/10.10.10.108:34106, storeTimestamp=1519953234291, storeHost=/10.10.10.108:10911, msgId=0A0A0A6C00002A9F00000000000282EE, commitLogOffset=164590, bodyCRC=1734768952, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message [topic=TopicTest, flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=250, CONSUME_START_TIME=1519953297367, UNIQ_KEY=0A0A0A6C0A6A1B6D3586072179710393, WAIT=true, TAGS=TagA}, body=18]]] ConsumeMessageThread_19 Receive New Messages: [MessageExt [queueId=0, storeSize=180, queueOffset=229, sysFlag=0, bornTimestamp=1519953234310, bornHost=/10.10.10.108:34106, storeTimestamp=1519953234314, storeHost=/10.10.10.108:10911, msgId=0A0A0A6C00002A9F00000000000285BE, commitLogOffset=165310, bodyCRC=1859138835, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message [topic=TopicTest, flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=250, CONSUME_START_TIME=1519953297367, UNIQ_KEY=0A0A0A6C0A6A1B6D3586072179860397, WAIT=true, TAGS=TagA}, body=18]]]
中止 broker
> sh bin/mqshutdown broker The mqbroker(36695) is running... Send shutdown request to mqbroker(36695) OK
中止 namesrv
> sh bin/mqshutdown namesrv The mqnamesrv(36664) is running... Send shutdown request to mqnamesrv(36664) OK
开启9876 10911 10909
firewall-cmd --zone=public --add-port=9876/tcp --permanent firewall-cmd --zone=public --add-port=10911/tcp --permanent firewall-cmd --zone=public --add-port=10909/tcp --permanent
从新加载
firewall-cmd --reload