docker搭建ELK

docker搭建ELK之一(elasticsearch)

  1. 安装elasticsearch
# 拉取镜像
docker pull elasticsearch:7.7.0

# 启动镜像(创建并启动容器)
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
# 参数说明
--name 表示镜像启动后的容器名称  

-d: 后台运行容器,并返回容器ID;

-e: 指定容器内的环境变量

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  1. 浏览器访问http://localhost:9200查看是否成功
curl localhost:9200
# 有以下信息表示启动成功
{
"name": "282bb0b9c293",
"cluster_name": "docker-cluster",
"cluster_uuid": "G2KCS7UiQLy0M3ChVaiwTA",
"version": {
"number": "7.7.0",
"build_flavor": "default",
"build_type": "docker",
"build_hash": "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date": "2020-05-12T02:01:37.602180Z",
"build_snapshot": false,
"lucene_version": "8.5.1",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
  1. 安装elasticsearch-head
# 拉取镜像
docker pull mobz/elasticsearch-head:5

# 创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

# 启动容器
docker start elasticsearch-head
or
docker start 容器id (docker ps -a 查看容器id )
  1. 浏览器打开http://localhost:9100查看是否成功
    在这里插入图片描述
  2. 尝试连接elasticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置
# 1.修改docker中elasticsearch的elasticsearch.yml文件

# 进入容器
docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)
# 设置别名方便一点(临时生效)
alias docker.es="docker exec -it elasticsearch bash"

# 或者修改配置文件(永久生效)
# mac配置别名的文件为.zshrc, linux为.bashrc
vim ~/.zshrc
# 正常模式输入G跳转到文件末尾 添加一行
alias docker.es="docker exec -it elasticsearch bash"
# 退出保存执行生效
source ~/.zshrc
# 修改文件
vi config/elasticsearch.yml

# 添加下面两行
http.cors.enabled: true 
http.cors.allow-origin: "*"

# 退出并重启容器
exit
docker restart elasticsearch
  1. elasticSearch-head 操作时不修改配置,默认会报 406错误码
# 2.修改docker中elasticsearch-head的vendor.js文件

# 容器外创建目录用于存放配置文件
mkdir -p ~/elk/elasticsearch/elasticsearch-head
# 复制vendor.js到外部
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js ~/elk/elasticsearch/elasticsearch-head/

# 修改vendor.js
vim vendor.js
编辑vendor.js共两处
①. 6886行
contentType: "application/x-www-form-urlencoded",
改成
contentType: "application/json;charset=UTF-8",
②. 7574行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
# 正常模式输入ngg跳转到第n行
# 修改完成后输入:进入命令行模式
# 输入wq保存并推出

# 复制回容器中
docker cp ~/elk/elasticsearch/elasticsearch-head/vendor.js  elasticsearch-head:/usr/src/app/_site

# 重启容器
docker restart elasticsearch-head
  1. 安装分词器
    https://blog.csdn.net/qq_40942490/article/details/111594267
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值