可以做超鏈接或錨文本的網(wǎng)站有哪些seo怎么做?
1、背景
原先為5.0.0版本,因檢查出有漏洞,升級到5.1.2版本。
【Rocketmq是阿里巴巴在2012年開發(fā)的分布式消息中間件,專為萬億級超大規(guī)模的消息處理而設(shè)計,具有高吞吐量、低延遲、海量堆積、順序收發(fā)等特點。在一定條件下,存在遠(yuǎn)程命令執(zhí)行風(fēng)險。攻擊者可以利用該漏洞利用更新配置功能以RocketMQ運(yùn)行的系統(tǒng)用戶身份執(zhí)行命令?!?/p>
2、部署規(guī)劃-3臺服務(wù)器
(1)服務(wù)器準(zhǔn)備
- 192.168.0.1(主)
- 192.168.0.2(從)
- 192.168.0.3(從)
(2)核對空間,內(nèi)存
- df -h
- free -h
(3)確認(rèn)啟動用戶及部署路徑
- 用戶:applin【確認(rèn)有應(yīng)用路徑的寫入執(zhí)行權(quán)限,755,或應(yīng)用路徑歸屬于applin】
- 應(yīng)用路徑:/software/
- 數(shù)據(jù)存儲路徑:/applin/data_rocketmq
- 日志存儲路徑:/applin/logs_rocketmq
3、獲取rocketmq-5.1.2版本并上傳到服務(wù)器
(1)獲取文件
rocketmq官方下載鏈接
(2)通過WinScp或其他上傳包文件到指定服務(wù)器路徑
- 192.168.0.1:/software/rocketmq-all-5.1.2-bin-release.zip
- 192.168.0.2:/software/rocketmq-all-5.1.2-bin-release.zip
- 192.168.0.3:/software/rocketmq-all-5.1.2-bin-release.zip
4、dleger高可用集群部署
4.1、3臺服務(wù)器統(tǒng)一操作
(1)新建日志+數(shù)據(jù)存儲路徑
cd /software
unzip rocketmq-all-5.1.2-bin-release.zip
su - applin
mkdir -p /applin/data_rocketmq
mkdir -p /applin/logs_rocketmq
cd /software/rocketmq-all-5.1.2-bin-release
(2)修改日志路徑
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/conf
執(zhí)行命令2: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.broker.logback.xml
執(zhí)行命令3: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.client.logback.xml
執(zhí)行命令4: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.controller.logback.xml
執(zhí)行命令5: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.namesrv.logback.xml
執(zhí)行命令6: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.proxy.logback.xml
執(zhí)行命令7: sed -i 's?${user.home}${file.separator}logs${file.separator}rocketmqlogs?/applin/logs_rocketmq?' /software/rocketmq-all-5.1.2-bin-release/conf/rmq.tools.logback.xml
(3)修改啟動腳本內(nèi)存及環(huán)境變量
- 修改啟動腳本runserver.sh,將環(huán)境變量改為實際路徑(2個方法)
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/bin
執(zhí)行命令2: sed -i 's#${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m#${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m#' /software/rocketmq-all-5.1.2-bin-release/bin/runserver.sh
執(zhí)行命令3:vim runserver.sh查看上述是否修改成功,同時更改環(huán)境變量如下,2個方法選其一
(1)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk/jdk_linux
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
(2)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
- 修改啟動腳本runbroker.sh,將環(huán)境變量改為實際路徑(2個方法)
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/bin
執(zhí)行命令2: sed -i 's#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"#JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"#' /software/rocketmq-all-5.1.2-bin-release/bin/runbroker.sh
執(zhí)行命令3:vim runbroker.sh查看上述是否修改成功,同時更改環(huán)境變量如下,2個方法選其一
(1)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk/jdk_linux
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
(2)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
4.2、3臺服務(wù)器分別操作
目前看這兩項有區(qū)別:
dLegerSelfId與dLegerPeers保持對應(yīng)。
brokerIP1
(1) IP1 - 192.168.0.1(主)
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/conf/dledger
執(zhí)行命令2: vim broker-n0.conf
## 集群名
brokerClusterName = RaftCluster
## broker組名,同一個RaftClusterGroup內(nèi),brokerName名要一樣
brokerName=RaftNode00
## 監(jiān)聽的端口
#listenPort=30911
## 你設(shè)置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/applin/data_rocketmq/node00
storePathCommitLog=/applin/data_rocketmq/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分別是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服務(wù)器1的IP:20911;n1-服務(wù)器2的IP:20911;n2-服務(wù)器3的IP:20911
dLegerPeers=n0-192.168.0.1:20911;n1-192.168.0.2:20911;n2-192.168.0.3:20911
## must be unique
## 這個值必須是在同一個RaftClusterGroup內(nèi)唯一的
dLegerSelfId=n0
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.1
執(zhí)行命令3: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqnamesrv &
執(zhí)行命令4: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqbroker -c /software/rocketmq-all-5.1.2-bin-release/conf/dledger/broker-n0.conf &
(2) IP2 - 192.168.0.2(從)
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/conf/dledger
執(zhí)行命令2: vim broker-n1.conf
## 集群名
brokerClusterName = RaftCluster
## broker組名,同一個RaftClusterGroup內(nèi),brokerName名要一樣
brokerName=RaftNode00
## 監(jiān)聽的端口
#listenPort=30911
## 你設(shè)置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/applin/data_rocketmq/node00
storePathCommitLog=/applin/data_rocketmq/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分別是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服務(wù)器1的IP:20911;n1-服務(wù)器2的IP:20911;n2-服務(wù)器3的IP:20911
dLegerPeers=n0-192.168.0.1:20911;n1-192.168.0.2:20911;n2-192.168.0.3:20911
## must be unique
## 這個值必須是在同一個RaftClusterGroup內(nèi)唯一的
dLegerSelfId=n1
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.2
執(zhí)行命令3: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqnamesrv &
執(zhí)行命令4: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqbroker -c /software/rocketmq-all-5.1.2-bin-release/conf/dledger/broker-n1.conf &
(3) IP3 - 192.168.0.3(從)
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/conf/dledger
執(zhí)行命令2: vim broker-n2.conf
## 集群名
brokerClusterName = RaftCluster
## broker組名,同一個RaftClusterGroup內(nèi),brokerName名要一樣
brokerName=RaftNode00
## 監(jiān)聽的端口
#listenPort=30911
## 你設(shè)置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/applin/data_rocketmq/node00
storePathCommitLog=/applin/data_rocketmq/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分別是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服務(wù)器1的IP:20911;n1-服務(wù)器2的IP:20911;n2-服務(wù)器3的IP:20911
dLegerPeers=n0-192.168.0.1:20911;n1-192.168.0.2:20911;n2-192.168.0.3:20911
## must be unique
## 這個值必須是在同一個RaftClusterGroup內(nèi)唯一的
dLegerSelfId=n2
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.3
執(zhí)行命令3: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqnamesrv &
執(zhí)行命令4: nohup sh /software/rocketmq-all-5.1.2-bin-release/bin/mqbroker -c /software/rocketmq-all-5.1.2-bin-release/conf/dledger/broker-n2.conf &
5、驗證
(1)查看集群服務(wù)是否啟動成功:jps
命令執(zhí)行后,可查看到兩個進(jìn)程,NamesrvStartup和BrokerStartup
(2)在集群中任意一個節(jié)點的bin目錄下執(zhí)行如下命令:
執(zhí)行命令1: cd /software/rocketmq-all-5.1.2-bin-release/bin
執(zhí)行命令2: sh mqadmin clusterList -n 127.0.0.1:9876
結(jié)果中addr中有broker信息。
#BID顯示3個,0+1+2,ACTIVATED顯示3個,1個true+2個false。
(2)kill主broker并在此查看集群情況,master切換是否成功。重新啟動后原master服務(wù)器變?yōu)閺??!綛ID的0表示主】
6、日志
(1)Dleger高可用集群,3臺中至少2臺啟動才不會報錯
(2)核對配置項是否有錯誤
(3)空間不足、內(nèi)存不足,清理后重啟應(yīng)用