编译CMDB源码

第一步:准备编译环境和下载源码

  • golang >= 1.8 采用:go version查看

  • python >= 2.7.5 采用:python --version命令查看

  • nodejs >= 4.0.0 采用:node -v命令查看 npm -v cnpm -v bower -v

  • 源码地址:https://github.com/Tencent/bk-cmdb

第二步:编译源码

  1. 修改项目的名字为configcenter
  2. 进入configcenter/src目录下执行:make NPM=cnpm
  3. 可选择打包:make package
  4. 生成编译后文件路径:.../configcenter/src/bin/build/

要点:

  1. Nodejs要装完整和配置正确(具体安装方法如下)
  2. 要修改克隆后的项目名字

部署运行环境

第一步:需要准备的软件版本清单版本

  1. mongodb-linux-x86_64-rhel70-2.8.0-rc5.tgz(CSDN资源可找到)
  2. node-v10.15.0-linux-x64.tar.xz(CSDN资源可找到)
  3. redis-3.2.11.tar.gz(CSDN资源可找到)
  4. zookeeper-3.4.11.tar.gz(CSDN资源可找到)
  5. 编译好的CMDB源码
  6. CentOS Linux release 7.0以上的系统

第二步:安装软件

 Nodejs安装配置方法

sudo ln -s /opt/node-v0.12.10-linux-x86/bin/node /usr/local/bin/node
       sudo ln -s /opt/node-v0.12.10-linux-x86/bin/npm /usr/local/bin/npm

  1. 解压缩 tar -zxvf node-v4.0.0-linux-x64.tar.gz移动至目标主机相关目录
  2. cd ../bin   ./node -v  ./npm -v 测试是否成功

  3. 用软连接进行连接

  4. 安装cnpm和bower

npm install -g cnpm --registry=https://registry.npm.taobao.org
       sudo ln -s /usr/local/node/bin/cnpm /usr/local/bin/

npm install bower -g
       sudo ln -s /usr/local/node/bin/bower /usr/local/bin/

5.测试方法

npm -v    cnpm -v    bower -v

Mongodb 安装配置方法

  1. tar -zvxf xxx 移动目录mongodb
  2. 在mongodb目录中创建文件夹:mkdir db logs
  3. 进入到bin目录下,编辑mongodb.conf文件,内容如下:
dbpath = /usr/local/mongodb/db
logpath = /usr/local/mongodb/logs/mongodb.log
port = 27017
fork = true
nohttpinterface = true
auth=true
bind_ip=0.0.0.0
nojournal=true

4.启动/停止 mongodb 服务:

在bin下执行启动:mongod -f mongodb.conf

在bin下执行停止:mongod -f ./mongodb.conf --shutdown

输出结果如下:代表成功

warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
about to fork child process, waiting until server is ready for connections.
forked process: 2428
child process started successfully, parent exiting

5.配置系统变量(事例:)

vi /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
$source /etc/profile

要点:

  1.  关机一定要停止mongod ,不然会报错“ERROR: child process failed, exited with error number 100 ”
  2. 出现上述错误解决办法为:删除db/mongod.lock mongod.lock 文件,重新启动mongo
  3. 在启动CMDB的时候要先确认mongodb是否启动,命令: ps -ef | grep mongod

Redis 安装配置方法

protected-mode yes 改为protected-mode no daemonize设置为yes

  1. tar -xzcf redis-3.0.0.tar.gz 移动目录至目标机
  2. 进入目录执行:make 进入src目录 执行 make install
  3. 修改src下面的redis.conf
  4. 添加软连接

ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server

ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli

5.启动/停止Redis

启动:redis-server /usr/local/redis/redis.conf

停止:redis-cli shutdown

6.设置密码

  • 进入命令行:redis-cli
  • 验证是否设置了密码:config get requirepass
  • 打开redis.conf,并修改# requirepass foobared为requirepass 123456
  • 停止并重新启动redis,验证:auth 123456,验证:config get requirepass

Zookeeper 安装配置方法

     先安装JDK

  1. 下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. tar -zvxf jdk-8u191-linux-x64.tar.gz /usr/local/jdk1.8/
  3. 设置环境变量
vi /etc/profileexport JAVA_HOME=/usr/local/jdk1.8/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/binsource /etc/profile

 部署zookeeper

  1. 解压:tar -zxvf zookeeper-3.4.12.tar.gz
  2. cd  zookeeper-3.4.12   mkdir data logs
  3. 在conf文件中 cp zoo_sample.cfg zoo.cfg
  4. vi zoo.cfg
#############修改如下#################
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
server.1=192.168.40.41:2888:3888

5.设置环境变量sudo vi /etc/profile 并source /etc/profile

ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

6.关闭防火墙:systemctl stop firewalld.service

7. 安装好了,切换到bin目录,启动

  • 启动 zkServer.sh start
  • 输入jps命令查看进程 ​ jps
  • 查看状态: ​ zkServer.sh status
  • #服务器输出信息 ​ tail -500f zookeeper.out
  • 停止zookeeper进程 ​ ./zkServer.sh stop

要点:

启动客户端脚本:zkCli.sh -server 127.0.0.1:2181

第三步:部署源码(事例)

