ElasticSearch安装与集群部署
很多小伙伴第一次接触ElasticSearch的时候是一脸愁容,这个东西他怎么用啊,不知道从哪里安装,那我们今天就着重从哪里下载?怎么下载?怎么安装?来研究一下吧!
windows下载安装ElasticSearch
下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-12-1
1、解压
2、修改配置文件elasticsearch.yml
network.host: 0.0.0.0
http.port: 9200
3、浏览器打开localhost:9200进行验证
【注意】如果9200端口被占用,可以换一个其他的端口
linux用docker容器化部署ElasticSearch
首先我们老办法,下载一个linux版本的ElasticSearch,然后上传到服务器
运行命令:
#导入数据
docker load -i es.tar
运行
修改系统参数,设置进程可以使用的虚拟内存的大小
vim /etc/sysctl.conf
添加一行:
vm.max_map_count=262144
然后执行sysctl -p
:
sysctl -p
# 输出这一行,则证明系统参数设置成功
vm.max_map_count = 262144
运行docker命令,部署单点es:
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
elasticsearch:7.12.1
命令解释:
- -e
"cluster.name=es-docker-cluster"
:设置集群名称 - -e
"http.host=0.0.0.0"
:监听的地址,可以外网访问 - -e
"ES_JAVA_OPTS=-Xms512m -Xmx512m"
:内存大小 - -e
"discovery.type=single-node"
:非集群模式 - -v
es-data:/usr/share/elasticsearch/data
:挂载逻辑卷,绑定es的数据目录 - -v
es-logs:/usr/share/elasticsearch/logs
:挂载逻辑卷,绑定es的日志目录 - -v
es-plugins:/usr/share/elasticsearch/plugins
:挂载逻辑卷,绑定es的插件目录 - –
privileged
:授予逻辑卷访问权 - –
network es-net
:加入一个名为es-net的网络中 - -
p 9200:9200
:端口映射配置
在浏览器中输入:http://你的地址:9200 即可看到elasticsearch的响应结果:
集群部署
部署es集群可以直接使用docker-compose来完成,不过要求你的Linux虚拟机至少有4G的内存空间
首先编写一个docker-compose文件,内容如下:
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
container_name: es01
environment:
- node.name=es01 #节点的名称
- cluster.name=es-docker-cluster # 集群的名称
- discovery.seed_hosts=es02,es03 # 其他节点的地址
- cluster.initial_master_nodes=es01,es02,es03 # 备选主节点列表
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge
Run docker-compose
to bring up the cluster:
docker-compose up -d