求推荐建设网站,有哪些做问卷调查给钱的网站,关于优化培训,公司官网首页设计文章目录一、基础软件安装1. 安装mysql2. Elasticsearch7.15.2 安装部署3. kibana 安装部署4. logstash-input-jdbc 安装部署二、数据库准备2.1. 创建数据库2.2. 表结构初始化2.3. 数据初始化三、logstash 配置mysql3.1. 创建目录3.2. 上传mysql驱动3.3. 创建jdbc.conf3.4. 创建… 文章目录一、基础软件安装1. 安装mysql2. Elasticsearch7.15.2 安装部署3. kibana 安装部署4. logstash-input-jdbc 安装部署二、数据库准备2.1. 创建数据库2.2. 表结构初始化2.3. 数据初始化三、logstash 配置mysql3.1. 创建目录3.2. 上传mysql驱动3.3. 创建jdbc.conf3.4. 创建jdbc.sql3.5. 创建last_value_meta3.6. 赋予权限四、启动中间件4.1. 启动mysql4.2. 启动es74.3. 启动kibana4.4. 点评搜索索引定义4.5. 启动logstash4.6. 验证全量索引4.7. 增量索引同步一、基础软件安装
1. 安装mysql
Mysql 8.0 安装教程 Linux Centos7
2. Elasticsearch7.15.2 安装部署
Elasticsearch7.15.2 安装、部署linux环境
3. kibana 安装部署
kibana 一分钟下载、安装、部署linux
4. logstash-input-jdbc 安装部署
logstash-input-jdbc 下载安装 linux
二、数据库准备
2.1. 创建数据库
创建dianpingdb数据库
2.2. 表结构初始化
表结构sql
2.3. 数据初始化
数据初始化
三、logstash 配置mysql
3.1. 创建目录
cd /app/logstash-7.15.2/bin
mkdir mysql3.2. 上传mysql驱动
将mysql驱动上传到mysql目录下面
cd mysql
ll3.3. 创建jdbc.conf
vim jdbc.conf添加内容
input {jdbc {# 设置 timezone 统一时间jdbc_default_timezone Asia/Shanghai# mysql 数据库连接dianpingdb为数据库名称jdbc_connection_string jdbc:mysql://localhost:3306/dianpingdb?useUnicodetruecharacterEncodingUTF8autoReconnecttrue# 用户名和密码jdbc_user rootjdbc_password 123456# 驱动jdbc_driver_library /app/logstash-7.15.2/bin/mysql/mysql-connector-java-8.0.27.jar# 驱动类名jdbc_driver_class com.mysql.cj.jdbc.Driverjdbc_page_size 50000# 记录上一次更新时间last_run_metadata_path /app/logstash-7.15.2/bin/mysql/last_value_meta# 执行的sql 文件路径名称statement_filepath /app/logstash-7.15.2/bin/mysql/jdbc.sql# 设置监听间隔 字段含义由左至右分、时、天、月、年 全部* 默认每分钟实时更新schedule * * * * *}
}output {elasticsearch {# ES 的IP地址及端口hosts [localhost:9200]# 索引名称index shopdocument_type _doc# 自增ID 需要关联数据库中有一个id字段对应索引的id号document_id %{id}}stdout {# JSON格式输出codec json_lines}
}3.4. 创建jdbc.sql
vim jdbc.conf添加内容
SELECT a.id,a.name,a.tags,CONCAT(a.latitude,,,a.longitude) AS location,a.remark_score,a.price_per_man,a.category_id,b.name as category_name,a.seller_id,c.remark_score as seller_remark_score,c.disabled_flag as seller_disabled_flag FROM shop a INNER JOIN category b on a.category_id b.id INNER JOIN seller c on c.id a.seller_id where a.updated_at :sql_last_value or b.updated_at :sql_last_value or c.updated_at :sql_last_value格式化后
SELECTa.id,a.NAME,a.tags,CONCAT( a.latitude, ,, a.longitude ) AS location,a.remark_score,a.price_per_man,a.category_id,b.name AS category_name,a.seller_id,c.remark_score AS seller_remark_score,c.disabled_flag AS seller_disabled_flag
FROMshop aINNER JOIN category b ON a.category_id b.idINNER JOIN seller c ON c.id a.seller_id
WHEREa.updated_at : sql_last_value OR b.updated_at : sql_last_value OR c.updated_at : sql_last_value3.5. 创建last_value_meta
vim last_value_meta添加内容 数据是2019年的因此填写一个早一点的日期即可
2010-11-11 11-11-113.6. 赋予权限
操作ELK均使用es用户在安装es7是此用户已经创建企业中不允许使用root和软件限制root用户操作因此这样可以做到权限分明
chown es.es /app/logstash-7.15.2/ -R四、启动中间件
4.1. 启动mysql
linux7.x
systemctl start mysql
systemctl status mysqllinux6.x
service mysql start
service mysql status 4.2. 启动es7
su - escd /app/elasticsearch-7.15.2/
bin/elasticsearch -d4.3. 启动kibana 启动方式任选一种 su - escd /app/kibana-7.15.2-linux-x86_64/前台启动
bin/kibana后台启动
nohup bin/kibana 注意由于kibana是前台启动因此此命令窗口不能关闭 4.4. 点评搜索索引定义 # 点评搜索索引定义初始化es7
PUT /shop
{settings: {number_of_shards: 1,number_of_replicas: 0}, mappings: {properties: {id:{type: integer},name:{type: text,analyzer: ik_max_word,search_analyzer: ik_smart},tags:{type: text,analyzer: whitespace,fielddata: true},location:{type: geo_point},remark_score:{type: double},price_per_man:{type: integer},category_id:{type: integer},category_name:{type: keyword},seller_id:{type: integer},seller_remark_score:{type: double},seller_disabled_flag:{type: integer}}}
}#搜索shop文档索引
GET /shop/_search4.5. 启动logstash
su - escd /app/logstash-7.15.2/bin
./logstash -f mysql/jdbc.conf控制台日志红色部分是咱们的sql蓝色部分是同步的数据
4.6. 验证全量索引
# 搜索shop文档索引
GET /shop/_search4.7. 增量索引同步
手动修改数据库数据模拟增量同步 原数据 修改后数据 提交事务观察logstash控制台和es
# 搜索shop文档索引
GET /shop/_search
{query: {match: {name: 面馆}}
}