Skip to content

Latest commit

 

History

History
265 lines (178 loc) · 8.87 KB

KnowSearch安装部署文档.md

File metadata and controls

265 lines (178 loc) · 8.87 KB

前言

  • 本文以Centos7系统为例,系统基础配置要求:4核8G

  • 按照本文可以快速部署一套单机模式的 KnowSearch 环境

  • KnowSearch 同样支持分布式集群模式,如需部署高可用集群,请提前准备VIP环境

  • 在部署高可用集群时,请参考部署步骤中的提示,主要注意接入IP应为VIP

一、KnowSearch架构图

  • KnowSearch 核心模块:arius-admin和arius-gateway以及前端应用

  • 基础依赖应用:Elasticsearch、Kibana、Mysql、Nginx、JDK

3001

二、部署流程及部署步骤

1. 部署流程

基础依赖服务部署 ——> KnowSearch各个模块部署

2. 基础依赖服务部署

###如现有环境中已经有相关服务,可跳过对其的安装

2.1、安装Mysql服务

###版本需要5.7及以上,如需配置主从模式,请参考该文档 Mysql主从部署

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

#获取初始密码
grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1

2.1.2 rpm包方式安装 Mysql安装包下载地址

#解压到指定目录
tar -zxf mysql5.7.tar.gz -C /tmp/

#执行安装
yum -y localinstall /tmp/libaio-*.rpm /tmp/mysql-*.rpm

#服务启动
systemctl start mysqld

##获取初始密码
grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1

2.2 安装Nginx服务

###版本无要求 Nginx安装包下载地址

#yum方式安装
yum -y install nginx

#rpm包方式安装
rpm -ivh nginx-1.8.1.rpm

#服务启动
systemctl start nginx

2.3 配置JAVA环境

###版本要求11 下载地址

#解压到指定目录
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

2.4 Elasticsearch元数据实例搭建

###Elasticsearch元数据集群来支持平台核心指标数据的存储,如集群维度指标、节点维度指标等 Elasticsearch安装包下载地址

###以下安装示例为单节点模式,如需集群部署可以参考Elasticsearch官方文档

#创建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-v7.6.1.tar.gz -C /data/

#更改目录所属组
chown -R arius:arius /data/

#修改配置文件(参考一下配置)
vim /data/elasticsearch-v7.6.1/config/elasticsearch.yml
cluster.name: logi-em-matedata-cluster
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-v7.6.1/config/jvm.options
-Xms2g
-Xmx2g

#启动服务
su - arius
export JAVA_HOME=/usr/local/java11
sh /data/elasticsearch-v7.6.1/control.sh start


#确认状态
su - arius
export JAVA_HOME=/usr/local/java11
sh /data/elasticsearch-v7.6.1/control.sh status

2.5 安装Kibana服务

###安装包下载地址

#解压安装包
tar -zxf arius-kibana-release.tar.gz -C /data/

#修改配置
vim /data/arius-kibana-release/config/kibana.yml
server.rewriteBasePath: true
server.port: 8088
elasticsearch.hosts: ["http://127.0.0.1:8200"] #这里的地址和端口是部署LogiEM中gateway模块的IP地址,如gateway模块为集群模式,需要填写gateway的VIP地址

#修改启动脚本
sed -i "s/kibana serve/kibana serve --allow-root/g" /data/arius-kibana-release/control.sh 

#启动服务
cd /data/arius-kibana-release/
sh control.sh start

3、KnowSearch 服务部署

###以KnowSearch 0.2.3版本为例,如需其他版本可自行打包,打包方法参加第三节

###如需部署集群模式,在其他节点重复操作即可,但请先准备好所需VIP

###依赖JAVA11、服务器可用内存应大于8G 安装包下载地址

3.1 arius-admin模块

#解压安装包到指定目录
tar -zxf LogiEM_v0.2.3.tar.gz -C /data/

#修改启动脚本并加入systemd管理
cd  /data/arius_admin/
sed -i '#dir_home#/data#g' control.sh arius-admin.service
cp arius-admin.service /usr/lib/systemd/system/

#创建相应的库和导入初始化数据(集群模式时只需在其中一个节点执行该操作即可)
mysql -uroot -p -e "CREATE DATABASE IF NOT EXISTS logi_em;"
mysql -uroot -p logi_em < /data/arius_admin/logi-init/logi-em-ddl.sql
mysql -uroot -p logi_em < /data/arius_admin/logi-init/logi-em-init-dml.sql


#修改配置文件
vim application-full.yml

#监听端口
admin:
port:
	web: 8015
	
#gateway的IP地址和端口(gateway为集群时,这里的IP地址填写对应的VIP地址)
es.gateway.url: gateway_ip
es.gateway.port: gateway_port

#ES数据集群名称和端口(集群名严格按照以下配置)
es.update.cluster.name: logi-em-matedata-cluster
es.client.cluster.port: 8060

#数据库配置(修改正确的mysql地址和数据库名称以及用户名密码,集群模式时所有节点指向同一Mysql的master地址)
druid:
  driver-class-name: org.mariadb.jdbc.Driver
  url: jdbc:mariadb://mysql_ip:3306/logiem?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false&alwaysAutoGeneratedKeys=true&serverTimezone=GMT%2B8
  username: root
  password: mysql_pass
  
logi-job:
jdbc-url: jdbc:mariadb://mysql_ip:3306/logiem?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false&alwaysAutoGeneratedKeys=true&serverTimezone=GMT%2B8
username: root
password: mysql_pass

#启动服务
systemctl daemon-reload
systemctl start arius-admin

#服务启动成功后执行元数据导入脚本(集群模式时只需在其中一个节点执行该操作即可,IP1对应arius-admin的服务IP和端口,IP2对应的是Elasticsearch的master节点IP和端口)
sh /data/arius_admin/logi-init/init_logi_em_linux.sh 127.0.0.1 8015 127.0.0.1 8060

3.2 arius-gateway模块

#修改启动脚本并加入systemd管理
cd  /data/arius_gateway/
sed -i '#dir_home#/data#g' control.sh arius-gateway.service
cp arius-gateway.service /usr/lib/systemd/system/

#修改配置文件(arius-admin是集群时,IP地址填写arius-admin的VIP地址)
gateway.cluster.name=logi-em-matedata-cluster #ES集群名称
elasticsearch.admin.cluster.name=logi-em-matedata-cluster	arius.gateway.adminUrl=http://127.0.0.1:8015/	admin/api/ #arius-admin模块服务地址和端口
gateway.httpTransport.port=8200 #gateway监听端口

#启动服务
systemctl daemon-reload
systemctl start arius-gateway

#启动filebeats服务(IP地址和端口为Elasticsearch的master节点地址和端口)
sh filebeats_start.sh 127.0.0.1:8060

3.3 前端代码部署及配置

###Nginx配置文件下载地址

#将配置文件放到etc目录
mv nginx.conf /etc/nginx/nginx.conf

#修改配置文件(data目录是前端文件跟目录,arius-admin是集群时,IP地址填写arius-admin的VIP地址)
sed -i 's#fe_home#data#g' /etc/nginx/nginx.conf
sed -i 's#admin_master_ip#IP地址#g' /etc/nginx/nginx.conf
sed -i 's#web_port#8015#g' /etc/nginx/nginx.conf
sed -i 's#kib_ip#127.0.0.1#g' /etc/nginx/nginx.conf
sed -i 's#kib_port#8088#g' /etc/nginx/nginx.conf

#重启Nginx服务
systemctl restart nginx

###打开浏览器输入NginxIP地址测试,用户名密码(admin/admin)

三、KnowSearch其他版本打包