• 安装 bkdata 及其依赖
    • 安装依赖
      • 安装 elasticasearch
      • 安装 Kafka
      • 安装 beanstalk
      • 安装 InfluxDB
    • 安装 bkdata
    • 安装 fta

    安装 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