• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在Docker中安装Elasticsearch7.6.2的教程

    安装docker

    你要安装完成docker,不再说明了。

    安装Elasticsearch

    注意:使用版本为 7.6.2,你可以选择其他版本

    拉取镜像

    docker pull elasticsearch:7.6.2

    启动容器

    docker run --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \

    -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \

    --name='elasticsearch' --cpuset-cpus="1" -m 2G -d elasticsearch:7.6.2

    说明:

    1. -v /opt/hanlp:/opt/hanlp如果使用了hanlp的分词,所以需要挂载词库

    2. ES_JAVA_OPTS可以设置参数

    3. 单节点启动

    访问地址:http://172.18.63.211:9200

    插件安装

    安装ik 分词器

    下载对应的版本:elasticsearch-analysis-ik

    为什么安装IK,轻量级。配置好词库也是可以用来中文分词,HanLP重量级,内置算法较多,不适合单独分词使用。

    # 离线安装,下载对应插件zip
    # https://github.com/medcl/elasticsearch-analysis-ik
    docker cp /opt/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/opt
    docker exec -it elasticsearch bash
    cd plugins/
    mkdir analysis-ik
    unzip -d /usr/share/elasticsearch/plugins/analysis-ik/ /opt/elasticsearch-analysis-ik-7.6.2.zip 
    exit
    docker restart elasticsearch

    自定义词库

    自定义字典

    远程词库

    常用维护命令

    # 查看所有索引信息
    GET /_cat/indices?pretty
    # 节点监控
    GET /_cat/health?pretty
    # 安装了哪些插件
    GET _cat/plugins

    其他命令在用的时候再次整理,本文主要讲安装和部署。

    监控和开发工具Kibana

    Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。

    我们的服务器IP是172.18.63.211

    docker run --restart=always --link elasticsearch:elasticsearch --name kibana -p 5601:5601 -d kibana:7.6.2

    进入容器修改配置文件kibana.yml

    docker exec -it kibana bash
    vi config/kibana.yml
    ########################
    # 指定es的地址
    elasticsearch.hosts: ["http://172.18.63.211:9200"]
    # 中文化
    i18n.locale: "zh-CN"
    # 修改外网访问 可选
    server.host: "0.0.0.0"
    exit
    ########################
    docker restart kibana

    打开地址:http://172.18.63.211:5601

    测试分词工具

    POST _analyze
    {
     "text": "检测甘蓝型油菜抗磺酰脲类除草剂基因BnALS3R的引物与应用",
     "analyzer": "hanlp"
    }

    新增索引库

    PUT achievement
    {
     "settings": {
     "number_of_shards": 1,
     "number_of_replicas": 1
     }
    }
    
    PUT achievement/_mapping
    {
     "properties": {
     "id": {
      "type": "text"
     },
     "owner": {
      "type": "text"
     },
     "title": {
      "type": "text",
      "analyzer": "hanlp"
     },
     "description": {
      "type": "text",
      "analyzer": "hanlp"
     },
     "update_time":{
      "type": "date"
     }
     }
    }
    
    

    数据同步Logstash

    用于收集、解析和转换日志,同步数据等。

    安装

    docker pull logstash:7.5.0

    配置文件目录

    mkdir -p /usr/local/logstash/config
    cd /usr/local/logstash/config
    touch logstash.yml
    vi log4j2.properties
    #####添加以下内容
    logger.elasticsearchoutput.name = logstash.outputs.elasticsearch
    logger.elasticsearchoutput.level = debug
    #####
    vi pipelines.yml
    ####
    - pipeline.id: logstash-match
     path.config: "/usr/share/logstash/config/*.conf"
     pipeline.workers: 3
    ####

    同时需要将MySQL的驱动包放入配置文件中。

    再创建配置文件即可

    这里给一个例子,是定时同步mysql数据到es中的。*

    # logstash-mysql-es.conf
    input{
     jdbc{
     jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
     jdbc_connection_string => "jdbc:mysql://172.18.63.211:3306/open_intelligence?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
     jdbc_user => "docker"
     jdbc_password => "docker@12345"
     jdbc_paging_enabled => true
     jdbc_page_size => 10000
     jdbc_fetch_size => 10000
     connection_retry_attempts => 3
     connection_retry_attempts_wait_time => 1
     jdbc_pool_timeout => 5
     use_column_value => true
     tracking_column => "update_time"
     tracking_column_type => "timestamp"
     record_last_run => true
     last_run_metadata_path => "/usr/share/logstash/mysql/goods_achievement"
     statement => "select * from goods_achievement where update_time > :sql_last_value"
     schedule => "* */30 * * * *"
     }
    }
    
    filter{
     mutate {
     split => { "feature1" => ";" }
     }
     mutate {
     split => { "feature2" => ";" }
     }
     mutate {
     split => { "feature3" => ";" }
     }
    }
    
    output {
     elasticsearch {
     document_id => "%{id}"
     index => "goods_achievement"
     hosts => ["http://172.18.63.211:9200"]
     }
    }
    
    

    启动

    docker run -d -p 5044:5044 -p 9600:9600 -it \
    
    -e TZ=Asia/Shanghai \
    
    --name logstash --restart=always \
    
    -v /usr/local/logstash/config/:/usr/share/logstash/config/ \
    
    -v /usr/local/logstash/mysql/:/usr/share/logstash/mysql/ \
    
    --privileged=true \
    
    logstash:7.6.2

    如果报错了

    Error: com.mysql.cj.jdbc.Driver not loaded. :jdbc_driver_library is not set, are you sure you included the proper driver client libraries in your classpath?

    可以尝试将驱动器即mysql-connector-java-xxxx-bin.jar拷贝到 logstash目录\logstash-core\lib\jars 下

    如:

    cd /usr/local/logstash/config

    docker cp mysql-connector-java-8.0.17.jar logstash:/usr/share/logstash/logstash-core/lib/jars

    检测配置文件

    bin/logstash -f /usr/local/logstash/config/mysql-es-patent.conf -t

    完成,你可以进行开发了。

    以上这篇在Docker中安装Elasticsearch7.6.2的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    上一篇:解决Docker启动Elasticsearch7.x报错的问题
    下一篇:Docker 清理环境操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    在Docker中安装Elasticsearch7.6.2的教程 在,Docker,中,安装,Elasticsearch7.6.2,