• 使用docker安装elasticsearch 7.4.2


    docker安装elasticsearch及使用

    elasticsearch的安装

    拉取镜像

    第一步要下载elasticsearch的镜像以及可视化工具

    #  镜像
    docker pull elasticsearch:7.4.2
    # 可视化工具
    docker pull kibana:7.4.2
    
    • 1
    • 2
    • 3
    • 4

    创建实例

    在外部主机创建文件夹用于es目录挂载

    # 配置文件目录
    mkdir -p /mydata/elasticsearch/config
    
    # 数据文件目录
    mkdir -p /mydata/elasticsearch/data
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建配置文件,表示es允许任何的远程的主机访问

    echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
    
    • 1

    启动es实例

    docker run --name elasticsearch -p 9200:9200 -p 9300:9300  --privileged=true 
    
    • 1

    -e “discovery.type=single-node”
    -e ES_JAVA_OPTS=“-Xms64m -Xmx128m”
    -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
    -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    -d elasticsearch:7.4.2

    参数说明:
    –name 为es实例起名字
    -p 端口映射 9200:9200 冒号左边的端口号是主机端口,右边的端口号是docker容器端口,切忌千万不要弄反了,9200是向es发送http请求的端口,9300是分布式集群下es节点之间通信的端口
    discovery.type=single-node 以单节点模式运行
    ES_JAVA_OPTS 指定运行内存,初始64m,最大128m
    -v 挂载 : 左边是主机目录 ,右边是docer实例内部目录
    -d 后台运行容器
    –privileged=true 在文件挂载时出现
    nested: AccessDeniedException[/usr/share/elasticsearch/config/elasticsearch.yml];
    说明 权限不够,可以加上这个参数

    注意: 在测试环境下一定要设置-e ES_JAVA_OPTS=“-Xms64m -Xmx128m”,设置es的初始的内存和最大内存,否则可能es占用内存过大,造成启动不了es

    启动出现
    ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];
    等说明权限不够
    查看文件权限
    在这里插入图片描述
    其它用户只有 r可读,x可执行的权限,没有w写的权限
    修改权限
    将mydata/elasticsearch/目录下所有文件修改为可读可写可执行

    chmod -R 777 /mydata/elasticsearch/
    
    • 1

    在这里插入图片描述
    再启动es
    **
    docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint elasticsearch
    **
    在这里插入图片描述
    报错原因:
    docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
    重启docker服务及可重新生成自定义链DOCKER

    解决:
    重启docker服务后再启动容器

    systemctl restart docker
    docker start elasticsearch
    
    • 1
    • 2

    稍等片刻后,访问es
    在这里插入图片描述

    安装kibana

    docker run --name kibana --privileged=true 
    
    • 1

    -e ELASTICSEARCH_HOSTS=http://192.168.126.20:9200 -p 5601:5601
    -d kibana:7.4.2

    有需要的话可以加上下面的目录挂载
    -v /mydata/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
    稍等片刻
    在这里插入图片描述
    出现上图说明kibana已经启动成功

    安装IK分词器

    ik分词器的版本要和elasticsearch的版本对应
    在安装elasticsearch时将plusgin文件夹映射到主机上

    cd /mydata/elasticsearch/plugins/
    wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
    
    • 1
    • 2

    解压

    unzip elasticsearch-analysis-ik-7.4.2.zip -d ik7.4.2
    
    • 1

    删除压缩包

    rm -rf *.zip
    
    • 1

    修改权限

    chmod -R 777 ik7.4.2/
    
    • 1

    重启es

    docker restart elasticsearch
    
    • 1
  • 相关阅读:
    牛客 ( 计算几何
    Unity的AssetPostprocessor之Model:深入解析与实用案例 1
    SpringBoot图片文件上传
    C++ 测试框架 Gtest学习——qt版本
    互换性与技术测量知识点
    游戏专用....
    虚幻引擎:C++网络属性同步
    c语言案例03-流程控制-if语句
    为什么2022年秋招嵌入式开发岗位薪资大涨?
    gpio内部结构(一)
  • 原文地址:https://blog.csdn.net/m0_67403013/article/details/126553645