第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档。

友情链接:蓝鲸智云社区版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 或 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/-nofile.conf
root soft nofile
root hard nofile
EOF

重启生效

#方法2
vi /etc/security/limits.conf #最后添加
* soft nofile
* hard nofile
hive - nofile
hive - nproc

5、NTP保持时间同步一致

# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R
# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org

(我的是offset -0.006465 sec 小于1s)

    、vim /etc/resolv.conf
# 配置
nameserver 114.114.114.114
nameserver 8.8.8.8
、执行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..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
./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/
 

Centos 7 搭建蓝鲸V4.1.16社区版的更多相关文章

  1. Centos 7 搭建蓝鲸V4.1.16稳定社区版

    在本地用VMware模拟了三台主机 准备至少3台 CentOS 7 以上操作系统的机器,保证三台虚拟机都可以上网 最低配置:2核4G(我用的是这个) 建议配置: 4核12G 以上 192.168.16 ...

  2. Centos 7 搭建蓝鲸3.1.5社区版

    第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档. 友情链接:蓝鲸智云社区版V3.1用户手册 搭建时遇到了不少的坑,这里做一个详细的安装梳理 主机硬件要求 官方的推荐如下: 我在公司测试环境搭建时机器 ...

  3. ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版

    原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...

  4. 搭建环境Visual Studio 2013 社区版

    搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...

  5. 在CentOS 6中安装和配置OrientDB社区版

    OrientDB概述: OrientDB是一个开源NoSQL非关系型数据库管理系统. NoSQL数据库提供了一种用于存储和检索引用除表式数据之外的数据(例如文档数据或图形数据)的NO关系或非关系数据的 ...

  6. centos 7 安装 Docker Engine-CentOS 社区版

    获取Docker Engine-CentOS社区: https://docs.docker.com/install/linux/docker-ce/centos/ 1.操作系统要求 1.1 要安装 D ...

  7. Centos上搭建基于L2TP的VPN

    1.一些预先准备的环境 yum install -y make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof vim-enhanced ...

  8. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  9. CentOS中搭建Redis伪分布式集群【转】

    解压redis 先到官网https://redis.io/下载redis安装包,然后在CentOS操作系统中解压该安装包: tar -zxvf redis-3.2.9.tar.gz 编译redis c ...

随机推荐

  1. pressmuSpiderr

    #!/usr/bin/env python # encoding: utf-8 import requests from random import choice from lxml import h ...

  2. JSP(1) - JSP简介、原理、语法 - 小易Java笔记

    1.JSP简介 (1)JSP的全称是Java Server Pages(运行在服务器端的页面),实际就是Servlet(学习JSP的关键就是时刻联想到Servlet) (2)JSP.Servlet各自 ...

  3. jsp页面点击打印按钮调用系统 的打印功能

    <script language=javascript> function prt() { var btn_obj = document.getElementById("prin ...

  4. [ 总结 ] Linux下两种常用的双网卡绑定

    1. mode=0 (round-robin) 链路聚合:将两个或者更多数据信道结合成一个单一的信道,该信道以一个更高带宽的逻辑链路出现,链路聚合一般用来连接一个或多个带宽需求量大的设备,链路聚合是指 ...

  5. 【C++】类内函数与内联函数

    今天本来在休息,结果小伙伴问了我个问题,把我的三观都颠覆了.get到了新的知识点,这里记录一下. 内类的函数,都默认为是内联函数!! 这居然是真的.然后我就懵了.因为内联函数应该是定义在头文件里比较好 ...

  6. Django 静态文件配置 (Nginx)

    初学Django,在访问静态文件时候遇到很多误区,一直配置不成功,在此记录一下. Django静态文件访问分为两种:一种是Debug模式下,测试开发网站时对静态文件的访问,一种是实际生产环境中对静态文 ...

  7. AC日记——Collectors Problem uva 10779

    UVA - 10779 思路: 最大流: s向所有的贴纸的种类连边,流量为Bob拥有的数量: 然后,Bob的朋友如果没有这种贴纸,则这种贴纸向bob的朋友连边,容量1: 如果bob的朋友的贴纸很多大于 ...

  8. C、C++ static 的作用

    1.隐藏 当同时编译多个文件时,所有未加static关键字的全局变量和函数都具有全局可见性. 例如:同时编译两个源文件 //ghz.c #include <stdio.h> char a ...

  9. owasp zap 安全审计工具 安装/拦截请求

    1.安装 网址:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 步骤:安装包正常安装即可 2.使用: 来自:http:// ...

  10. CF 990B. Micro-World【数组操作/贪心/STL/二分搜索】

    [链接]:CF [题意]:对任意一个数a[i] ,可以对任意 满足 i != j 且 a[i] > a[j] && a[i] <= a[j] +k 的 a[j] 可以被删掉 ...