Docker 安装 ElasticSearch

Centos安装ElasticSearch

  1. 访问ElasticSearch中文社区下载ElasticSearch。 Centos则下载tar后缀
  2. wget下面地址 ElasticSearch 地址
  3. tar -zxvf elasticsearch-6.6.0.tar.gz解压文件
  4. 修改/etc/security/limits.conf文件
# 添加下方代码
# elastic-user  下面elastic为执行用户名
 elastic soft nofile 65536
 elastic hard nofile 65536
  1. 修改 /etc/sysctl.conf 文件
# 文件最后添加
vm.max_map_count = 262144
  1. 执行sysctl -p生效配置 加载进系统
  2. 修改elasticsearch根目录/config/elasticsearch.yml文件
    #这是集群名字,起名为elasticsearch
    #es启动后会将具有相同集群名字的节点放到一个集群下。
    cluster.name:  elasticsearch
    # 添加或修改
    node.name: node-1
    network.host: 0.0.0.0
    http.port: 9200
    cluster.initial_master_nodes: ["node-1"]
        
    
  3. 修改elasticsearch根目录/config/jvm.options文件
    -Xms1g  修改为  Xms256m
    -Xmx1g  修改为  Xmx256m
    
  4. 后台执行 ‘elasticseatch &’ 出现下述bug 表示不能使用root执行
java.lang.RuntimeException: can not run elasticsearch as root
  1. 添加并切换用户
#该用户相关配置在/etc/security/limits.conf配置了
useradd  elsearch 

#修改权限
chown -R elsearch:elsearch /usr/elasticsearch/elasticsearch-6.6.0/ 

 #切换用户
su elsearch

elasticsearch -d #后台执行elasticsearch

# 查看是否已执行
ps -ef | grep elasticsearch 

docker 运行

安装ES

# 拉取es镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.0

# 设置容器文件以及目录挂载

# 创建主目录并且进入该目录
mkdir /opt/elasticsearch
cd /opt/elasticsearch

# 创建data文件夹 并且授予777权限 可读可写
mkdir data
chmod 777 /opt/elasticsearch/data/

# 创建log文件夹 并且授予777权限 可读可写
mkdir log
chmod 777 /opt/elasticsearch/log/

# 创建elasticsearch.yml文件 配置相关信息 如下
touch elasticsearch.yml

# docker运行 指定name为es 后台运行 映射端口9200 9300
# 挂载 /opt/elasticsearch/elasticsearch.yml 到 /usr/share/elasticsearch/config/elasticsearch.yml
# 挂载/opt/elasticsearch/data/ 到 /usr/share/elasticsearch/data 
# 配置java内存参数 -Xms256m -Xmx256m
# 设置单机运行
docker run --name es  -d --restart=always  -p 9200:9200 -p 9300:9300 -v /opt/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /opt/elasticsearch/data/:/usr/share/elasticsearch/data  -e ES_JAVA_OPTS="-Xms128m -Xmx128m"  -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.0

elasticsearch.yml文件

#集群名
 
cluster.name: elasticsearch
 
#节点名
 
node.name: node-1
 
 
 
#设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0,
 
#指绑定这台机器的任何一个ip
 
network.bind_host: 0.0.0.0
 
#设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,
 
#值必须是个真实的ip地址 
 
network.publish_host: 真实IP
 
 
 
#设置对外服务的http端口,默认为9200
 
http.port: 9200
 
#设置节点之间交互的tcp端口,默认是9300
 
transport.tcp.port: 9300
 
 
 
#是否允许跨域REST请求
 
http.cors.enabled: true
 
#允许 REST 请求来自何处
 
http.cors.allow-origin: "*"
 
 
 
#节点角色设置
 
node.master: true
 
node.data: true
 
 
 
#有成为主节点资格的节点列表
 
discovery.zen.ping.unicast.hosts: ["真实IP:9300"]
 
#集群中一直正常运行的,有成为master节点资格的最少节点数(默认为1)
 
# (totalnumber of master-eligible nodes / 2 + 1)
 
discovery.zen.minimum_master_nodes: 1
 

安装ik分词器

在线安装

docker exec -it es /bin/bash

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip

本地安装

下载ik分词器

上传服务器

# 将压缩包移动到容器中
docker cp /root/elasticsearch-analysis-ik-6.6.0.zip es:/usr/share/elasticsearch/plugins

# 进入容器
docker exec -it es /bin/bash

# 创建目录
mkdir /usr/share/elasticsearch/plugins/ik

# 将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-6.6.0.zip /usr/share/elasticsearch/plugins/ik

# 进入目录
cd /usr/share/elasticsearch/plugins/ik

# 解压
unzip elasticsearch-analysis-ik-6.6.0.zip

# 删除压缩包
rm -rf elasticsearch-analysis-ik-6.6.0.zip

# 退出重启容器
exit
docker restart es

安装es-head

# 拉取es-head镜像
docker pull mobz/elasticsearch-head:5

# 后台运行es-head
docker run -d --name es-head --restart=always -p 9100:9100 docker.io/mobz/elasticsearch-head:5

安装Kibana

# 拉取kibana镜像
docker pull kibana:6.6.0

# 后台运行kibana 汉化
docker run --name kibana --restart=always -e ELASTICSEARCH_URL=http://IP:9200  -p 5601:5601 -d kibana:6.6.0

# 汉化

# 本地下载镜像 wget https://mirrors.yangxingzhen.com/kibana/Kibana_Hanization.tar.gz

# 本机解压
tar -zxvf Kibana_Hanization.tar.gz

# 拷贝到docker容器 kibana /opt目录下
docker cp Kibana_Hanization kibana:/opt

# 进入 kibana容器
docker exec -it kibana /bin/bash

# 进入拷贝文件的old目录下
cd /opt/Kibana_Hanization/old/

# 执行 pyton man.py kibana根目录 等下汉化结束
python main.py /opt/kibana/

# 本机重启容器 完成汉化
docker container restart kibana
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值