赞
踩
为了方便本节将使用docker部署Elasticsearch
,以下简称es
。
Elasticsearch是一个开源的、分布式的、实时的搜索和分析引擎
可进行海量数据存储
和集群管理,具有强大的数据搜索、数据分析
能力
可用于网站搜索、日志管理、数据分析
等应用
使用关系型数据库比较:
关系型数据库 | elasticsearch |
---|---|
数据库 | 索引 |
表 | 类型(废弃) |
行 | 文档 |
列 | 字段 |
表结构 | 映射 |
本次实验为docker部署
下载es
镜像版本为7.17.20:
docker pull elasticsearch:7.17.20
在运行容器前,我们先根据官方指导进行一些配置优化:
vm.max_map_count
不低于262144
,分别进行永久生效和临时生效,这个参数含义是限制一个进程可以拥有的最大内存映射区域数。# grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144
# sysctl -w vm.max_map_count=262144
mkdir /esdata/data -p
chown 1000:1000 /esdata/data
chmod 775 /esdata/data
--ulimit nofile=65535:65535
swapoff -a
# 永久关闭则是修改/etc/fstab文件,讲涉及swap的行用#号注释
-e ES_JAVA_OPTS="-Xms1g -Xmx1g"
运行es容器:
docker run --ulimit nofile=65535:65535 -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -v /esdata/data/:/usr/share/elasticsearch/data/ elasticsearch:7.17.20
如果需要还可以将配置文件映射到本地,方法为:
your_config_dir/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
安装部分内容到此结束,接下来记录一下es的基数内容。
es使用elasticsearch.yml
文件作为配置文件
参数 | 功能 |
---|---|
集群相关参数 | |
cluster.name | 集群名称 |
discovery.seed_hosts | 指定集群节点用于节点发现 |
cluster.initial_master_nodes | 定义初始主节点名称列表 |
节点相关参数 | |
node.name | 节点名称 |
node.master | 是否允许节点成为主节点 |
node.data | 是否允许该节点存储数据 |
路径参数 | |
path.data | 数据存储路径 |
path.logs | 日志存储路径 |
网络参数 | |
network.host | 节点监听的IP地址 |
es设置堆大小配置文件jvm.options
参数 | 功能 |
---|---|
-Xms | 初始堆大小 |
-Xmx | 最大堆大小 |
es日志参数配置log4j2.properties
配置建议:
比如每个分片的大小为30GB,分片的数量为分片数量=数据总量/30GB
每个主分片都应该有副本,且存放在不同的节点,防止数据损坏。
比如有3个主分片,每个主分片有一个副本,可以这样写:
"number_of_shards": 3,
"number_of_replicas": 1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。