2020-09-02我在安装elasticsearch 后 ,不会使用它,也不知道kibana、logstash分别是干啥的,怎么操作。所以写个博客总结下

我在安装elasticsearch 后 ,不会使用它,也不知道kibana、logstash分别是干啥的,怎么操作。所以写个博客总结下。

  1. logstash 我用它来同步mysql中的数据到es中
  2. kibana 我用它作es的可视化

后面将遇到的内容、问题详细记录。
安装过程、配置过程参考的博客连接也记得贴出来。

配置情况:单节点,32G运行内存,2T内存

1.安装elasticsearch 6.2.4

https://www.jianshu.com/p/1d2ddb92f6fb 内容差不多
https://www.jianshu.com/p/15d31cf30154
https://www.cnblogs.com/lizichao1991/p/7809156.html

我安装的是kibana 来显示es中的数据,没有用head插件。

2.logstash安装和配置

https://blog.csdn.net/jy02268879/article/details/80616123

3.kibana安装和配置

https://blog.csdn.net/sinat_35930259/article/details/80266731

4.kibana显示es数据

首先,
启动es,要求非root账户
启动 kibana,要求root账户

在es中先建索引

查看索引
curl localhost:9200/_cat/indices?v
删除索引,通配符形式
curl -XDELETE localhost:9200/索引*
索引起别名
curl -XPUT localhost:9200/索引/_alias/别名


创建index
curl -XPUT http://192.168.*.*:9200/tax_entname_uniscid_index
向索引中添加数据
#curl -XPUT 'IP:9200/[索引名字]/[类型名字]/' -d '
{
"signature": "要插入的文本信息",
  "timestamp": 1492422498000
}'
curl -H "Content-Type: application/json" -XPOST http://192.168.1.*:9200/tax_entname_uniscid_index/tax_entname_uniscid   -d '{"uniscid" : "6666666666","ent_name":"guizhouyouce","type" : "tax_entname_uniscid"}'

就建好了索引,

到kibana首页 set up index pattern
然后按步骤添加,添加成功后可以到discover显示数据。

5. logstash 从mysql全量或增量导入数据

首先,logstash 要有 mysql-connectioner-java.jar 我用的是5.12版本
还要新建 连接的 connectmysql.conf
位置在哪无所谓,关键是知道在哪.


[root@localhost home]# ls
filebeat-6.2.4  kibana  logstash-6.2.3  mysql  youce
[root@localhost home]# cd logstash-6.2.3/
[root@localhost logstash-6.2.3]# ls
bin     CONTRIBUTORS  Gemfile       lib      logs           logstash-core-plugin-api  NOTICE.TXT  vendor
config  data          Gemfile.lock  LICENSE  logstash-core  modules                   tools
[root@localhost logstash-6.2.3]# cd bin
[root@localhost bin]# ls
benchmark.sh  dependencies-report  logstash           logstash-keystore.bat  logstash-plugin.bat  setup.bat
config-mysql  ingest-convert.sh    logstash.bat       logstash.lib.sh        pqcheck              syncpoint_table
cpdump        java_pid18310.hprof  logstash-keystore  logstash-plugin        ruby                 system-install
[root@localhost bin]# cd config-mysql/
[root@localhost config-mysql]# ls
mysql.conf
[root@localhost config-mysql]# vim mysql.conf 

input {
  jdbc {
    jdbc_driver_library => "/home/logstash-6.2.3/logstash-core/lib/jars/mysql-connector-java-5.1.46-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://192.168.1.*:3306/mydatabase?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
    jdbc_user => "root"
    jdbc_password => "123456"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    #schedule => "* * * * *"
    statement => "SELECT uniscid,ENT_NAME  FROM TAX_ENTNAME_UNISCID"
    use_column_value => true
    tracking_column_type => "numeric"
    tracking_column => "id"
    last_run_metadata_path => "syncpoint_table"
  }
}
output {
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["192.168.1.*:9200"]
        # 索引名称 可自定义 小写字母
        index => "tax_entname_uniscid_index"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        #document_id =>"%{id}"
        document_type => "tax_entname_uniscid"
    }
    stdout {
        # JSON格式输出
        codec => json_lines
    }                                                                                     

上面的配置,
注释了schedule “*****” 他的功能是 每分钟执行一次
statement sql 语句 是 select * from table
说明是全量导入。这里有问题,可能在执行时内存不够,注意。
我这里数据是5000万,内存32G,没有报错。

所以这里遗留了一个问题,大量数据时,内存不够时怎么同步?
另一个问题,document_id =>"%{id}" 解开注释,会不会报错? 这个配置能不能保障数据的唯一,不重复。(明天看结果)
第三个问题是,怎么改下sql 让我们下次直接增量导入就可以?

现在数据正在导入过程中,但是还是有很多问题。

在这里插入图片描述

6.从es 查询数据的语句

在kibana的搜索框,直接输入 columnname like ’ xxx’ 可以进行模糊查询

9月3号看下查询速度

如果速度可以,我们来写接口,来调es的查询。
这里我又是个小白。只能查博客写了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值