今天有興致來研究下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