安装Elasticsearch
1.拉取镜像
docker@box:/home/box$ docker pull elasticsearch:7.14.2
2.在宿主机准备配置文件
创建目录
docker@box:/$ mkdir -p /server0/config/elk
在/server0/config/elk目录下创建elasticsearch.yml文件
在elasticsearch.yml添加配置信息
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 访问ID限定,0.0.0.0为不限制,生产环境请设置为固定IP
transport.host: 0.0.0.0
# elasticsearch节点名称
node.name: node-1
# elasticsearch节点信息
cluster.initial_master_nodes: ["node-1"]
# 下面的配置是关闭跨域验证(可以不开启)
http.cors.enabled: true
http.cors.allow-origin: "*"
3.创建并启动容器
(1)指定使用单机版的部署
docker run -d --restart=always --name es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /server0/config/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.14.2
(2)默认集群部署
docker run -d --restart=always --name es7 -p 9200:9200 -p 9300:9300 -v /server0/config/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.14.2
报错
修改
增加
vm.max_map_count=262144
执行命令sysctl -p生效
又报错
sudo sysctl -p 成功
docker@box:/server0/config/elk$ sudo sysctl -p
vm.max_map_count = 262144
安装logstash
1.拉取镜像
docker@box:/home/box$ docker pull logstash:7.14.2
2.在宿主机准备配置文件
在/server0/config/elk目录下创建logstash.conf文件
input {
tcp {
port => 5044
# 输入为json数据
codec => json_lines
}
}
filter {
}
output {
# 这个是logstash的控制台打印(进行安装调试的时候开启,稍后成功后去掉这个配置即可)
stdout {
codec => rubydebug
}
# elasticsearch配置
elasticsearch {
hosts => ["ip:9200"]
# 索引名称,没有会自动创建
index => "logstash-%{[server_name]}-%{+YYYY.MM.dd}"
}
}
3.创建并启动容器
docker run -di -p 5044:5044 -v /server0/config/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf --name logstash logstash:7.14.2