ElasticSearch部署
在本文中,我们将介绍如何使用 Docker-compose 在 Debian 11 上部署 ElasticSearch。
ElasticSearch是一个开源的搜索引擎,它可以帮助我们快速地搜索和分析大量数据。
步骤1:安装Docker和Docker-compose
在Debian 11上安装Docker和Docker-compose非常简单。我们可以使用以下命令来安装它们:
sudo apt-get updatesudo apt-get install docker.io docker-compose
步骤2:创建Docker-compose文件
我们需要创建一个Docker-compose文件来定义ElasticSearch容器的配置。在此示例中,我们将使用ElasticSearch 7.14.0版本。我们可以使用以下命令创建一个名为docker-compose.yml的文件:
version: '3'services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2container_name: elasticsearchenvironment:TZ: Asia/ShanghaiES_JAVA_OPTS: -Xmx512m -Xms512mdiscovery.type: single-nodeports:- 9200:9200- 9300:9300volumes:# 配置- ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro,z# 数据存储- ./data:/usr/share/elasticsearch/data:z
在上面的Docker-compose文件中,我们定义了一个名为elasticsearch的服务。我们使用ElasticSearch 8.6.2版本的官方Docker镜像。我们还定义了容器的名称,环境变量和端口映射。我们还映射了 ./data,它将用于持久化ElasticSearch数据。映射 ./config/elasticsearch.yml 用于自定义我们自己的配置
步骤3:启动ElasticSearch容器
我们可以使用以下命令启动ElasticSearch容器:
sudo docker-compose up -d
这将启动ElasticSearch容器并将其作为后台进程运行。我们可以使用以下命令检查容器是否正在运行:
sudo docker ps
步骤4:测试ElasticSearch
我们可以使用以下命令测试ElasticSearch是否正在运行:
curl http://localhost:9200
如果一切正常,您应该会看到类似于以下内容的输出:
{"name" : "elasticsearch","cluster_name" : "docker-cluster","cluster_uuid" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","version" : {"number" : "7.14.0","build_flavor" : "default","build_type" : "docker","build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1","build_date" : "2021-07-29T20:49:32.864135063Z","build_snapshot" : false,"lucene_version" : "8.9.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"}
这表明ElasticSearch正在运行并可以通过端口9200进行访问。
开启结巴分词插件
按照插件的仓库 elasticsearch-jieba-plugin 的步骤,下载或自行构建对应版本的插件,并放在 docker-compose.yaml 同目录下。
然后将 docker-compose.yaml 修改成如下:
version: '3'services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2container_name: elasticsearchenvironment:TZ: Asia/ShanghaiES_JAVA_OPTS: -Xmx512m -Xms512mdiscovery.type: single-nodeports:- 9200:9200- 9300:9300volumes:# 配置- ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro,z# 数据存储- ./data:/usr/share/elasticsearch/data:z# 分词插件- ./plugins/jieba:/usr/share/elasticsearch/plugins/jieba- ./plugins/jieba/dic/stopwords.txt:/usr/share/elasticsearch/config/stopwords/stopwords.txt