一、linux下zookeeper安裝
1.安裝java環境並配置好java相關的環境變量$JAVA_HOME。
jdk-6u27-linux-i586.bin 運行環境包
yum -y install glibc.i686 glibc-devel.i686
chmod +x jdk-6u27-linux-i586.bin
./jdk-6u27-linux-i586.bin
mv jdk1.6.0_27 /usr/local/jdk
[root@test01 jdk]# /usr/local/jdk/bin/java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)
root@test01 jdk]# vim /etc/bashrc
export JRE_HOME=/usr/local/jdk
export JAVA_BIN=/usr/local/jdk/bin
export PATH=$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
export JRE_HOME JAVA_BIN PATH CLASSPATH
:wq
[root@test01 jdk]#source /etc/bashrc
或者下載java軟件包
tar -zxvf java.tar
mv java /usr/local/
root@test01 jdk]# vim /etc/bashrc
export JRE_HOME=/usr/local/java
export JAVA_BIN=/usr/local/java/bin
export PATH=$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
export JRE_HOME JAVA_BIN PATH CLASSPATH
2.安裝tomcat軟件包 (apache-tomcat-7.0.70.tar.gz)
解壓軟件包
tar -zxvf apache-tomcat-7.0.70.tar.gz
mv apache-tomcat-7.0.70 /usr/local/tomcat
webapps/ROOT/ 網頁目錄
logs 日誌目錄
conf配置文件
bin 可以執行命令
shutdown.sh 停止服務
startup.sh 啓動服務
啓動tomcat 服務 默認監聽8080端口
netstat -untlalp | grep :8080
3.安裝zookeeper-3.4.8.tar.gz 包
(1)解壓軟件包
tar -zxvf zookeeper-3.4.8.tar.gz
可執行文件都在bin/目錄下,配置都在conf/目錄下
(2)生成配置
conf/目錄下有個zoo_sample.cfg,是樣板配置文件
cp -p zoo_sample.cfg zoo.cfg
複製一份成zoo.cfg
裏面有兩個比較重要的配置:
dataDir=/usr/local/zookeeper/data # 數據存放位置,可根據需要修改
clientPort=2181 # 服務監聽端口,可根據需要修改
(3)啓動服務
bin/zkServer.sh start
如果未啓動成功,一個檢查JAVA_HOME是否正確設置,二個看端口是否衝突
(4)啓動客戶端測試
啓動命令:
bin/zkCli.sh -server 127.0.0.1:2181
二、安裝dubbo
(1)下載dubbo-admin-2.8.4a.war包,在Linux的tomcat部署,先tomcat的ROOT下文件都刪除,把dubbo-admin-2.8.4a.war放在tomcat的webapps/ROOT下,然後進行解壓:
rm -rf /usr/local/tomcat/webapps/ROOT/*
mv dubbo-admin-2.8.4a.war /usr/local/tomcat/webapps/ROOT/
unzip dubbo-admin-2.8.4a.war 查看文件有以下內容
crossdomain.xml css dubbo-admin-2.8.4a.war favicon.ico images js META-INF SpryAssets WEB-INF
(2)然後到webapps/ROOT/WEB-INF下,有一個dubbo.properties文件,裏面指向Zookeeper ,使用的是Zookeeper 的註冊中心,如圖所示:
(3)然後啓動tomcat服務,用戶名和密碼:root,並訪問服務,顯示登陸頁面,說明dubbo-admin部署成功,如圖所示:
[root@localhost WEB-INF]# /usr/local/tomcat/bin/startup.sh
啓動完成,http://localhost:8080 訪問測試,默認的用戶名和密碼:root/root
下面是項目中application.properties文件的配置
jdbc.driver=com.MySQL.jdbc.Driver
jdbc.url=jdbc:mysql://172.16.2.59:3306/OMS_GB?useUnicode=yes&characterEncoding=UTF8&allowMultiQueries=true
jdbc.username=admin
jdbc.password=admin
jdbc.pool.minIdle=10
jdbc.pool.maxIdle=20
jdbc.pool.maxActive=150
#當前應用名稱
dubbo.application.name=oms
#當前應用負責人
dubbo.application.owner=jiaohua.wu
#當前應用負責人組織
dubbo.application.organization=winit
#dubbo.registry.protocol=multicast
#dubbo.registry.address=224.5.6.7:1234
#註冊中心地址協議
dubbo.registry.protocol=zookeeper
#註冊中心地址
dubbo.registry.address=172.16.2.78:2181
#dubbo.registry.address=172.16.2.59:2181
#服務註冊類型 false:靜態類型(監控中心管理上下線) true:自動管理
dubbo.registry.dynamic=true
#服務協議 dubbo、rmi、hessian、http、webservice、thrift、memcached、Redis
#缺省配置爲dubbo協議,該採用單一長連接和NIO異步通訊,適合於小數據量大併發的服務調用,以及服務消費者機器數遠大於服務提供者機器數的情況。
dubbo.protocol.protocol=dubbo
#服務數據通信端口
dubbo.protocol.port=20810
#all 所有消息都派發到線程池,包括請求,響應,連接事件,斷開事件,心跳等。
#direct 所有消息都不派發到線程池,全部在IO線程上直接執行。
#message 只有請求響應消息派發到線程池,其它連接斷開事件,心跳等消息,直接在IO線程上執行。
#execution 只請求消息派發到線程池,不含響應,響應和其它連接斷開事件,心跳等消息,直接在IO線程上執行。
#connection 在IO線程上,將連接斷開事件放入隊列,有序逐個執行,其它消息派發到線程池。
dubbo.protocol.dispatcher=all
#fixed 固定大小線程池,啓動時建立線程,不關閉,一直持有。(缺省)
#cached 緩存線程池,空閒一分鐘自動刪除,需要時重建。
#limited 可伸縮線程池,但池中的線程數只會增長不會收縮。(爲避免收縮時突然來了大流量引起的性能問題)。
dubbo.protocol.threadpool=limited
#初始化線程池數量
dubbo.protocol.threads=200
#provider服務超時(建立provider端設置,consumer端不建議設置)
dubbo.timeout=60000
#consumer啓動試不檢查provider
dubbo.check=false
#provider是否驗證參數
dubbo.validation=true
#provider併發數
dubbo.executes=500
#集羣模式 failover:失敗自動切換(默認)、ailfast:一次調用失敗、failsafe:失敗安全、failback:失敗恢復定時重發、broadcast:廣播調用一臺失敗即失敗
dubbo.cluster=failover
#失敗重試次數
dubbo.retries=2
#負載平衡 random:隨機、roundrobin:輪循、leastactive:最少活躍調用數、consistenthash:一致hash值
dubbo.loadbalance=random