1 python init.py
2 python init.py --discovery 127.0.0.1:2181 --database cmdb --redis_ip 127.0.0.1 --redis_port 6379 --redis_pass 123456 --mongo_ip 127.0.0.1 --mongo_port 27017 --mongo_user cc --mongo_pass cc --blueking_cmdb_url http://127.0.0.1:8083 --listen_port 8083
3 ./start.sh
4 bash ./init_db.sh
5 http://192.168.5.56:8083
6 ./stop.sh

整个操作要点:

  1. Init时注意Redis的密码
  2. 注意mongo是否启动
  3. 防火墙一定要处于关闭的状态
  4. 关闭虚拟机要关闭mongod -f ./mongodb.conf --shutdown
  5. CMDB源码克隆和download里面内容会有功能差异
  6. 建议zk、redis、mongo 最好设置开机启动、这里就不在赘述

1小时教你快速搭建蓝鲸CMDB运行平台相关推荐

  1. 手把手教你快速搭建私服环境

    手把手教你快速搭建私服环境,简单实用,一看就懂 1.准备工作:先下载Nxus Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库 ...

  2. 快速搭建BI商业报表平台

    快速搭建BI商业报表平台 一.MySQL基础知识 1.delete和truncate的区别: 2.SQL查询基本语法 3.数据准备 4.简单查询 5.条件查询where 6.聚合查询 7.分组查询:g ...

  3. Docker快速搭建OpenProject项目管理协作平台

    转载来源:https://hub.docker.com/r/openproject/community Docker快速搭建OpenProject项目管理协作平台 Tags信息 openproject ...

  4. windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)

    推荐几款一键快速搭建PHP本地运行环境的好工具(含php7.0及apache,nigix,mysql) 首推phpstudy2016和wampServer3.0.6     理由支持php7.0 目前 ...

  5. 使用Azure认知服务快速搭建一个目标检测平台

    文章目录 前言 1. 认知服务 2. 环境配置 2.1 创建资源 2.2 创建python环境 3. 代码实现 3.1 图片检测 3.2 视频检测 4. 检测效果 结束语 前言   博主参与了由CSD ...

  6. 如何快速搭建一个社交网站平台?

    2019独角兽企业重金招聘Python工程师标准>>> 截至到2017年12月,我国的网民规模已经达到了7.72亿,而手机网民规模也达7.53亿,2017年网络社交娱乐类应用用户规模 ...

  7. 手把手教你快速搭建一个代码在线编辑预览工具

    简介 大家好,今天我跟大家分享的是一个代码在线编辑预览工具的实现教程,手把手教你完成这样一个项目. 目前这类工具使用很广泛,常见于各种文档网站及代码分享场景,相关工具也比较多,如codepen.jsr ...

  8. NVIDIA专家实战演示,教你快速搭建基于Python的车辆信息识别系统

    主讲人 | 何琨 英伟达 量子位编辑 | 公众号 QbitAI 随着智慧城市.自动驾驶的快速落地,车辆的检测和识别应用场景非常广泛,如车牌识别.车流统计.车辆属性识别等. 近日,在英伟达x量子位发起的 ...

  9. 保姆级教程教你快速搭建属于自己的AI绘画系统!(收藏)

    Midjourney收费高.无法支付,且生成想要的图片受限,风格固定,如果能够10分钟快速搭建属于自己的AI绘画系统,并且对电脑配置无要求,你心动了吗? 先来看看AI系统构建完成后的画面,只需要输入自 ...

最新文章

  1. 分片哈希piecewise hashing
  2. 七种在BIM实施过程中减少浪费的方法
  3. 返回多维数组中某一维的最大值
  4. 第7章 Scrapy突破反爬虫的限制
  5. java成绩前五名的代码_java 如何选出成绩排前5名的学生呢
  6. 英文简历 计算机知识,计算机应届生英文简历范文
  7. 自定义控件的构建(10)
  8. 编译安装Apache、php、xcache、FastCGI及相关整合
  9. 死锁问题分析(个人认为重点讲到了gap间隙锁,解决了我一些不明报死锁的问题)
  10. javascript之对象
  11. Java中将16进制字符串转换成汉字
  12. 曲线运动与万有引力公式_高中物理公式大全!
  13. 基于Matlab的海洋监视雷达检测仿真(附源码)
  14. 后台管理系统模板,简易模板
  15. DigiCert SSL证书支持中文域名申请吗?
  16. GreenDao的简单学习(附带demo源码)
  17. pat 秋 Professional Ability Test
  18. 读书笔记-kafka常用操作命令-kafka-topics.sh
  19. 福建省区块链应用商会成立大会 发起单位零伽壹现场做主题分享
  20. 【调剂】汕头大学 范衠教授 调剂招收智能控制、 机器人、人工智能等方向研究生...

热门文章

  1. fgo日服封科技_FGO国服B站阴兵刷活动?鬼王血条急速消失,他们才是罪魁祸首...
  2. twemproxy安装和小结
  3. canvas 基础 和 动图案例
  4. 怎样升级oppo手机android版本,OPPO R9手机全网通版升级ColorOS 3.0:基于安卓6.0
  5. js成员检查方式in、indexOf、includes、inArray
  6. vim 设置多行缩进多个空格
  7. oracle递归查询指定子节点,oracle递归查询子节点
  8. 一文搞定Darma Cash(DMCH)!
  9. Java中浅拷贝与深拷贝之间的区别
  10. 字节懂车帝-后端开发面经