【运维笔记】Docker 安装elasticsearch-7.4.0(在线Docker版)

news/2024/7/7 5:50:20 标签: 运维, docker, elasticsearch

一、准备工作:

  • Centos 7.5 安装elasticsearch-7.4.0(离线压安装传送链接):https://blog.csdn.net/seesun2012/article/details/124684107
  • Centos 7.5 安装 Docker-24.0.6 详细步骤(避坑版): https://blog.csdn.net/seesun2012/article/details/133674191
  • 注意1:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo
  • 注意2:本文所有需要执行的linux命令均在[root@localhost /]# 结尾之后,除此之外均为执行后的提示,阅读作者的所有文章雷同
  • 注意3:系统环境为CentOS 7.5,linux内核为3.10.0-862.el7.x86_64
  • Docker版本 :24.0.6

二、验证环境:

  • 更新yum插件,命令:
    [root@localhost /]# yum update
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.riken.jp
     * extras: mirror.lzu.edu.cn
     * updates: mirrors.bupt.edu.cn
    No packages marked for update
    
  • 验证Java是否安装成功,命令(jdk1.8以上即可):
    [root@localhost /]# java -version
    java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
    
  • 安装Java,命令(已安装Java环境可忽略):
    [root@localhost /]# yum install java-1.8.0-openjdk
    
  • 验证Docker是否已安装,命令(显示:Version: xx.x.x表示安装成功):
    [root@localhost ~]# docker version
    
    安装最新版的docker可能导致部分系统不兼容,可以安装早些的版本

三、验证ElasticSearch 是否 已安装 & 移除(选择执行):

  • 查询Docker中所有镜像,命令:

    [root@localhost /]# docker images
    REPOSITORY      TAG       IMAGE ID           CREATED           SIZE
    elasticsearch   7.4.0     dd156dd42341       4 years ago       859MB
    

    备注:IMAGE ID为镜像id,REPOSITORY为镜像名称,TAG为容器版本号,即表示elasticsearch xx.xx.xx已拉取

  • 查询Docker中正在运行的所有容器,命令:

    [root@localhost /]# docker ps -a
    CONTAINER ID   IMAGE                 COMMAND          CREATED         STATUS                PORTS               NAMES
    a8d2e53ff244   elasticsearch:7.4.0   "/usr/local/bin/dock…"   8 seconds ago   Restarting (1) 1 second ago   elasticsearch
    
  • 停止Docker中指定的容器,命令(公式:docker stop [NAMES]):

    [root@localhost /]# docker stop elasticsearch
    

    Docker容器状态:
        Restarting:运行中
        Exited:已停止

  • 删除Docker指定容器,命令(公式:docker rm [NAMES]):

    [root@localhost /]# docker rm elasticsearch
    
  • 删除Docker指定镜像,命令(公式:docker rmi [IMAGE ID]):

    [root@localhost /]# docker rmi dd156dd42341
    

