使用Docker运行Elasticsearch + Kibana + elasticsearch-head

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 使用Docker运行Elasticsearch + Kibana + elasticsearch-head

使用Docker运行Elasticsearch + Kibana + elasticsearch-head

运行Elasticsearch

拉取镜像

docker pull elasticsearch

服务器上创建相关目录

    mkdir /mnt/data/elasticsearch/config   
    mkdir /mnt/data/elasticsearch/data   
    mkdir /mnt/data/elasticsearch/plugins

其中config为配置文件,data为数据,plugins为相关插件。创建这些是为了之后启动容器时作为挂载目录。
运行容器前,写入elasticsearch.yml配置文件到config目录下:

echo "http.host: 0.0.0.0" >> /mnt/data/elasticsearch/config/elasticsearch.yml

数据挂载需要权限,需要设置data文件的权限为可读写:
chmod -R 777 /mnt/data/elasticsearch/data

创建并运行容器

docker run --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /mnt/data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/data/elasticsearch/data:/usr/share/elasticsearch/data -v /mnt/data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch   

-e "discovery.type=single-node" 设置为单节点
特别注意:
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES

启动时的常见错误:

  • max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

这里要设置系统sysctl.conf配置文件

    vim /etc/sysctl.conf
    结尾添加:
    vm.max_map_count=262144
    
    保存后执行如下指令 立即生效
    /sbin/sysctl -p
  • initial heap size [67108864] not equal to maximum heap size [134217728]; this can cause resize pauses
    这里要将-e ES_JAVA_OPTS="-Xms512m -Xmx512m"里的-Xms和-Xmx设置相等
  • the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
  • 这里要指定默认模式-e "discovery.type=single-node"

查看启动结果

登录ip:9200后显示类似下面的信息即为启动成功:

{
  "name" : "53e0c480dfad",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "xLlN6WtLT5yhK9GGS11ZtA",
  "version" : {
    "number" : "7.17.6",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "f65e9d338dc1d07b642e14a27f338990148ee5b6",
    "build_date" : "2022-08-23T11:08:48.893373482Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

运行kibana

docker pull kibana:7.17.6

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的IP地址:9200 -p 5601:5601 -d kibana:7.17.6
//docker run --name kibana -e ELASTICSEARCH_URL=http://自己的IP地址:9200 -p 5601:5601 -d kibana:7.17.6

进入容器修改相应内容
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: [ "http://自己的IP地址:9200" ]
i18n.locale: "Zh-CN"

然后访问页面
http://自己的IP地址:5601

运行elasticsearch-head

docker run --name=elasticsearch-head -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

成功后通过9100端口访问

elasticsearch使用docker运行实例,至此就搭建完了。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
16天前
|
安全 Linux Nacos
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
|
27天前
|
数据可视化 索引
elasticsearch head、kibana 安装和使用
elasticsearch head、kibana 安装和使用
|
1月前
|
Kubernetes 搜索推荐 Docker
K8S容器运行时弃用Docker转型Containerd
K8S容器运行时弃用Docker转型Containerd
72 0
|
2月前
|
存储 机器学习/深度学习 中间件
快速上手 Elasticsearch:Docker Compose 部署详解
本文介绍了如何使用Docker Compose快速搭建Elasticsearch学习环境。Elasticsearch是一款用于实时搜索和分析的分布式中间件,适用于多种场景,如搜索、日志分析、机器学习等。首先,创建docker网络,拉取最新版8.12.2镜像。接着,编写docker-compose.yml文件,配置单节点集群,设置端口映射、内存限制及数据卷挂载。然后,创建并配置数据卷目录,允许远程访问和跨域。最后,启动服务并验证,通过浏览器访问确认服务运行正常。本文为初学者提供了一个简便的Elasticsearch部署方法。
187 4
快速上手 Elasticsearch:Docker Compose 部署详解
|
2月前
|
前端开发 关系型数据库 MySQL
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
|
2月前
|
Oracle 关系型数据库 数据库
|
2月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
16天前
|
Docker 容器
docker 常用指令(启动,关闭,查看运行状态)
docker 常用指令(启动,关闭,查看运行状态)
14 1
|
20天前
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
|
23天前
|
Linux Docker 容器
使用Docker来安装ElasticSearch,并且配置ik分词器
使用Docker来安装ElasticSearch,并且配置ik分词器
32 0