使用Docker安装ElasticSearch

什么是ElasticSearch?

Elasticsearch是一个开源的分布式搜索和分析引擎,它被设计用于实时搜索、分析和存储大量数据。Elasticsearch构建在Apache Lucene搜索引擎库的基础上,提供了一个简单易用的RESTful API,可以对结构化和非结构化数据进行搜索、分析和探索。

要使用 Docker 安装 Elasticsearch,可以按照以下步骤进行操作:

1.拉取 Elasticsearch 镜像

执行以下命令从 Docker Hub 上拉取 Elasticsearch 镜像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.0

这里使用了 Elasticsearch 7.17.0 版本的官方镜像。

mkdir -p  /home/elasticsearch/data/ 
mkdir -p  /home/elasticsearch/config/
  1. 编写配置文件
   echo 'http.host: 0.0.0.0
   http.cors.enabled: true
   http.cors.allow-origin: "*" '>>/home/elasticsearch/config/elasticsearch.yml
  1. 修改文件夹权限
chmod -R 777 /home/elasticsearch/
ls -l # 查看文件权限
  1. 启动elasticseach镜像
   docker run --name elasticsearch -p 9200:9200 \
    -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
     -v /home/elasticsearch/config/elasticsearch.yml:/usr/shellare/elasticsearch/config/elasticsearch.yml \
    -v /home/elasticsearch/data:/usr/shellare/elasticsearch/data \
    -v /home/elasticsearch/plugins:/usr/shellare/elasticsearch/plugins \
    -d elasticsearch:7.9.2

接下来我们就是拿浏览器访问啦。

在浏览器上输入:服务器IP地址:9200

可能出现的问题:

  1. 启动成功,但是访问失败的话,查看一下安全组中映射端口是否已经打开。如果是本地虚拟机,可能与防火墙相关(我用的云服务器,没有测试,如果有问题,还是需要大家自行去百度||谷歌一下)。

  2. -e ES_JAVA_OPTS=“-Xms64m -Xmx128m”:配置内存大小出现了问题。

  3. 最后就还有可能是配置文件中出现了问题。

    echo 'http.host: 0.0.0.0
    http.cors.enabled: true
    http.cors.allow-origin: "*" '>>/home/elasticsearch/config/elasticsearch.yml
    

    http.host: 0.0.0.0 在冒号后面有一个空格的,这里的配置文件是yml格式,所以一定要严格按照yml格式来书写。

3.安装ik分词器

进入已经启动成功的elasticsearch容器。

docker exec -it elasticsearch /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip

ps: 安装的ik分词器的版本一定要与elasticsearch的版本保持一致

下载过程中如果遇到选择,直接输入 y回车就可以了。

下载完成之后,退出去,重新启动elasticsearch容器。

docker restart elasticsearch

测试ik分词器是否安装成功

安装完成后,我们再来进行测试遍,看看有什么样的变化。

postman post请求分词测试:http://服务器IP地址:9200/_analyze

{
	"tokenizer":"ik_smart",
	"text":"我爱技术"
}

结果

{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "爱",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "技术",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 2
        }
    ]
}

这将在后台运行 Elasticsearch 容器,并将容器的 9200 端口映射到主机的 9200 端口(用于 HTTP 访问 Elasticsearch API),将容器的 9300 端口映射到主机的 9300 端口(用于节点间通信)。

-e “discovery.type=single-node” 参数用于指定 Elasticsearch 的节点发现类型为单节点模式,适用于单节点部署。

3.验证 Elasticsearch 是否正常运行:

可以通过访问 http://localhost:9200(如果是在本地安装)或者 http://<your-ip>:9200(如果是在远程服务器安装)来验证 Elasticsearch 是否正常运行。你应该能够看到 Elasticsearch 的基本信息。

最后

现在,你已经在 Docker 中成功安装并运行了 Elasticsearch。你可以使用 Elasticsearch 的 RESTful API 来索引、搜索和分析数据。

本文为学习笔记,仅供学习和参考。

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Docker安装Elasticsearch的步骤: 1. 确保您已经安装DockerDocker Compose。如果您还没有安装,请按照官方文档进行安装。 2. 创建一个新的目录,例如`elasticsearch`,用于存储Elasticsearch配置和数据。 3. 在该目录中创建一个名为`docker-compose.yml`的文件,并将以下内容添加到该文件中: ``` version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.18.0 container_name: elasticsearch environment: - node.name=elasticsearch - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 volumes: - ./data:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 ``` 此文件定义了一个名为`elasticsearch`的Docker服务。我们使用7.18.0版本的Elasticsearch镜像,将容器命名为`elasticsearch`,并将环境变量设置为`node.name`和`discovery.type`以使其成为单节点集群。我们还将内存锁定限制设置为无限制,并将Elasticsearch数据存储在我们创建的名为`data`的本地目录中。最后,我们将容器的端口映射到主机的9200和9300端口,以便我们可以通过HTTP和Transport协议访问Elasticsearch。 4. 在终端中导航到`elasticsearch`目录,并运行以下命令以启动Elasticsearch服务: ``` docker-compose up -d ``` 这将使用我们在`docker-compose.yml`文件中定义的配置启动一个名为`elasticsearch`的Docker容器。 5. 要验证Elasticsearch是否正在运行,请运行以下命令: ``` curl -X GET "localhost:9200" ``` 如果您看到Elasticsearch的版本信息,则表示它已成功安装并正在运行。 现在您已经成功地使用Docker安装Elasticsearch,可以开始在其上构建应用程序或进行数据分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值