前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
JDK1.8的安裝:
1.檢查系統的JDK版本
根目錄下操作:cd
java -version ?
2.檢測JDK安裝包
rpm -qa | grep java ?
3.卸載OpenJDK(如果存在)
rpm -e --nodeps "對應的JDK安裝包"
Note:在阿里云Centos7中筆者沒有以上操作
4.安裝Jdk1.8.0_144
下載:wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1507282636_7a947925cfc498e550265a3f28a5cab9
解壓縮:tar -zxvf jdk-8u144-linux-x64.tar.gz\?AuthParam\=1507282636_7a947925cfc498e550265a3f28a5cab9
位置遷移:mv jdk1.8.0_144/ /usr/local/jdk1.8.0_144
刪除壓縮包:rm -rf jdk-8u144-linux-x64.tar.gz\?AuthParam\=1507282636_7a947925cfc498e550265a3f28a5cab9
5.設置環境變量
vim /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_144 ?
export JRE_HOME=${JAVA_HOME}/jre ?
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib ?
export ?PATH=${JAVA_HOME}/bin:$PATH?
6.執行profile
source /etc/profile ?
7.檢查新安裝的JDK
java -version
Note:如果看到版本輸出則表示JDK安裝成功 ?
?
?
Maven3.5的安裝:
1.下載Maven3.5
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
2.解壓縮
tar -zxvf apache-maven-3.5.0-bin.tar.gz?
3.刪除安裝包
rm -rf apache-maven-3.5.0-bin.tar.gz?
4.位置遷移
mv apache-maven-3.5.0/ /usr/local/maven3.5
5.設置環境變量
vim /etc/profile
在最后添加:
MAVEN_HOME=/usr/local/maven3.5
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
6.執行profile
source /etc/profile
7.檢查新安裝的Maven3.5
mvn -version
Note:如果看到版本輸出則表示Maven安裝成功 ?
?
?
RocketMQ4.1.0的安裝:
Git和GitHUb的安裝與使用,請參考:http://ericchunli.iteye.com/blog/2395322
1.RocketMQ源碼的獲取
cd /usr/local
git clone -b release-4.1.0-incubating https://github.com/apache/incubator-rocketmq.git
cd incubator-rocketmq
2.maven編譯
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq/bin
?
Note:注意bin的位置
/usr/local/incubator-rocketmq/distribution/target/apache-rocketmq/bin
?
3.啟動服務器
nohup sh mqnamesrv -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/namesrv.log
4.啟動broker
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 &
tail -f ~/logs/rocketmqlogs/broker.log
5.關閉RcocketMQ相關服務
停止broker服務:sh mqshutdown broker
關閉nameserver服務:sh mqshutdown namesrv
?
Note:以下配置(表示不理解)
# 在bin目錄下面執行,將服務器地址引入到環境變量中
$ export NAMESRV_ADDR=localhost:9876
$ echo "ROCKETMQ_HOME=`pwd`" >> ~/.bash_profile ?
$ source ~/.bash_profile ??
?
Note:內存的設置(內存大于8G的不用設置)
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
runbroker.sh
runserver.sh
?
Note:向MQ發送和接收消息(驗證失敗)
# 通過java代碼實現的案例生產者生產消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 通過java代碼實現案例消費者消費消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 監控MQ,調用命令監控在target的bin目錄下
$ sh mqadmin clusterList -n localhost:9876
?
異常測試問題:
@1:Could not find or load main class org.apache.rocketmq.broker.BrokerStartup或者nameserv
異常原因:maven編譯,distribution目錄下的bin啟動位置和distribution目錄下的target下的bin啟動位置搞錯
?
@1:No route info of this topic
異常原因:broker啟動不成功
?
@2:connect to <172.17.0.1:10909> failed或者10911等
異常原因:
第一種可能:虛擬機中的網絡太多《驗證失敗》。
rocketMQ在自動識別網絡的時候識別錯誤,可以先把別的網絡down掉或者把想用的那個網讓它排在前面(沒驗證過)。ifconfig查看網絡發現還有個docker0的網絡的ip就是172.17.0.1,因此連接不上。
把docke0的網絡斷開:broker部署在虛擬機,并且虛擬雙網卡同docker沖突
systemctl stop docker
ifconfig docker0 down
Note:docker服務啟動后docker0網絡會自動開。
systemctl is-enabled ?docker ? ? ? ? #查詢是否自啟動
systemctl disable ?docker ? ? ? ? ? ?#禁止自啟動
systemctl list-unit-files|grep enabled ? ? ?#查看自啟動服務列表
systemctl stop ?docker ? ? ? ? ? ? ? #禁止啟動
systemctl start ?docker ? ? ? ? ? ? ?#開啟啟動
systemctl status ?docker
然后在broker.conf中設置brokerip和namesrvAddr,都指定為本機ip后重啟《驗證失敗》。?
?
第二種:setVipChannelEnabled(false)《驗證失敗》《低版本的不存在這問題,同樣未驗證》
Rocket默認開啟了VIP通道,VIP通道端口為10911-2=10909,若Rocket服務器未啟動端口10909,則報connect to <10909> failed。
?
轉自:http://www.itboth.com/d/zERjae