在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的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • docker run之后状态总是Exited

    add -it docker run -it -name test -d nginx:latest /bin/bash -d: 后台运行容器,并返回容器ID: -i: 以交互模式运行容器,通常与 -t 同时使用: -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用: 补充知识:docker-compose 通过sh命令启动nginx 容器自动退出exited with code 0 docker-compose使用的模板文件中有通过entrypoint或者command参数设置容器启动

  • docker 报错 Exited (1) 4 minutes ago的原因分析

    docker 报错 1. 查看原因 docker logs nexus 2. 报错原因 OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e7000000, 419430400, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environmen

  • docker run 运行容器自动结束的解决

    今天遇到了用Dockerfile创建镜像,镜像运行后容器自动结束问题. 启动命令: docker run -d -p 8080:8080 -v /usr/local/tomcat7.0/logs:/usr/local/tomcat7.0/logs --name tomcatweb tomcat:7.0 运行以后用docker ps 发现docker 容器已经结束了 查找资料后发现 这个问题并不复杂 原因是应为:Docker容器后台运行,就必须有一个前台进程. 解决办法: 1.将运行进程发放入前台

  • docker容器状态的转换实现

    一 docker容器状态转换图 二 实战 [root@localhost ~]# docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 3 Server Version: 17.09.0-ce Storage Driver: overlay Backing Filesystem: xfs Supports d_type: false Logging Driver: json-file Cgroup Driver: cg

  • Docker 清理环境操作

    开始清理,需要慎重! 列出无用的卷 docker volume ls -qf dangling=true 清理无用的卷 docker volume rm $(docker volume ls -qf dangling=true) 清理无用的镜像 docker rmi $(docker images | grep '^<none>' | awk '{print $3}') 继续清理 docker system prune docker volume prune 以上足够使用,其他命令不要知道了!

  • 解决Docker启动Elasticsearch7.x报错的问题

    使用Docker run 命令 docker run -d -p 9200:9200 -p 9300:9300 --name 用户自定义名字 容器ID 会看到一串字符串,一般情况下我们会误以为它启动成功 我们执行docker ps -a是发现它自动退出了 使用docker logs -f 容器ID 查看日志发现: ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] li

  • 在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"

  • docker中安装quagga详细介绍

    openstack中的虚拟路由器项目占用资源太多,需要将虚拟路由器迁移到Docker中,觉得首先要解决几个问题. 1.如何集成docker到openstack中,这个问题openstack官方给了三种方案,基于nova,heat,和单独的容器项目 2.集成docker后的容器管理编排,决定采用K8S 3.是否可以将quagga装到docker中,打包成quagga镜像以供后边二次开发自动配置程序. 今天尝试在docker中安装quagga,并自动开启zebra,ripd,ospfd,bgpdz进

  • 在docker中安装mysql详解

    在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器,建议可以创建一个包含常用工具的便于自己使用的基本镜像,比如:包含vim.net-tools.添加阿里云镜像 1.安装编译环境 需要gcc.cmake等环经,因为使用ubuntu的官方源较慢,所以要添加阿里云的源,但是注意,不要覆盖原来ubuntu的源,将阿里云的源放在/etc/apt/source

  • ubuntu下在docker中安装mysql5.6 的方法

    1.安装mysql5.6 docker run mysql:5.6 等所有项目都是Download complet 安装完毕 5.6: Pulling from library/mysql 10a267c67f42: Pull complete c2dcc7bb2a88: Pull complete 17e7a0445698: Pull complete 9a61839a176f: Pull complete d4657fda01d9: Pull complete c5278a445e5d: P

  • 最详细的docker中安装并配置redis(图文详解)

    一.找到一个合适的docker的redis的版本 可以去docker hub中去找一下 https://hub.docker.com/_/redis?tab=tags 二.使用docker安装redis sudo docker pull redis 安装好之后使用docker images即可查看 truedei@truedei:~$ truedei@truedei:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis

  • Docker中搭建FastDFS文件系统(多图教程)

    关于FastDFS FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等. 外话:FastDFS 是阿里余庆大神做的一个个人项目,从2008年研发FastDFS开源至今,在一些互联网创业公司中备受推崇,GitHub开源地址:https://github.com/happyfish100/fastdfs 本文基于Docker搭建,以下是正文内容: 1

  • centos7中安装python3.6.4的教程

    Python3.6.4官方版是一款在适合开发人员使用的windows系统上运行的脚本语言工具,Python3.6.4官方版是目前程序设计从业者必学的语言之一.我们可以通过python平台来获取到所有程序软件的源代码,而且你还可以直接将这些代码改变成为其他不同的语言,从而是程序的模块更为清楚. 功能介绍 1.Python3.6.4官方版采用最简单易懂的语言,让用户快速了解 2.Python3.6.4官方版提供多个模块,并且对程序进行分层处理 3.能够自动处理程序里的各种异常错误 4.可以在电脑上作

  • win10下虚拟机中安装Mac系统的图文教程

    一.下载虚拟机15.5.1版本 我从官网上直接下载的最新版这样在安装Mac10.14和Catalina都行,之前用的15.0的版本安装Catalina是失败的.安装VM,等待安装完成. 二.下载Unlocker3.0 Unlocker是对虚拟机进行解锁的一款工具,不进行解锁是找不到Mac安装选项的.运行win-install等待完成就可以了. 三.安装Mac系统 此过程就直接上图了: 四.安装tools tools是VM的扩展文件可以实现虚拟机中系统全屏,与物理机间文件拖拽. 接下来,双击"安装

  • Deepin中安装与使用virtualenv的教程

    virtualenv是一个用来创建隔离的python虚拟环境的工具.它可以在一个独立的目录创建自己的python环境,使用virtualenv运行的程序,并不会访问全局的python环境,也不会访问不属于自己目录的python环境,这样就可以起到隔离python环境的作用. 安装virtualenv 在开发Python应用程序的时候,所有第三方的包都会被pip安装到Python的site-packages目录下.且只能安装一个版本,因此,如果我们要同时开发多个应用程序,这些应用程序都共用一个Py

  • 在PyCharm中安装Mongo Plugin的详细教程

    由于我用的pycharm是最新的,所以按照网上的教程是有些出入的. 下面我将抄一下教程,再补充一些图. 在pycharm中: File>>>settings>>>plugins >>>查看全部再选择mongo plugins(图1)>>>安装之后会重启 >>>重启之后,点左下角有个页面重叠的图标,点击mongo explorer(图2) >>>点击右上角的"工具"图标 >&

随机推荐