docker18.06.3.ce-3.el7搭建elk7.8.1
安装elasticsearch7.8.1
1.拉取镜像
docker pull elasticsearch7.8.1
2.启动参数命令介绍(单节点使用,可随便看看,主要是第3,4步)
-e "discovery.type=single-node" \ 单节点集群
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ 制定运行参数,不然机器内存太小,启动后会非常卡顿
--name 起个别名
3.配置文件映射
**在自己目录新建四个做映射的文件夹,如:**
3.1
/usr/share/es/data
/usr/share/es/logs
/usr/share/es/plugins
/usr/share/es/config
在 usr/share/es/config目录中新建elasticsearch.yml文件,添加内容
http.host: 0.0.0.0 ---配置外网范围
3.2
**对文件夹授权:**
chmod -R 775 /dockerfile/elasticsearch/data
chmod -R 775 /dockerfile/elasticsearch/logs
chmod -R 775 /dockerfile/elasticsearch/plugins
4.启动容器最终参数:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --name es7.8 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /usr/share/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/share/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/share/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.8.1
安装分词器
进入容器
docker exec -it 容器id /bin/bash
在里面执行:
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.1/elasticsearch-analysis-ik-7.8.1.zip
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.8.1/elasticsearch-analysis-pinyin-7.8.1.zip
安装kibana
拉取镜像:
kibana版本必须和elasticsearch版本保持一致
docker pull kibana:7.8.0
启动容器:
docker run --link es7.8(你的es容器name):elasticsearch -p 5601:5601 -d kibana:7.8.0
安装logstash
拉取镜像:
docker pull logstash7.8.1
拷贝配置文件:
mkdir -p /usr/share/logstash
docker cp logstash:/usr/share/logstash/config /usr/share/logstash/
docker cp logstash:/usr/share/logstash/pipeline /usr/share/logstash
重新启动容器:
#先删除旧容器
docker rm -f logstash
#以挂载方式启动
docker run -d --restart=always -p 5044:5044 --name logstash
-v /usr/share/logstash/config:/usr/share/logstash/config
-v /usr/share/logstash/pipeline:/usr/share/logstash/pipeline
logstash:7.8.1
题外:(正经猫老哥es教程中的movies.csv导入)
1.将movies.csv拷贝到容器中
docker cp 本地路径 容器长ID:容器路径
2.将外挂的配置文件logstash.conf替换成资料中的
并且修改指定movies.csv文件的路径,以及es的路径
这里贴上我的路径配置:
```
input {
file {
path => "/usr/share/logstash/movies.csv"
start_position => "beginning"
sincedb_path => "/usr/share/logstash/db_path.log"
}
}
output {
elasticsearch {
hosts => "http://xxx.xxx.x.xx:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}
```
ok!可上kibana测试了