第一次搭建藍鯨平台,參考了藍鯨社區的官方搭建文檔。
友情鏈接:藍鯨智雲社區版V4.1.16用戶手冊
搭建時遇到了不少的坑,這里做一個詳細的安裝梳理
主機硬件要求
官方的推薦如下:
在本地用VMware模擬了三台主機,
- 准備至少3台 CentOS 7 以上操作系統的機器 藍鯨V4.1.16不支持最新的CentOS比如Centos7.6.1810
- 最低配置:2核4G
- 建議配置: 4核12G 以上
- 192.168.10.136(中控機)
- 192.168.10.137
- 192.168.10.138
我用7.3
主機環境要求
如標題所述,我在centos 7下在線安裝的藍鯨平台。
如果需要更換本地的yum源可以參考之前寫的一篇文章,點擊這里
接下來下載安裝包到任意一台服務器的/data 目錄,該機器作為中控機,把安裝包解壓並cd到解壓后的install目錄中,開始安裝步驟。
獲取安裝包
藍鯨社區版包含軟件包和部署腳本包,分別為:
- bkce_product-4.1.16.tgz (下載:V4.1.16程序包) 下載地址: http://bk.tencent.com/download/
- bkce_common-1.0.0.tgz (下載:V1.0.0開源組件) 下載地址: https://bk.tencent.com/download_sdk/
- ibkce_install-1.4.13.tgz(下載:V1.4.13 部署腳本) 下載地址: https://bk.tencent.com/download_sdk/
- SSL證書:下載地址:http://bk.tencent.com/download_ssl
只需要完整程序包和SSL證書,完整包里包含了組件和腳本,再用分包下載的就是多余!!!
注意:部署腳本和產品軟件得匹配,我最開始都用最上面的穩定版,安裝一直失敗
獲取證書
這里注意:下載證書時, 需要同時填寫部署 gse, license 的機器 MAC 地址。如果不放心,可以把三台服務器的mac地址都加上通過";"分割。
1.通過 ifconfig 或 ip addr 或 cat /sys/class/net/eth0/address #注意:這是在線雲虛擬主機的命令 本地好像沒有此命令
命令獲取install.config文件中,license和gse模塊所在服務器的第一個內網網卡的MAC地址。如果分別屬於兩台服務器,那么兩個的MAC地址以英文;分隔。
2.在官網證書生成頁面根據輸入框提示填入MAC地址,生成並下載證書。
3.上傳證書到中控機
安裝准備
CentOS系統設置
1、關閉SELinux
查看狀態: sestatus 或 getenforce Enforcing 臨時關閉: setenforce 0 或 getenforce Permissive 永久關閉: vim /etc/sysconfig/selinux SELINUX=enforcing 修改為 SELINUX=disabled 重啟生效 reboot (推薦永久關閉) sudo vim /etc/sysconfig/selinux #以root權限進入該文件
2、安裝rsync命令
安裝腳本依賴rsync分發同步文件。
#檢查是否有rsync命令,如果有返回rsync路徑,可以跳過后面的命令 which rsync #安裝rsync yum -y install rsync
3、關閉默認防火牆(firewalld)
查看狀態: firewall-cmd --state 或 systemctl status firewalld 執 行: systemctl stop firewalld #停止firewalld systemctl disable firewalld #禁用firewall開機啟動
4、調整最大文件打開數
ulimit -n #檢查當前root賬號下的max open files值
如果為默認的1024,建議通過修改配置文件調整為102400或更大。
cat <<EOF > /etc/security/limits.d/99-nofile.conf root soft nofile 102400 root hard nofile 102400 EOF
重啟生效
#方法2 vi /etc/security/limits.conf #最后添加 * soft nofile 1024000 * hard nofile 1024000 hive - nofile 1024000 hive - nproc 1024000
5、NTP保持時間同步一致
# 檢查每台機器當前時間和時區是否一致,若相互之間差別大於3s(考慮批量執行時的時差),建議校時。 date -R # 查看和ntp server的時間差異(需要外網訪問,如果內網有ntpd服務器,自行替換域名為該服務的地址) ntpdate -d cn.pool.ntp.org
(我的是offset -0.006465 sec 小於1s)

