背景:
最近專案小組申請了開發伺服器,需要搭建一套自動化環境用於部署各類應用。
我選用了
jenkins+svn+zookeeper+dubbo
理由:本身專案在轉dubbo,所以需要zookeeper+dubbo環境。
專案本身是用svn在管理的。
可持續化部署選用jenkins,因為測試小組使用jenkins。
jdk安裝1.8和1.7
搭建jenkins環境
選用的是jenkins+tomcat7
安裝tomcat,把jenkins的war包放入tomcat去啟動。
jenkins構建專案啟動依賴於shell指令碼,需自行編寫。
但是當jenkins構建完成以後會殺死衍生程序,所以需要設定jenkins的環境變數build_id=dontkillme
發現存在一種問題,就是當tomcat一直啟動不停止的話,catalina.out會一直不斷的增加。
(其實catalina.out是可以拆分的,方法有很多)
但是我決定寫shell指令碼定時去殺程序,並且清空日誌。
當殺死tomcat重啟之後,jenkins就無法開啟,一直白屏,請求是404,但是其他tomcat裡的應用啟動正常。
這是遇見的乙個bug,沒有解決。
搭建zookeeper+dubbo環境
其實也就是zookeeper環境+dubboadmin後台
1,因為專案本身在轉dubbo,選擇zookeeper作為註冊中心
3,模擬zookeeper集群環境,搭建偽集群,因為zookeeper是超過半數成功就算成功,所以搭建3臺zookeeper。
1,新建乙個zoo.cfg檔案,其實就是把zoo-sample.cfg檔案複製改個名字
2,編輯zoo.cfg檔案
新建datadir和datalogdir,並且指定目錄
3,如果要做集群的話
配置需要增加為zoo1.cfg,zoo2.cfg,zoo3.cfg,每個檔案裡面增加
server.0=192.168.192.128:2888:3888【192.168.192.128伺服器上面的myid填寫0】
server.1=192.168.192.129:2888:3888【192.168.192.129伺服器上面的myid填寫1】
server.2=192.168.192.130:2888:3888【192.168.192.130伺服器上面的myid填寫2】
並且每個檔案都要有datadir和datalogdir,不同名。4,在新建的datadir目錄下分別新建myid檔案,裡面的內容為0,1,2.和zoo1.cfg等裡面的server.0等等保持一致。
5,然後用shell指令碼啟動
其實shell本身啟動的是對應的zoo.cfg檔案,所以新建3個cfg檔案類似對應3個zookeeper。
shell啟動的時候指定這3個cfg檔案即可
dubboadmin.war檔案,放在tomcat裡執行
目前發現的問題有
dubboadmin上註冊的應用,如果應用關閉,dubboadmin不是立即消除此應用,需要等待一段時間,不算bug。
需要注意的問題有:
1,因為tomcat,zookeeper和應用的啟動都會產生日誌檔案,需要定時清除。
Kafka基於Zookeeper搭建高可用集群實戰
1 前言 1.1 高可用的由來 為何需要replication?在kafka在0.8以前的版本中,是沒有replication的,一旦某乙個broker宕機,則其上所有的 partition資料都不可被消費,這與kafka資料永續性及delivery guarantee的設計目標相悖。同時 prod...
騰訊雲 kodexplorer可道雲搭建私有雲盤
kodexplorer可道雲介紹搭建環境 伺服器配置 1核 1g 1m頻寬 系統盤 linux 20g 作業系統 centos 6.9 x86 64 web伺服器 apache 2.4.6 php php 5.6.3 安裝前準備 apache php 安裝目錄 1 apache和php環境搭建 1....
linux 可道雲 如何搭建私有雲
基於此,找了幾個私有雲程式。最後選擇了可道雲。完美解決雲共享。分享一下自己採坑經驗 1.nextcloud 支援 windows,mac,linux,ios,android 平台,是owncloud的衍生版本,很不錯的產品 2.cloudreve 3.seafile 支援 windows,mac,l...