首页 > 其他分享 >Docker 构建 elasticsearch + kibana

Docker 构建 elasticsearch + kibana

时间:2023-05-02 18:11:31浏览次数:51  
标签:node true kibana cluster elasticsearch usr Docker local es

elasticsearch

环境准备

修改系统配置

cat >> /etc/sysctl.conf <<-'EOF'
net.ipv4.ip_forward=1
vm.max_map_count=655360
EOF

重新加载配置

sysctl -p && systemctl restart network

下载ik分词器

本次部署使用的是7.10.1版本,可在此处直接下载,其它版本请在github自行下载
将ik分词器解压后上传到/usr/local/ik

下载镜像

docker pull elasticsearch:7.10.1

部署单节点

准备ik分词器

将ik分词器解压后上传到用户目录下

mkdir -p /usr/local/es/plugins
cp -r /usr/local/ik /usr/local/es/plugins

创建容器

docker run -d \
-p 9200:9200 \
-p 9300:9300 \
--name=es \
--restart=always \
--privileged=true \
--network=my-network \
--network-alias=es-alias \
-e TZ=Asia/Shanghai \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/logs:/usr/share/elasticsearch/logs \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "cluster.name=docker-es" \
-e "node.name=docker-node" \
-e "network.host=0.0.0.0" \
-e "transport.tcp.port=9300" \
-e "http.port=9200" \
-e "discovery.type=single-node" \
-e "http.cors.enabled=true" \
-e "http.cors.allow-origin=*" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "TAKE_FILE_OWNERSHIP=true" \
elasticsearch:7.10.1
  • cluster.name:配置es集群名称
  • node.name:节点名称
  • network.host:绑定主机的ip地址,允许外网访问
  • transport.tcp.port:设置集群节点之间交互的tcp端口
  • http.port:设置http端口
  • discovery.type:单机模式
  • http.cors.enabled:开启cors跨域访问支持,默认为false
  • http.cors.allow-origin:跨域访问允许的域名地址:允许所有域名
  • ES_JAVA_OPTS=-Xms512m -Xmx512m:设置jvm占用内存大小

验证

访问目标ip加9200端口,出现es信息即部署成功
image

部署集群(一主二从)

准备ik分词器

mkdir -p /usr/local/es_cluster/node_1/plugins
cp -r /usr/local/ik /usr/local/es_cluster/node_1/plugins
mkdir -p /usr/local/es_cluster/node_2/plugins
cp -r /usr/local/ik /usr/local/es_cluster/node_2/plugins
mkdir -p /usr/local/es_cluster/node_3/plugins
cp -r /usr/local/ik /usr/local/es_cluster/node_3/plugins

创建容器

节点1

docker run -d \
-p 9201:9200 \
-p 9301:9300 \
--name=es_node_1 \
--restart=always \
--privileged=true \
--network=elk \
--network-alias=elk_node_1 \
-e TZ=Asia/Shanghai \
-v /usr/local/es_cluster/node_1/data:/usr/share/elasticsearch/data \
-v /usr/local/es_cluster/node_1/logs:/usr/share/elasticsearch/logs \
-v /usr/local/es_cluster/node_1/plugins:/usr/share/elasticsearch/plugins \
-e "cluster.name=docker-cluster" \
-e "node.name=node-1" \
-e "node.master=true" \
-e "node.data=true" \
-e "network.host=0.0.0.0" \
-e "transport.tcp.port=9300" \
-e "http.port=9200" \
-e "cluster.initial_master_nodes=node-1" \
-e "discovery.seed_hosts=172.24.102.95:9301,172.24.102.95.100:9302,172.24.102.95:9303" \
-e "gateway.auto_import_dangling_indices=true" \
-e "http.cors.enabled=true" \
-e "http.cors.allow-origin=*" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "TAKE_FILE_OWNERSHIP=true" \
elasticsearch:7.10.1
  • cluster.name:配置es集群名称
  • node.name:节点名称
  • node.master:是否可以成为master节点
  • node.data:是否允许该节点存储数据,默认开启
  • network.host:绑定主机的ip地址,允许外网访问
  • transport.tcp.port:设置集群节点之间交互的tcp端口
  • http.port:设置http端口
  • cluster.initial_master_nodes:设置哪些ES节点参与第一次master节点选举,其值可以是ES节点IP地址(如:192.168.1.100或192.168.1.100:9300),也可以是ES节点名称
  • discovery.seed_hosts:设置当前节点与哪些ES节点建立连接,其值可以是127.0.0.1
  • gateway.auto_import_dangling_indices:是否自动引入dangling索引,默认false
  • http.cors.enabled:开启cors跨域访问支持,默认为false
  • http.cors.allow-origin:跨域访问允许的域名地址:允许所有域名
  • ES_JAVA_OPTS=-Xms512m -Xmx512m:设置jvm占用内存大小
  • cluster.name:配置es集群名称

节点2

docker run -d \
-p 9202:9200 \
-p 9302:9300 \
--name=es_node_2 \
--restart=always \
--privileged=true \
--network=elk \
--network-alias=elk_node_2 \
-e TZ=Asia/Shanghai \
-v /usr/local/es_cluster/node_2/data:/usr/share/elasticsearch/data \
-v /usr/local/es_cluster/node_2/logs:/usr/share/elasticsearch/logs \
-v /usr/local/es_cluster/node_2/plugins:/usr/share/elasticsearch/plugins \
-e "cluster.name=docker-cluster" \
-e "node.name=node-2" \
-e "node.master=true" \
-e "node.data=true" \
-e "network.host=0.0.0.0" \
-e "transport.tcp.port=9300" \
-e "http.port=9200" \
-e "cluster.initial_master_nodes=node-1" \
-e "discovery.seed_hosts=172.24.102.95:9301,172.24.102.95.100:9302,172.24.102.95:9303" \
-e "gateway.auto_import_dangling_indices=true" \
-e "http.cors.enabled=true" \
-e "http.cors.allow-origin=*" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "TAKE_FILE_OWNERSHIP=true" \
elasticsearch:7.10.1

