mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 03:42:07 +08:00
7.1 KiB
7.1 KiB
前言
- 本文以 Centos7 系统为例,系统基础配置要求:4 核 8G
- 按照本文可以快速部署一套单机模式的 KnowStreaming 环境
- 本文以 v3.0.0-bete 版本为例进行部署,如需其他版本请关注官网
- 部署完成后可以通过浏览器输入 IP:PORT 进行访问,默认用户名密码: admin/admin2022_
- KnowStreaming 同样支持分布式集群模式,如需部署高可用集群,请联系我们
1.1、软件版本及依赖
| 软件名 | 版本要求 | 默认端口 |
|---|---|---|
| Mysql | v5.7+ | 3306 |
| Elasticsearch | v6+ | 8060 |
| JDK | v8+ | - |
| Centos | v6+ | - |
| Ubantu | v16+ | - |
1.2、部署方式选择
-
Shell 部署(单机版本)
-
容器化部署(需准备 K8S 环境)
-
根据操作手册进行手动部署
1.3、Shell 部署
1.3.1、在线方式安装
#在服务器中下载安装脚本,脚本中会重新安装Mysql
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/deploy_KnowStreaming.sh
#执行脚本
sh deploy_KnowStreaming.sh
#访问测试
127.0.0.1:8080
1.3.2、离线方式安装
#将安装包下载到本地且传输到目标服务器
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/KnowStreaming-3.0.0-beta—offline.tar.gz
#解压安装包
tar -zxf KnowStreaming-3.0.0-beta—offline.tar.gz
#执行安装脚本
sh deploy_KnowStreaming-offline.sh
#访问测试
127.0.0.1:8080
1.4、容器化部署
1.4.1、环境依赖及版本要求
-
Kubernetes >= 1.14 ,Helm >= 2.17.0
-
默认配置为全部安装(elasticsearch + mysql + knowstreaming)
-
如果使用已有的 elasticsearch(7.6.x) 和 mysql(5.7) 只需调整 values.yaml 部分参数即可
1.4.2、安装方式
#下载安装包
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/knowstreaming-3.0.0-hlem.tgz
#解压安装包
tar -zxf knowstreaming-3.0.0-hlem.tgz
#执行命令(NAMESPACE需要更改为已存在的)
helm install -n [NAMESPACE] knowstreaming knowstreaming-manager/
#获取KnowStreaming前端ui的service. 默认nodeport方式.(http://nodeIP:nodeport,默认用户名密码:admin/admin2022_)
1.5、手动部署
1.5.1、部署流程
基础依赖服务部署 ——> KnowStreaming 模块
1.5.2、基础依赖服务部署
如现有环境中已经有相关服务,可跳过对其的安装
基础依赖:JAVA11、Mysql、Elasticsearch
1.5.2.1、安装 Mysql 服务
1.5.2.1.1 yum 方式安装
#配置yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#执行安装
yum -y install mysql-server mysql-client
#服务启动
systemctl start mysqld
#获取初始密码并修改
old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`
mysql -NBe "alter user USER() identified by 'Didi_km_678';" --connect-expired-password -uroot -p$old_pass
1.5.2.1.2、rpm 包方式安装
#下载安装包
wget https://s3-gzpu.didistatic.com/knowsearch/mysql5.7.tar.gz
#解压到指定目录
tar -zxf mysql5.7.tar.gz -C /tmp/
#执行安装
yum -y localinstall /tmp/libaio-*.rpm /tmp/mysql-*.rpm
#服务启动
systemctl start mysqld
#获取初始密码并修改
old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`
mysql -NBe "alter user USER() identified by 'Didi_km_678';" --connect-expired-pa
ssword -uroot -p$old_pass
1.5.2.2、配置 JAVA 环境
#下载安装包 wget https://s3-gzpu.didistatic.com/pub/jdk11.tar.gz #解压到指定目录 tar -zxf jdk11.tar.gz -C /usr/local/ #更改目录名 mv /usr/local/jdk-11.0.2 /usr/local/java11 #添加到环境变量 echo "export JAVA_HOME=/usr/local/java11" >> ~/.bashrc echo "export CLASSPATH=/usr/java/java11/lib" >> ~/.bashrc echo "export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin" >> ~/.bashrc source ~/.bashrc
1.5.2.3、Elasticsearch 实例搭建
Elasticsearch 元数据集群来支持平台核心指标数据的存储,如集群维度指标、节点维度指标等
以下安装示例为单节点模式,如需集群部署可以参考Elasticsearch 官方文档
#下载安装包
wget https://s3-gzpu.didistatic.com/pub/elasticsearch.tar.gz
#创建ES数据存储目录
mkdir -p /data/es_data
#创建ES所属用户
useradd arius
#配置用户的打开文件数
echo "arius soft nofile 655350" >>/etc/security/limits.conf
echo "arius hard nofile 655350" >>/etc/security/limits.conf
echo "vm.max_map_count = 655360" >>/etc/sysctl.conf
sysctl -p
#解压安装包
tar -zxf elasticsearch.tar.gz -C /data/
#更改目录所属组
chown -R arius:arius /data/
#修改配置文件(参考以下配置)
vim /data/elasticsearch/config/elasticsearch.yml
cluster.name: km_es
node.name: es-node1
node.master: true
node.data: true
path.data: /data/es_data
http.port: 8060
discovery.seed_hosts: ["127.0.0.1:9300"]
#修改内存配置
vim /data/elasticsearch/config/jvm.options
-Xms2g
-Xmx2g
#启动服务
su - arius
export JAVA_HOME=/usr/local/java11
sh /data/elasticsearch/control.sh start
#确认状态
sh /data/elasticsearch/control.sh status
1.5.3、KnowStreaming 服务部署
以 KnowStreaming 为例
#下载安装包
wget wget https://s3-gzpu.didistatic.com/pub/knowstreaming/KnowStreaming-3.0.0-beta.tar.gz
#解压安装包到指定目录
tar -zxf KnowStreaming-3.0.0-beta.tar.gz -C /data/
#修改启动脚本并加入systemd管理
cd /data/KnowStreaming/
#创建相应的库和导入初始化数据
mysql -uroot -pDidi_km_678 -e "create database know_streaming;"
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-ks-km.sql
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-logi-job.sql
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-logi-security.sql
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/dml-ks-km.sql
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/dml-logi.sql
#创建elasticsearch初始化数据
sh ./init/template/template.sh
#修改配置文件
vim ./conf/application.yml
#监听端口
server:
port: 8080 # web 服务端口 tomcat: accept-count: 1000 max-connections: 10000
#elasticsearch地址
es.client.address: 127.0.0.1:8060
#数据库配置(一共三处地方,修改正确的mysql地址和数据库名称以及用户名密码)
jdbc-url: jdbc:mariadb://127.0.0.1:3306/know-streaming?.....
username: root
password: Didi_km_678
#启动服务
cd /data/KnowStreaming/bin/
sh startup.sh