安装 bkdata 及其依赖

bkdata(蓝鲸数据平台基础服务)包含三个子工程

  • dataapi
  • databus
  • monitor
    Bkdata依赖简图

新增的依赖有 kafkaesbeanstalkinfluxdb。其中kafka用来做数据流处理;es(elasticsearch)用来存储日志文本数据;beanstalk是监控后台依赖的队列服务,influxdb 是存储信息的时序数据库。

安装依赖

安装 elasticasearch

  1. ./bkcec install es
  2. ./bkcec start es

详解:

  • 安装es(install_es)
    • 安装java
    • 同步es目录到$INSTALL_PATH/service/下
    • 渲染配置模板
    • 添加es系统用户来运行elasticsearch
    • 修改内核参数和open files值
    • 设置目录权限,让es用户可以读写。
  • 启动 es

安装 Kafka

  1. ./bkcec install kafka
  2. ./bkcec start kafka

详解:

  • 安装kafka(install_kafka)
    • 安装java
    • 同步kafka目录到$INSTALL_PATH/service/下
    • 渲染配置模板
    • 修改/etc/hosts 配置上主机名
  • 启动 kafka

安装 beanstalk

  1. ./bkcec install beanstalk
  2. ./bkcec start beanstalk

详解:

  • 安装 beanstalkd(install_beanstalk),使用yum安装
  • 启动beanstalk

安装 InfluxDB

  1. ./bkcec install influxdb
  2. ./bkcec start influxdb

详解:

  • 安装 influxdb(install_influxdb)
    • 从$PKG_SRC_PATH/service/influxdb-*.rpm 安装
    • 渲染配置模板, 并做软链接。
    • 修改目录权限让influxdb用户可以读写。
  • 启动 influxdb

安装 bkdata

  1. ./bkcec install bkdata
  2. ./bkcec initdata bkdata
  3. ./bkcec start bkdata

详解:

  • 安装 bkdata(install_bkdata)
    • 安装dependents.env里定义依赖的yum包
    • 尝试修复可能引起安装MySQL-python pip包的lib库问题(fixlocation_libmysqlclient_r函数)
    • 同步代码工程目录,同步cert目录
    • 因为databus是java工程,安装java
    • 安装python虚拟环境(init_virtualenv函数)
    • 安装python工程的requirments.txt定义的pip包
    • 渲染配置模板
  • 初始化 bkdata(initdata_bkdata)
    • 初始化mysql数据库表结构
    • dataapi工程 migrate trt 初始化
    • 初始化 kafka的topic数据
  • 启动 bkdata
    • 启动 bkdata
    • 如果是第一次启动bkdata,那么运行init_bkdata_snapshot函数,因为这个初始化需要dataapi启动后才能运行。运行成功后,设置一个标记文件,$INSTALL_PATH/.init_bkdata_snapshot。防止重复执行。

安装 fta

fta 是故障自愈APP的后台进程

  1. ./bkcec install fta
  2. ./bkcec initdata fta
  3. ./bkcec start fta

详解:

  • 安装 fta(install_fta)
    • 安装dependents.env里定义依赖的yum包
    • 同步代码工程目录,同步cert目录
    • 安装python虚拟环境(init_virtualenv函数)
    • 安装python工程的requirments.txt定义的pip包
    • 渲染配置模板
  • 初始化 fta(initdata fta)
    • 初始化 mysql的库表结构
  • 启动 fta