-
本文以Centos7系统为例,系统基础配置要求:4核8G
-
按照本文可以快速部署一套单机模式的 KnowSearch 环境
-
KnowSearch 同样支持分布式集群模式,如需部署高可用集群,请提前准备VIP环境
-
在部署高可用集群时,请参考部署步骤中的提示,主要注意接入IP应为VIP
-
KnowSearch 核心模块:arius-admin和arius-gateway以及前端应用
-
基础依赖应用:Elasticsearch、Kibana、Mysql、Nginx、JDK
基础依赖服务部署 ——> KnowSearch各个模块部署
###如现有环境中已经有相关服务,可跳过对其的安装
###版本需要5.7及以上,如需配置主从模式,请参考该文档 Mysql主从部署
#配置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
###版本无要求 Nginx安装包下载地址
#yum方式安装
yum -y install nginx
#rpm包方式安装
rpm -ivh nginx-1.8.1.rpm
#服务启动
systemctl start nginx
###版本要求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
###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
###安装包下载地址
#解压安装包
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
###以KnowSearch 0.2.3版本为例,如需其他版本可自行打包,打包方法参加第三节
###如需部署集群模式,在其他节点重复操作即可,但请先准备好所需VIP
###依赖JAVA11、服务器可用内存应大于8G 安装包下载地址
#解压安装包到指定目录
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
#修改启动脚本并加入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
#将配置文件放到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)