騰訊藍鯨CMDB部署
一、環境准備
#操作系統CentOS7.2.1511最小化系統 CentOS-7-x86_64-Minimal-1511.iso #ZooKeeper-3.4.12 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz #Redis-3.2.11 wget http://download.redis.io/releases/redis-3.2.11.tar.gz #MongoDB-2.8.0 wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-2.8.0-rc5.tgz #cmd.tar.gz #可以下載可執行包也可以自行編譯,編譯參考:https://github.com/Tencent/bk-cmdb/blob/master/docs/overview/source_compile.md #下載可執行包 wget http://bkopen-1252002024.file.myqcloud.com/cmdb/cmdb.tar.gz
二、初始配置
#啟用網絡 sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcg-eth0 systemctrl restart network.service #修改yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache #啟用rc.local chmod +x /etc/rc.d/rc.local #安裝基礎工具 yum install wget vim psmisc -y #安裝編譯工具 yum install gcc #安裝redis依賴包 yum install jemalloc yum install jemalloc-devel #安裝java環境 yum install java -y #關閉selinux setenforce 0 vim /etc/selinux/config SELINUX=disabled
三、安裝ZooKeeper
#解壓至opt目錄 tar -zxvf zookeeper-3.4.12.tar.gz -C /opt/ #切換conf目錄 cd /opt/zookeeper-3.4.12/conf/ #拷貝配置 cp zoo_sample.cfg zoo.cfg #啟動zookeeper /opt/zookeeper-3.4.12/bin/zkServer.sh start #返回信息如下 ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.12/bin/../conf/zoo.cfg Starting zookeeper ... STARTED # #檢測是否運行 ss -tln|grep 2181 #返回信息如下 LISTEN 0 50 :::2181 :::* # #配置自啟 #/etc/rc.local文件中加入 /opt/zookeeper-3.4.12/bin/zkServer.sh start
四、安裝Redis
#解壓至opt目錄 tar -zxvf redis-3.2.11.tar.gz -C /opt/ #切換目錄 cd /opt/redis-3.2.11/ #編譯 make #安裝 cd src/ make install PREFIX=/opt/redis-3.2.11 #配置 cd /opt/redis-3.2.11 mkdir etc logs db cd redis.conf ./etc/ vim ./etc/redis.conf #修改配置如下 logfile "/opt/redis-3.2.11/logs/redis.log" daemonize yes requirepass Root1q2w dir /opt/redis-3.2.11/db/ # #啟動redis /opt/redis-3.2.11/bin/redis-server /opt/redis-3.2.11/etc/redis.conf #檢查 /opt/redis-3.2.11/bin/redis-cli -h 127.0.0.1 -p 6379 -a Root1q2w #加入開機自啟 vim /etc/rc.local /opt/redis-3.2.11/bin/redis-server /opt/redis-3.2.11/etc/redis.conf
五、安裝MongoDB
#解壓至opt目錄 tar -zxvf mongodb2.8.tgz -C /opt/ #創建目錄 cd /opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5 mkdir log db #啟動 /opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/bin/mongod --dbpath=/opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/db/ --logpath=/opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/log/mongodb.log --fork --auth #返回如下 about to fork child process, waiting until server is ready for connections. forked process: 14413 child process started successfully, parent exiting #配置mongodb /opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/bin/mongo #配置過程如下 MongoDB shell version: 2.8.0-rc5 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user > use admin switched to db admin > db.createUser({user:'root',pwd:'Root1q2w',roles:['root']}) Successfully added user: { "user" : "root", "roles" : [ "root" ] } > db.auth('root','Root1q2w') 1 > use cmdb switched to db cmdb > db.createUser({user:"cc",pwd:"cc",roles:[{role:"readWrite",db:"cmdb"}]}) Successfully added user: { "user" : "cc", "roles" : [ { "role" : "readWrite", "db" : "cmdb" } ] } > exit bye # #驗證 /opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/bin/mongo --host 127.0.0.1 --port 27017 -u cc -p cc --authenticationDatabase cmdb #過程如下 MongoDB shell version: 2.8.0-rc5 connecting to: 127.0.0.1:27017/test > use cmdb switched to db cmdb > exit bye # #設置開機自啟 vim /etc/rc.local /opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/bin/mongod --dbpath=/opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/db/ --logpath=/opt/mongodb-linux-x86_64-rhel70-2.8.0-rc5/log/mongodb.log --fork --auth
六、安裝cmdb
#解壓文件至opt目錄 tar -zxvf cmdb.tar.gz -C /opt/ #切換目錄 cd /opt/cmdb #生成配置腳本,注意需要換成自己IP地址 python init.py --discovery 127.0.0.1:2181 --database cmdb --redis_ip 127.0.0.1 --redis_port 6379 --redis_pass Root1q2w --mongo_ip 127.0.0.1 --mongo_port 27017 --mongo_user cc --mongo_pass cc --blueking_cmdb_url http://192.168.116.134:8083 --listen_port 8083 #返回信息如下 rd_server:127.0.0.1:2181 database: cmdb redis_ip:127.0.0.1 redis_port: 6379 redis_pass: Root1q2w mongo_ip: 127.0.0.1 mongo_port: 27017 mongo_user: cc mongo_pass: cc blueking_cmdb_url: http://192.168.116.134:8083 listen_port: 8083 initial configurations success, configs could be found at cmdb_adminserver/configures # #啟動 /opt/cmdb/start.sh starting: cmdb_adminserver starting: cmdb_apiserver starting: cmdb_auditcontroller starting: cmdb_datacollection starting: cmdb_eventserver starting: cmdb_hostcontroller starting: cmdb_hostserver starting: cmdb_objectcontroller starting: cmdb_proccontroller starting: cmdb_procserver starting: cmdb_toposerver starting: cmdb_webserver root 14481 1 5 07:10 pts/1 00:00:00 ./cmdb_adminserver --addrport=192.168.116.134:60004 --logtostderr=false --log-dir=./logs --v=3 --config=configures/migrate.conf root 14496 1 1 07:10 pts/1 00:00:00 ./cmdb_apiserver --addrport=192.168.116.134:8080 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14512 1 1 07:10 pts/1 00:00:00 ./cmdb_auditcontroller --addrport=192.168.116.134:50005 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14527 1 1 07:10 pts/1 00:00:00 ./cmdb_datacollection --addrport=192.168.116.134:60005 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14547 1 1 07:10 pts/1 00:00:00 ./cmdb_eventserver --addrport=192.168.116.134:60009 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14570 1 1 07:10 pts/1 00:00:00 ./cmdb_hostcontroller --addrport=192.168.116.134:50002 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14588 1 0 07:10 pts/1 00:00:00 ./cmdb_hostserver --addrport=192.168.116.134:60001 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14606 1 0 07:10 pts/1 00:00:00 ./cmdb_objectcontroller --addrport=192.168.116.134:50001 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14623 1 0 07:10 pts/1 00:00:00 ./cmdb_proccontroller --addrport=192.168.116.134:50003 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14641 1 0 07:10 pts/1 00:00:00 ./cmdb_procserver --addrport=192.168.116.134:60003 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14660 1 0 07:10 pts/1 00:00:00 ./cmdb_toposerver --addrport=192.168.116.134:60002 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 root 14677 1 0 07:10 pts/1 00:00:00 ./cmdb_webserver --addrport=192.168.116.134:8083 --logtostderr=false --log-dir=./logs --v=3 --regdiscv=127.0.0.1:2181 process count should be: 12 , now: 12
注意:如果出現:process count should be: 12,now:12不一樣。要對比以上的服務並看log日志
如果出現zookeeper占用了端口,可以用如下解決
(1).刪除jetty。 (2)修改端口。 修改方法的方法有兩種,一種是在啟動腳本中增加 -Dzookeeper.admin.serverPort=你的端口號.一種是在zoo.cfg中增加admin.serverPort=沒有被占用的端口號。 (3)停用這個服務,在啟動腳本中增加"-Dzookeeper.admin.enableServer=false
#檢查
#稍等幾分鍾,執行如下命令返回數量為13條即沒問題
ps aux|grep cmdb|wc -l #初始化數據庫 /opt/cmdb/init_db.sh #返回信息如下 { "result": true, "bk_error_code": 0, "bk_error_msg": "success", "data": "migrate success" } #
七、安裝完成
至此,藍鯨CMDB就安裝完成啦!

