在Docker中安装Elasticsearch7.6.2的教程

 更新时间:2020年11月19日 10:36  
这篇文章主要介绍了在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 => "[email protected]"
 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部署confluence的完整步骤

    这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
  • 安装Docker Desktop报错WSL 2 installation is incomplete的问题(解决报错)

    这篇文章主要介绍了安装Docker Desktop报错WSL 2 installation is incomplete的问题,解决方法很简单只需我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开,需要的朋友可以参考下...2021-06-13
  • Java elasticSearch-api的具体操作步骤讲解

    这篇文章主要介绍了elasticSearch-api的具体操作步骤讲解,本文通过详细的步骤介绍和图文代码展示讲解了该项技术,需要的朋友可以参考下...2021-06-29
  • 关于Jenkins + Docker + ASP.NET Core自动化部署的问题(避免踩坑)

    这篇文章主要介绍了关于Jenkins + Docker + ASP.NET Core自动化部署的问题,本文给大家带来了docker安装方法及一些注意事项,内容有点小长,希望朋友们耐心看完,一定有收获...2021-05-14
  • Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤

    这篇文章主要介绍了Gogs+Jenkins+Docker 自动化部署.NetCore,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-06-29
  • Docker核心原理之 Cgroup详解

    cgroup的内核通过hook钩子来实现管理进程资源,提供了一个统一的接口,从单个进程的资源控制到操作系统层面的虚拟卡的过渡,今天通过本文给大家介绍Docker核心原理之 Cgroup详解,需要的朋友参考下吧...2021-07-07
  • Java elasticsearch安装以及部署教程

    这篇文章主要介绍了elasticsearch安装以及部署教程,内涵详细的图文展示与案例介绍,能够帮助你从0成功部署这个框架,需要的朋友可以参考下...2021-06-29
  • 简简单单使用Docker部署Confluence

    本文使用的环境是docker17版本,重点给大家讲解使用Docker部署Confluence的问题,本文给大家介绍的很好对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-06-11
  • Docker如何快速搭建LNMP环境(最新)

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。本文给大家分享机器学习的基础知识,docker搭建lnmp环境的步骤,感兴趣的朋友一起看看吧...2021-06-26
  • Docker安装ClickHouse并初始化数据测试

    clickhouse作为现在流行的数据分析数据库,非常热门,docker如何安装ClickHouse,很多朋友并不是很明白,今天小编抽空给大家分享一篇教程关于Docker安装ClickHouse并初始化数据测试的问题,一起看看吧...2021-06-26
  • docker容器内安装TensorRT的问题

    很多朋友在使用docker容器内安装TensorRT的时候,遇到一大堆棘手的问题,不知道怎么处理好了,今天小编就docker安装TensorRT的问题给大家详细介绍下,感兴趣的朋友一起看看吧...2021-05-17
  • Mac为docker和kubectl添加自动补全命令的方法

    很多朋友不太明白如何为docker和kubectl添加自动补全命令,本文通过一些示例给大家介绍kubectl基础概念及语法知识,需要的朋友参考下吧...2021-06-26
  • 基于Docker搭建ELK 日志系统的方法

    Beats,它是一个轻量级的日志收集处理工具(Agent),占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具,本文重点给大家介绍Docker 搭建 ELK 日志系统的方法,感兴趣的朋友一起看看吧...2021-05-24
  • docker+gitlab+jenkins从零搭建自动化部署

    通过几天的学习和自己的理解,整理了下Docker+Jenkins的自动部署教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-06-21
  • docker安装部署 onlyoffice的详细过程

    本文给大家分享docker安装部署 onlyoffice的详细过程,通过图文并茂实例相结合给大家分享安装Docker Desktop及如何进入BIOS设置CPU的虚拟化,感兴趣的朋友一起看看吧...2021-06-13
  • docker部署springboot和vue项目的实现步骤

    本文主要介绍了docker部署springboot和vue项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-06-27