四、部署ElasticSearch:

  • 拉取elasticsearch:7.4.0远程仓库镜像,命令(如下所示即为成功):

    [root@localhost /]# docker pull elasticsearch:7.4.0
    7.4.0: Pulling from library/elasticsearch
    d8d02d457314: Pull complete 
    a0fe4757966a: Pull complete 
    af323c430ce5: Pull complete 
    2a71ef3bd98b: Pull complete 
    c56e1e386724: Pull complete 
    1e56fdd350c5: Pull complete 
    16d320661b98: Pull complete 
    Digest: sha256:6765d5089eec04e1cc71c7020c15a553c6aa3845bed03c13aea59005ae011110
    Status: Downloaded newer image for elasticsearch:7.4.0
    docker.io/library/elasticsearch:7.4.0
    
  • 创建需要挂载的文件目录与配置文件信息:

    [root@localhost /]# mkdir -p /opt/elasticsearch/config
    [root@localhost /]# mkdir -p /opt/elasticsearch/data
    [root@localhost /]# echo "http.host: 0.0.0.0" >/opt/elasticsearch/config/elasticsearch.yml
    [root@localhost /]# chmod -R 777 /opt/elasticsearch/
    

    备注:echo "http.host: 0.0.0.0" >/opt/elasticsearch/config/elasticsearch.yml为设置外网访问权限命令

  • 启动elasticsearch:7.4.0容器,命令:

    [root@localhost /]# docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /opt/elasticsearch/data:/usr/share/elasticsearch/data -v  /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.0
    2037a7aed2a1a121815faf73df0613df87761defbd7889d6e5a8e4f8c86ce619
    [root@localhost /]#
    

    备注1:启动命令 --name elasticsearch 处,名称可以自定义
    备注2:命令开启了两个端口,9200:9200:左边代表linux服务器对外暴露的端口,右边代表docker容器内端口,es默认端口9200

  • 使用curl命令访问elasticsearch网页,验证是否启动成功,以下为访问成功返回结果:

    [root@localhost /]# curl http://192.168.11.40:9200/
    {
      "name" : "2037a7aed2a1",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "kRkYvQa9Q-GExIW4cYKdcg",
      "version" : {
        "number" : "7.4.0",
        "build_flavor" : "default",
        "build_type" : "docker",
        "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
        "build_date" : "2019-09-27T08:36:48.569419Z",
        "build_snapshot" : false,
        "lucene_version" : "8.2.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    

五、测试Elasticsearch自带分词器,curl请求命令如下:

[root@localhost /]# curl --location --request POST 'http://192.168.11.40:9200/_analyze' \
> --header 'Content-Type: application/json' \
> --data-raw '{
>     "analyzer":"standard",
>     "text":"ES hello world"
> }'
{
    "tokens":[
        {
            "token":"es",
            "start_offset":0,
            "end_offset":2,
            "type":"<ALPHANUM>",
            "position":0
        },
        {
            "token":"hello",
            "start_offset":3,
            "end_offset":8,
            "type":"<ALPHANUM>",
            "position":1
        },
        {
            "token":"world",
            "start_offset":9,
            "end_offset":14,
            "type":"<ALPHANUM>",
            "position":2
        }
    ]
}

备注:执行以上curl请求,如果报错提示没有--data-raw方法,将--data-raw换成--data即可,这是由于curl版本过低导致

六、参考文献:

  • 使用Docker安装ElasticSearch和可视化界面Kibana【图文教学】:https://developer.aliyun.com/article/1103116
  • centos7使用Docker安装ElasticSearch7.4.0:https://blog.csdn.net/heima005/article/details/127054352

http://www.niftyadmin.cn/n/5074949.html

相关文章

【快速入门】JVM之类加载机制与Native

感慨&#xff1a; 如何定义一个合格的Java程序员&#xff0c;Java程序员要了解掌握哪些知识点&#xff0c;网上的面试题太多了&#xff0c;后端需要了解掌握的知识点太多太多了&#xff0c;Java基础、数据结构、异常、多线程、Spring、Spring boot、事务、算法、数据库&#xf…

C++开发学习笔记3

C 中枚举的使用 在C中&#xff0c;枚举常量&#xff08;Enumeration Constants&#xff09;是一种定义命名常量的方式。枚举类型允许我们为一组相关的常量赋予有意义的名称&#xff0c;并将它们作为一个独立的类型来使用。 以下是定义和使用枚举常量的示例&#xff1a; enum…

雪莱的式子武汉2023(分析+快速幂)

传送门&#xff1a;登录—专业IT笔试面试备考平台_牛客网 思路&#xff1a; 对于每一种质因子&#xff0c;如果他在μ&#xff08;&#xff09;函数中出现两次&#xff0c;那这种情况对答案贡献为0&#xff0c;所以我们可以只讨论每一种因子出现0&#xff0c;1次的情况。 对于…

typora 文字颜色设置 和 高亮

高亮 修改高亮字体的样式和添加快捷键 https://www.freesion.com/article/23721444731/ 改变颜色 Typora之 如何改变字体颜色 https://www.cnblogs.com/sabertobih/p/13998669.html **$\textcolor{red}{这里输入你要改变颜色的文字} $**11 **$\textcolor{GreenYellow}{Gre…

五.docker+jenkins自动部署项目

一.敏捷开发相关概念 1.微服务的痛点 再来看一下我们的微服务架构 &#xff0c; 每个组件都需要服务器去部署&#xff0c;加起来可能需要几十个甚至上百个服务器。这样的微服务项目在部署上会遇到什么问题&#xff1f; 需要很多很多的服务器&#xff0c;服务器的采购安装&am…

探索未来绘画:AI 的视觉创造力 | 开源专题 No.30

这一系列开源项目代表了开源社区在图像处理和创造性媒体生成方面的突出成就。它们的共同特点在于&#xff0c;它们都致力于提供出色的用户体验&#xff0c;让用户能够轻松实现复杂的图像处理和生成任务。这些项目坚守着开放源代码的理念&#xff0c;通过活跃的社区支持和高度灵…

模板中的依赖类型使用 --- typename

依赖类型&#xff0c;顾名思义就是依赖于模板参数的类型&#xff0c;在使用这种类型时&#xff0c;必须使用 typename&#xff0c;否则编译器是无法知道是在使用类型&#xff0c;还是类的成员&#xff08;因为类的静态成员的使用方法也是T::xxx&#xff0c;这跟某个类中的类型的…

获取西华大学新闻网站信息(爬虫样例)

利用python的爬虫功能进行信息爬取&#xff0c;关键在于源码分析&#xff0c;代码相对简单。 1 源代码分析 访问网站&#xff0c;按下F12&#xff0c;进行元素查找分析。 2 代码实现 from requests import get from bs4 import BeautifulSoupdef getXhuNews(pageNum1):&qu…