在Docker中安装Elasticsearch7.6.2的教程

 更新时间:2020年11月19日 09:58:14   作者:Why Coding  
这篇文章主要介绍了在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-compose中启动镜像失败的几种解决方法

    docker-compose中启动镜像失败的几种解决方法

    本文主要介绍了docker-compose中启动镜像失败的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker Machine深入学习

    Docker Machine深入学习

    Docker与Docker Machine 的区别?又如当我们执行docker-machine create命令时,Docker Machine都做了些什么?这篇文章都会告诉大家,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker深度清除镜像缓存overlay2的实现

    Docker深度清除镜像缓存overlay2的实现

    维清理镜像是通过命令 docker rm i 删除镜像的,但是这条命令不会删除docker build命令产生的缓存文件,本文主要介绍了Docker深度清除镜像缓存overlay2的实现,感兴趣的可以了解一下
    2023-12-12
  • 详解如何将docker快速升级到最新版本

    详解如何将docker快速升级到最新版本

    最近在对区块链浏览器调优,该区块链浏览器就是使用docker部署的微服务,在一台新的服务器上启动时报错,发现是docker版本过低,所以本文给大家介绍了将docker快速升级到最新版本的方法,需要的朋友可以参考下
    2024-02-02
  • 在Docker中安装OnlyOffice的详细过程记录

    在Docker中安装OnlyOffice的详细过程记录

    OnlyOffice是一款免费且开源的Office协作办公套件,支持桌面端和移动端等多平台,下面这篇文章主要给大家介绍了关于如何在Docker中安装OnlyOffice的详细过程记录,需要的朋友可以参考下
    2024-01-01
  • Docker部署FastDFS的实现方法

    Docker部署FastDFS的实现方法

    这篇文章主要介绍了Docker部署FastDFS的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Docker容器监控及日志管理实现过程解析

    Docker容器监控及日志管理实现过程解析

    这篇文章主要介绍了Docker容器监控及日志管理实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 详解Docker在哪里保存日志文件

    详解Docker在哪里保存日志文件

    本文主要介绍了Docker在哪里保存日志文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Docker中容器数据卷详解

    Docker中容器数据卷详解

    这篇文章主要介绍了Docker中容器数据卷详解的相关资料,需要的朋友可以参考下
    2022-11-11
  • 基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    这篇文章主要介绍了基于jib-maven-plugin快速构建微服务docker镜像的方法,对于 Java 程序来说使用 jib-maven-plugin 插件来构建镜像还是非常方便的,本文通过实例代码详细讲解,需要的朋友可以参考下
    2023-02-02

最新评论