节点3

docker run -d \
-p 9203:9200 \
-p 9303:9300 \
--name=es_node_3 \
--restart=always \
--privileged=true \
--network=elk \
--network-alias=elk_node_2 \
-e TZ=Asia/Shanghai \
-v /usr/local/es_cluster/node_3/data:/usr/share/elasticsearch/data \
-v /usr/local/es_cluster/node_3/logs:/usr/share/elasticsearch/logs \
-v /usr/local/es_cluster/node_3/plugins:/usr/share/elasticsearch/plugins \
-e "cluster.name=docker-cluster" \
-e "node.name=node-3" \
-e "node.master=true" \
-e "node.data=true" \
-e "network.host=0.0.0.0" \
-e "transport.tcp.port=9300" \
-e "http.port=9200" \
-e "cluster.initial_master_nodes=node-1" \
-e "discovery.seed_hosts=172.24.102.95:9301,172.24.102.95.100:9302,172.24.102.95:9303" \
-e "gateway.auto_import_dangling_indices=true" \
-e "http.cors.enabled=true" \
-e "http.cors.allow-origin=*" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "TAKE_FILE_OWNERSHIP=true" \
elasticsearch:7.10.1

验证

访问es地址加端口号加/_cat/nodes,查看集群信息。名字前带星号的是主节点。
image

标签:node,true,kibana,cluster,elasticsearch,usr,Docker,local,es
From: https://www.cnblogs.com/revil/p/17367985.html

相关文章

  • docker安装node
     最新版的node镜像:  dockerpullnode:latest指定版本node镜像:  dockerpullnode:14运行容器: dockerrun-itd--namenode-testnode安装成功查看容器中node版本:dockerexec-itnode-test/bin/bashnode-v......
  • docker安装部署redis
    * Redis部署  redis版本需要5.0以上,参考docker安装:dockerpullredis:latest#创建redis配置目录mkdir-p/home/redis#下载redis.confwgethttp://download.redis.io/redis-stable/redis.conf#编辑redis.confviredis.conf----------配置文件----------------......
  • 安卓docker使用Alpine Term
    虽然Termux很强大,可以安装各种linux,但基于termux版linux还是不能运行Docker,需要Termux上装Qemu虚拟机,Qemu装alpinelinux,这个时候才是原汁原味的x86linux。幸运的是有人把Termux+Qemu+Alpine整合好了,名为alpine-term,开箱即用,安装一个apk打开就是配置完全的alpinelinux。下载......
  • 03 Docker高级实践
    第三章Docker高级实践目录第三章Docker高级实践一、Dockerfile1Dockerfile简介2Dockerfile快速入门3基础指令详解4运行时指令详解一、Dockerfile在这一部分我们来介绍一些Docker的高级内容:Dockerfile和Dockercompose。1Dockerfile简介什么是Dockerfile?类似于我......
  • 04 Docker内容补充
    第四章Docker内容补充目录第四章Docker内容补充0总结1迁移与备份1.0总结1.1容器保存为镜像1.2把镜像打包成压缩包1.3把压缩包恢复为镜像2Dockerfile【重要】2.1Dockerflie是什么?2.2Dockerfile指令:2.3写一个Dockerfile3docker-compose0总结1介绍docker -docker......
  • windows11 下使用 阿里云 modelscope docker 环境 运行参考
    昨天看视频我们做了个能对话的AI派蒙,免费给大家玩!发现阿里有一个语音转文字的模型(paraformer),之前处理这种需求一直都是直接调用服务商提供好的API接口突然想尝试一下本地搭建,虽然和直接调用API没啥区别(都不知道实现细节),但是这是本地化运行,可以在内网环境运行.因为平......
  • 02 Docker核心技术
    第二章:Docker核心技术目录第二章:Docker核心技术一、Docker镜像管理1镜像简介2搜索、查看、获取3重命名、删除4镜像导入、导出5镜像历史、详细信息、创建6小结二、Docker容器管理1容器简介2容器查看、创建、启动3暂停、取消暂停、重启4容器关闭、终止、删除5进入、退出......
  • 01 Docker基础
    第一章Docker基础目录第一章Docker基础一、Docker简介1Docker是什么?2为什么使用Docker?3Docker的架构与结构4官方资料5Docker特点5.1优点5.2缺点二、Docker快速入门1Docker历程2官方要求3Docker安装4Docker加速器5Docker其它简介5.1Docker的基本命令格式5.2删除Do......
  • ubuntu20安装docker、redis、mysql及部署net6应用
    一、更新系统软件包索引sudoaptupdate二、安装dockersudoaptinstalldocker.io三、在docker中安装Mysql拉取mysql镜像dockerpullmysql:latest查看镜像dockerpullmysql:latest运行容器dockerrun-itd-p3306:3306-eMYSQL_RO......
  • Dockerfile基础命令及简单应用
    Dockerfile从dockercommit的学习中,我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解......