ElasticSearchDocker搭建
安装前需要设置修改文件句柄数 vm.max_map_count=262144不然无法正常启动es
永久修改办法 vi /etc/sysctl.conf 在末尾加上 vm.max_map_count=262144
1.准备ElasticSearch配置文件 elasticsearch.yml
# ================= Elasticsearch Configuration ===================
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: elasticsearch_cluster
# 节点名称
node.name: esnode1
# 指定该节点是否有资格被选举成为node
node.master: true
cluster.initial_master_nodes: ["esnode1","esnode2","esnode3"]
#此设置防止脑裂问题,在线节点最少多少个才会选举出新的master.一般为节点数量/2+1(PS:节点数量为6那么就是6/2+1=4)
discovery.zen.minimum_master_nodes: 1
# 指定该节点是否存储索引数据,默认为true。
node.data: true
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip
network.host: 10.0.5.9
network.bind_host: 10.0.5.9
#如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
2.下载ik分词器
2.1 IK分词器下载 下载zip包
2.2 新建IK文件夹,然后将下载下来的zip包解压缩到IK文件夹,如下图
3.配置docker-compose
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
container_name: es01
environment:
- node.name=esnode1
- cluster.name=es-docker-cluster
- discovery.seed_hosts=esnode2,esnode3
- cluster.initial_master_nodes=esnode1
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/Elasticsearch/data:/usr/share/elasticsearch/data
- /home/Elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /home/Elasticsearch/plugins/:/usr/share/elasticsearch/plugins/
ports:
- 9200:9200
network_mode: host