1、vim /etc/resolv.conf # 配置 nameserver 114.114.114.114 nameserver 8.8.8.8 2、執行ntpdate命令。 ntpdate cn.pool.ntp.org 找不到ntpdate,執行: yum install -y ntpdate 若執行ntp命令報錯,重啟ntp服務即可。 service ntpd stop service ntpd start
6、檢查是否存在全局HTTP代理
#檢查http_proxy https_proxy變量是否設置,若為空可以跳過后面的操作 echo "$http_proxy" "$https_proxy"
7、檢查系統umask,建議設為0022
8、網卡配置文件
- 在網卡配置文件中添加 DNS1=127.0.0.1 的記錄。
vi /etc/sysconfig/network-scripts/ifcfg-網卡名 # 根據相應的網卡名進行修改對應的網卡配置文件
- 然后重啟網絡服務,應該可以看到
/etc/resolv.conf
會自動生成nameserver=127.0.0.1
的記錄。
systemctl restart network # 重啟網絡
cat /etc/resolv.conf # 查看 dns 配置文件
9、關閉NetworkManager
#查看NetworkManager狀態
systemctl status NetworkManager.service
#關閉NetworkManager systemctl disable NetworkManager.service #將NetworkManager 服務設置開機不啟動 systemctl stop NetworkManager.service #重新啟動一下network服務 (不然重啟設備不能遠程時 執行此命令) systemctl restart NetworkManager.service
上面步驟執行完重啟后,再檢查一下狀態
在這些主機中,選擇任意一台機器作為中控機。 將下載的藍鯨社區版安裝包上傳到中控機,進入安裝包所在目錄並解壓到 同級目錄下。以解壓到/data
目錄為例:
#以下兩個命令執行后,得到完整的src/ tar xf bkce_src-4.1.16.tgz -C /data
tar xf bkce_common-1.0.0.tgz -C /data
#以下命令執行后,得到install/ tar xf install_ce-master-1.4.13.tgz -C /data
#解壓證書 以下命令執行后,得到cert/
tar xf ssl_certificates.tar.gz -C /data/src/cert/
解壓之后, 得到兩個目錄: src, install
- src: 存放藍鯨產品軟件, 以及依賴的開源組件
- install: 存放安裝部署腳本、安裝時的參數配置、日常運維腳本等
配置 YUM 源
在所有藍鯨服務器上配置好 yum 源,要求該 yum 源包含 EPEL。
yum repolist //查看yum源
不能連外網YUM源的環境, 可以配置一個內部的 yum 源 或者本地 YUM 源
更改鏡像源 (我的理解是三台都需要配置YUM源和EPEL源),只配置中控機也可以成功安裝paas和cmdb,但后續安裝job就出錯了
yum源 備份:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 獲取:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo 更新:yum clean all yum makecache epel源 備份:mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup #本機測試時沒有epel源 直接進入獲取和更新 獲取:wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo 更新:yum clean all yum makecache
配置文件修改
在 install 目錄下, 共有三個配置
- install.config
- globals.env
- ports.env
install.config (中控機 192.168.10.136下新增的配置文件:
)
192.168.10.136 nginx,appt,rabbitmq,kafka,zk,es,bkdata,consul,fta 192.168.10.137 mongodb,appo,kafka,zk,es,mysql,beanstalk,consul 192.168.10.138 paas,cmdb,job,gse,license,kafka,zk,es,redis,consul,influxdb
修改本地hosts文件:
在三台服務器上都需要配置:
# vi /etc/hosts 192.168.10.136 paas.bk.com 192.168.10.136 job.bk.com 192.168.10.166 cmdb.bk.com
pip.conf
在線安裝時,依賴pip,需要配置可用的 pip 源。 (ps:沒有此文件,則創建?)
vi src/.pip/pip.conf
[global] index-url = http://mirrors.aliyun.com/pypi/simple trusted-host = mirrors.aliyun.com
我的系統沒有pip命令,需要安裝pip
#1首先安裝epel擴展源: (我不需要第1步,直接跳到第2步) yum -y install epel-release #2更新完成之后,就可安裝pip: (提示No package python-pip available.則需要執行第1步) yum -y install python-pip #3安裝完成之后清除cache: yum clean all
添加nginx源地址:
在192.168.10.136和192.168.10.138下配置:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
在之后的安裝過程中會需要在這兩台服務器上安裝nginx服務,所以我們提前配置好nginx的yum源
配置 SSH 免密登陸
登錄到中控機(192.168.10.136),執行以下操作
cd /data/install bash configure_ssh_without_pass # 根據提示輸入各主機的 root 密碼完成免密登陸配置
安裝前校驗環境是否滿足
按文檔要求做完環境和部署的配置后,准備開始安裝前,請運行以下腳本,來校驗是否滿足:
若安裝的是4.0的版本,對應的install/目錄下里沒有找到precheck.sh時,可以到社區QQ群文件里下載。
cd /data/install bash precheck.sh
正常輸出如下圖所示:
start <<check_ssh_nopass>> ... [OK]
start <<check_password>> ... [OK] start <<check_cert_mac>> ... [OK] start <<check_selinux>> ... [OK] start <<check_umask>> ... [OK] start <<check_get_lan_ip>> ... [OK] start <<check_http_proxy>> ... [OK] start <<check_open_files_limit>> ... [OK] start <<check_domain>> ... [OK] start <<check_networkmanager>> ... [OK]
如果發現有[FAIL]的報錯,按照提示和本文檔修復。修復后,可繼續跑precheck.sh腳本,直到不再出現[FAIL]。如果需要從頭開始檢查,請使用 precheck.sh -r
參數。
這里需要注意的是記得關閉selinux以及firewalld,以免之后安裝運行過程中出現問題。
單機安裝 (和完整安裝2選1)
如果部署全部組件,請執行:
$ cd /data/install $ ./install_minibk -y
如果按需部署,假設只需要paas,cmdb,job平台,請執行:
$ cd /data/install $ ./install_minibk $ ./bk_install paas && ./bk_install cmdb && ./bk_install job
完整安裝 順序執行以下操作完成藍鯨基礎平台的安裝
cd /data/install # 該步驟后,可以打開 paas 平台 ./bk_install paas # 安裝paas 平台及其依賴服務 # 該步驟完成后, 可以打開 cmdb, 看到藍鯨業務及示例業務 ./bk_install cmdb # 安裝 cmdb 及其依賴服務 # 該步驟完成后, 可以打開作業平台, 並執行作業 # 同時在配置平台中可以看到藍鯨的模塊下加入了主機 ./bk_install job # 安裝作業平台及其依賴組件,並在安裝藍鯨的服務器上裝好 gse_agent 供驗證 # 該步驟完成后可以在開發者中心的 服務器信息 和 第三方服務信息 中看到已經成功激活的服務器 # 同時也可以進行 saas 應用(除藍鯨監控和日志檢索)的上傳部署 ./bk_install app_mgr # 部署正式環境及測試環境 # 安裝該模塊后,可以開始安 saas 應用: 藍鯨監控及日志檢索 ./bk_install bkdata # 安裝藍鯨數據平台基礎模塊及其依賴服務 # 安裝 fta 后台 ./bk_install fta # 安裝故障自愈的后台服務 # 重裝一下 gse_agent 並注冊正確的集群模塊到配置平台 ./bkcec install gse_agent # 部署官方SaaS到正式環境(通過命令行從/data/src/official_saas/目錄自動部署SaaS) ./bkcec install saas-o
安裝成功
瀏覽器客戶機都添加如下解析到
Windows 主機c:\windows\system32\drivers\etc\hosts
Linux or Mac 主機 :\etc\hosts
192.168.10.136 paas.bk.com
192.168.10.136 jobs.bk
.com
192.168.10.136 cmdb.bk
.com
192.168.10.136 bknetwork.bk
.com
參考
4 官方安裝指南
======================================================
錯誤處理
查看狀態 ./bkcec status all
一、安裝cmdb時
報錯 “no package nginx available”
發現第3台機器 138上 no package nginx available,解決如下:
#在第三台機器上先安裝epel: yum install epel-release #再安裝nginx yum install nginx #查看nginx whereis nginx
參考 解決 - No package nginx available
二、安裝cmdb時 start gse_dba ...Failed
//#重裝gse,問題解決 (install目錄下) ./bkcec stop gse ./bkcec install gse 1 ./bkcec initdata gse ./bkcec start gse //#然后繼續安裝 cmdb ./bk_install cmdb


嘗試方法:將/usr/local/gse/agent/bin/gsectl 中19行需要用絕對路徑 /usr/sbin/ip addr | \
但是我的系統 /usr/sbin/是下ipmaddr沒有ip addr文件,我直接修改成/usr/sbin/ipmaddr | \也報錯。
輸入命令 ./bkcec status all
顯示 gse_syncdata 和 gse_procmgr gse_dataop 退出了
最終也沒有解決,我重裝了。

五、安裝 initdata for bkdata() 出現 "init dataserver zk fialed" "migrate failed for bkdata"
需要在
/etc/resolv.conf
第一行添加
nameserver 127.0.0.1
(ps:此步應該在最開始安裝前進行,這里我加了繼續安裝還是報錯。。並未解決)