centos7在docker上安装es(elasticsearch)
Posted xzm_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7在docker上安装es(elasticsearch)相关的知识,希望对你有一定的参考价值。
因为需要部署kibana容器,因此需要让es和kibana容器互联
1.创建网络
docker network create es-net
2.将es的tar文件拉取到虚拟机中(因为es文件较大,不建议直接使用docker进行拉取)
没有es.tar文件的可以下载:
链接:https://pan.baidu.com/s/1eTdUKBY6U9-evh7mrSqmJA
提取码:ik8x
3.执行命令导入
# 导入数据
docker load -i es.tar
4.执行es的安装
docker run -d \\
--name es \\
-e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" \\
-e "discovery.type=single-node" \\
-v es-data:/usr/share/elasticsearch/data \\
-v es-plugins:/usr/share/elasticsearch/plugins \\
--privileged \\
--network es-net \\
-p 9200:9200 \\
-p 9300:9300 \\
elasticsearch:7.12.1
安装kibana
1.将kibana的tar文件拉取到虚拟机中(因为es文件较大,不建议直接使用docker进行拉取)
没有kibana.tar文件的可以下载:
链接:https://pan.baidu.com/s/1eTdUKBY6U9-evh7mrSqmJA
提取码:ik8x
2.执行命令导入
# 导入数据
docker load -i kibana.tar
3.运行命令
docker run -d \\
--name kibana \\
-e ELASTICSEARCH_HOSTS=http://es:9200 \\
--network=es-net \\
-p 5601:5601 \\
kibana:7.12.1
安装ik分词器
1.在线安装(不推荐,较慢)
# 进入容器内部
docker exec -it elasticsearch /bin/bash
# 在线下载并安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
#退出
exit
#重启容器
docker restart elasticsearch
2.离线安装
(1)查看数据卷目录
docker volume inspect es-plugins
(2)将ik分词器进行解压并放到所查看的目录中
(3)重启容器
# 4、重启容器
docker restart es
docker安装 es7.17.6+IK分词+Go elastic
1.下载docker 镜像
进入 Docker Hub 选择所需要的版本
docker pull elasticsearch:7.17.6
2.创建容器挂载目录及设置配置文件
mkdir -p /data/docker/es/config
mkdir -p /data/docker/es/data
mkdir -p /data/docker/es/plugins
创建 elasticsearch.yml 配置文件并更改权限
vi /data/docker/es/config/elasticsearch.yml
#配置yml文件
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
chmod -R 777 /data/docker/es
3.启动es容器并配置账户密码
启动es容器并且挂载设置目录
docker run --name es --restart=always -p 10012:9200 -p 10013:9300 \\
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \\
-v /data/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \\
-v /data/docker/es/data:/usr/share/elasticsearch/data \\
-v /data/docker/es/plugins:/usr/share/elasticsearch/plugins \\
-d elasticsearch:7.17.6
进入容器,配置账号密码
docker exec -it es /bin/bash
在 bin 目录 并修改密码,执行过程中 需要输入多次,请记录 后期需要使用该密码登录 es
./bin/elasticsearch-setup-passwords interactive
3.安装ik分词器
IK项目地址:https://github.com/medcl/elasticsearch-analysis-ik
首先需要说明的是,IK插件必须和 ElasticSearch 的版本一致,否则不兼容。
本系统采用的elasticsearch版本为7.17.6
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip
退出容器并重启es
docker restart es
打开浏览器 使用 用户名 :elastic 密码 : (自己设置的密码)
package main
import (
"context"
"fmt"
"github.com/olivere/elastic/v7"
"reflect"
)
type Content struct
Title string `json:"title"`
Author string `json:"author"`
Content string `json:"content"`
Status int `json:"status"`
func main()
// https://github.com/olivere/elastic/wiki/Configuration
client, err := elastic.NewClient(
elastic.SetURL("http://xxxxxxxxxxx:10012"),
elastic.SetBasicAuth("elastic", "password"),
elastic.SetSniff(false),
)
if err != nil
fmt.Println("错误信息", err)
panic(err)
content := ContentTitle: "标题title", Author: "李四", Content: "文体内容", Status: 2
do, err := client.Index().Index("t_content").BodyJson(content).Do(context.Background())
if err != nil
panic(err)
fmt.Printf("id %s , index %s, type %s", do.Id, do.Index, do.Type)
boolQ := elastic.NewBoolQuery()
boolQ.Must(elastic.NewMatchQuery("author", "李四"))
boolQ.Filter(elastic.NewRangeQuery("status").Gt(1))
res, err := client.Search().Index("t_content").Query(boolQ).Do(context.Background())
printEmployee(res, err)
//打印查询到的Employee
func printEmployee(res *elastic.SearchResult, err error)
if err != nil
print(err.Error())
return
var typ Content
for _, item := range res.Each(reflect.TypeOf(typ)) //从搜索结果中取数据的方法
t := item.(Content)
fmt.Printf("\\n%#v\\n", t)
以上是关于centos7在docker上安装es(elasticsearch)的主要内容,如果未能解决你的问题,请参考以下文章
docker安装 es7.17.6+IK分词+Go elastic
docker安装 es7.17.6+IK分词+Go elastic