Centos 7 搭建藍鯨V4.1.16社區版


 

 

 

第一次搭建藍鯨平台,參考了藍鯨社區的官方搭建文檔。

友情鏈接:藍鯨智雲社區版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目錄中,開始安裝步驟。

 

獲取安裝包

藍鯨社區版包含軟件包和部署腳本包,分別為:

 

  只需要完整程序包和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
NTP保持時間同步一致

 

 

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



后記
看到各種教程都要域名、服務器我就傻傻的去買域名,買虛擬主機。實際上域名不需要,改host就是把域名重定向到了對應ip的服務器上。虛擬主機可以暫時用VM安裝虛擬機,但是還沒徹底安裝成功,各種報錯。。
 
 

參考

1 Centos 7 搭建藍鯨V4.1.16社區版

2 Centos 7 搭建藍鯨3.1.5社區版

3 [經驗分享] 社區版4.0安裝部署心得分享

 

 

 

4 官方安裝指南

5 藍鯨智雲社區版V4.1單機部署體驗

 

 

 

 

 

======================================================

 

錯誤處理


查看狀態  ./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

參考:藍鯨平台部署及運維遇到的問題

 
 三、安裝 job時報錯 提示"You have new mail in /var/spool/mail/root"

 打開指定位置的mail文件,發現提示 "/usr/local/gse/agent/bin/gsectl: line 19: ip: command not found"
 
 

 

 

嘗試方法:將/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 退出了

最終也沒有解決,我重裝了。

 
 
四、安裝app_mgr時報錯  “request failed. /tmp/activate.rbtmq.tmp not found”
 

 

 

 

五、安裝 initdata for bkdata() 出現 "init dataserver zk fialed"  "migrate failed for bkdata"

 

 

升級init bkdata 報錯: init dataserver zk failed. migrate failed for bkdata(dataapi) :::: dig zk.service.consul 按內部域名無法解析處理 https://docs.bk.tencent.com/bkce_install_guide/trouble_shooting/internal_domain_error.html

 

需要在

/etc/resolv.conf
第一行添加
nameserver 127.0.0.1

 (ps:此步應該在最開始安裝前進行,這里我加了繼續安裝還是報錯。。並未解決)

 

============================
 
其他問題 可以參考官方論壇 https://bk.tencent.com/s-mart/community/
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM