相信你在看这篇文章之前或多或少了解过Elasticsearch相关内容,即便你没听说过,通过接下来的三篇系列文章也会让你对Elasticsearch有一个大概的认识,补全你对这部分内容的缺失或是加强你对这部分知识的一个巩固。
系列文章包含如下三篇:
本文作为系列文章的开篇,主要会介绍Elasticsearch的安装方式,俗话说的好,工欲善其事必先利其器。接下来会以不同的方式来介绍如何安装Elasticsearch,你可以选择自己喜欢的方式在本地进行安装。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.1-darwin-x86_64.tar.gz
tar -xvf elasticsearch-7.4.1-darwin-x86_64.tar.gz
cd elasticsearch-7.4.1/bin
./elasticsearch
Elasticsearch默认访问端口是9200,可以在浏览器中输入http://localhost:9200/进行访问
使用安装包的方式进行集群部署其实也很简单,你可以使用如下脚本来启动集群服务
#!/bin/bash
case $1 in
"start") {
/Users/pengli/software/middle-software/elasticsearch-7.4.1/bin/elasticsearch -E node.name=node0 -E cluster.name=elasticserch -E path.data=node0_data -d
/Users/pengli/software/middle-software/elasticsearch-7.4.1/bin/elasticsearch -E node.name=node1 -E cluster.name=elasticserch -E path.data=node1_data -d
/Users/pengli/software/middle-software/elasticsearch-7.4.1/bin/elasticsearch -E node.name=node2 -E cluster.name=elasticserch -E path.data=node2_data -d
/Users/pengli/software/middle-software/elasticsearch-7.4.1/bin/elasticsearch -E node.name=node3 -E cluster.name=elasticserch -E path.data=node3_data -d
echo "**********elasticsearch cluster start**********"
};;
esac
⚠️注意:请使用自己的安装路径替换如上脚本中的路径
docker search elasticsearch
docker pull elasticsearch:7.4.1
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.4.1
使用docker可以很方便的部署elasticsearch集群服务,只需要创建docker-compose.yml文件
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.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:
- /Users/pengli/software/docker/elasticsearch/data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.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:
- /Users/pengli/software/docker/elasticsearch/data02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.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:
- /Users/pengli/software/docker/elasticsearch/data03:/usr/share/elasticsearch/data
networks:
- elastic
networks:
elastic:
driver: bridge
如果你在使用docker部署elasticsearch集群服务中出现如下错误:java.net.UnknownHostException,那么请调大分配给docker的内存空间至4个G,官网给出的解决方案就是提升docker可用内存至4GB
在docker-compose.yml目录中执行docker-compose up -d
来启动集群服务
在docker-compose.yml目录中执行docker-compose down
来关闭集群服务
在浏览器中输入http://localhost:9200/_cat/nodes查看集群服务
今天带着你学习了使用不同的方式来安装elasticsearch,希望你看完之后可以自己动手实践,掌握这几种安装方式并体验成功的感觉。