您好,登錄后才能下訂單哦!
docker鏡像地址:https://www.docker.elastic.co/#
首先安裝docker-compose,使用pip安裝docker-compose,因?yàn)閜ip可以自動對應(yīng)版本問題
安裝pip
yum -y install epel-release
yum -y install python-pip
確認(rèn)版本
pip --version
更新pip
pip install --upgrade pip
安裝docker-compose
pip install docker-compose
查看版本
docker-compose version
下載elasticsearch
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.1
下載logstash
docker pull docker.elastic.co/logstash/logstash:7.1.1
下載kibana
docker pull docker.elastic.co/kibana/kibana:7.1.1
編寫docker-compose.yml文件,在/opt/目錄下新建一個elkDocker目錄
mkdir /opt/elkDocker
進(jìn)入elkDocker目錄
cd /opt/elkDocker
新建docker-compose.yml文件
vi docker-compose.yml
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
container_name: elasticsearch7.1.1
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- esdata:/usr/share/elasticsearch/data
hostname: elasticsearch
restart: always
ports:
- 9200:9200
- 9300:9300
kibana:
image: docker.elastic.co/kibana/kibana:7.1.1
container_name: kibana7.1.1
environment:
- elasticsearch.hosts=http://elasticsearch:9200
hostname: kibana
depends_on:
- elasticsearch
restart: always
ports:
- "5601:5601"
logstash:
image: docker.elastic.co/logstash/logstash:7.1.1
container_name: logstash7.1.1
hostname: logstash
restart: always
depends_on:
- elasticsearch
ports:
- 9600:9600
- 5044:5044
volumes:
esdata:
driver: local
在yml文件所在目錄執(zhí)行
docker-compose up -d
出現(xiàn)done表示成功,docker-compose logs 查看日志(分別輸出elk三個服務(wù)的日志)執(zhí)行docker ps可以看到三個服務(wù)的運(yùn)行狀態(tài)
在瀏覽器輸入http://IP:5601/
需要注意情況如下:
1.不要下載docker官方的鏡像,最好使用 elastic官方倉庫里的鏡像
2.如果出現(xiàn)啟動不成功,先把其他兩個注釋掉,一個一個服務(wù)單獨(dú)運(yùn)行試試
3.logstash需要監(jiān)聽elasticsearch服務(wù),不然logstash會自動停掉
4.logstash和kibana可以不用設(shè)置關(guān)聯(lián) elasticsearch 的環(huán)境變量,官網(wǎng)文檔說如果是docker鏡像有默認(rèn)設(shè)置
5.如果自己修改了服務(wù)名稱或者端口要記得修改默認(rèn)的設(shè)置
下面開始安裝ElasticSearch-Head
拉取ElasticSearch-Head鏡像
docker pull mobz/elasticsearch-head:5
運(yùn)行ElasticSearch-Head容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
在瀏覽器輸入http://IP:9100
注: 運(yùn)行ElasticSearch-Head容器時如果出現(xiàn)報錯如下:
docker: Error response from daemon: Conflict. The container name "/es_admin" is already in use by container "a9a2a5c74ab3b2dc42c2260fad0b0b1dd6e7c768a5cfb2ddbb121eb2946a370c". You have to remove (or rename) that container to be able to reuse that name.
則執(zhí)行 docker container ls -all 查看CONTAINER ID 然后執(zhí)行 docker rm id號
之后重新執(zhí)行docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5 即可
注: Elasticsearch-head 連接不上Elasticsearch的原因和解決方案
1.修改elasticsearch-head下Gruntfile.js文件,內(nèi)容如下:
connect: {
????server: {
????????options: {
????????????hostname: '0.0.0.0',
????????????port: 9100,
????????????base: '.',
????????????keepalive: true
????????}
????}
}
2.修改elasticsearch-head_site\app.js 文件。this.base_uri 改為下面的值。
this.base_uri =?this.config.base_uri ||?this.prefs.get("app-base_uri") ||?"http://localhost:9200";
編輯配置文件
vim /etc/elasticsearch/elasticsearch.yml
增加下面兩項(xiàng)
http.cors.enabled: true
http.cors.allow-origin: "*"
然后重啟?elasticsearch ,訪問?http://localhost:9100/ 就可以成功的連接上 9200 端口
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。