docker项秉、docker-compose部署elasticsearch集群

docker-compose部署elasticsearch集群

一绣溜、部署思路

模擬部署了六個(gè)節(jié)點(diǎn),其中兩個(gè)master節(jié)點(diǎn)娄蔼,不做數(shù)據(jù)存儲(chǔ)怖喻,四個(gè)data節(jié)點(diǎn),用來(lái)存儲(chǔ)數(shù)據(jù)

注意:

  1. 本文使用docker-compose進(jìn)行部署贷屎,沒(méi)有安裝的先自行安裝

  2. 本文的elasticsearch集群使用docker進(jìn)行部署罢防,開(kāi)發(fā)學(xué)習(xí)環(huán)境中可以這么使用艘虎,在生產(chǎn)環(huán)境中還是不要這樣部署唉侄,熟悉elasticsearch原理的就會(huì)清楚,單機(jī)部署elasticsearch集群基本無(wú)法起到什么作用野建。

二属划、配置文件

1、目錄結(jié)構(gòu)

      docker-compose.yml
      data
        es00
        es01
        es02
        es03
        es04
        es05
      config
        es00
          elasticsearch.yml
        es01
          elasticsearch.yml
        es02
          elasticsearch.yml
        es03
          elasticsearch.yml
        es04
          elasticsearch.yml
        es05
          elasticsearch.yml
      logs
        es00
        es01
        es02
        es03
        es04
        es05

2候生、docker-compose.yml

version: '2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.4
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://es01:9201
    networks:
      - esnet
  kibana:
    image: kibana:7.3.0
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://es01:9201
      # 需要將Kibana配置文件中的小寫(xiě)轉(zhuǎn)換成大寫(xiě)同眯,然后這個(gè)才能用于變量,才能被設(shè)置到
      - I18N_LOCALE=zh-CN
      - xpack.monitoring.ui.container.elasticsearch.enabled=false
    ports:
      - 5601:5601
    networks:
      - esnet
  es00:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es00
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "ES_JAVA_OPTS=-Des.insecure.allow.root=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es00:/usr/share/elasticsearch/data
      - ./config/es00/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es00:/usr/share/elasticsearch/logs
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es01
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "ES_JAVA_OPTS=-Des.insecure.allow.root=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es01:/usr/share/elasticsearch/data
      - ./config/es01/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es01:/usr/share/elasticsearch/logs
    ports:
      - 9201:9201
      - 9301:9301
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es02
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es02:/usr/share/elasticsearch/data
      - ./config/es02/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es02:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet
    ports:
      - 9202:9202
      - 9302:9302
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es03
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es03:/usr/share/elasticsearch/data
      - ./config/es03/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es03:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet
    ports:
      - 9203:9203
      - 9303:9303
  es04:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es04
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es04:/usr/share/elasticsearch/data
      - ./config/es04/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es04:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet
    ports:
      - 9204:9204
      - 9304:9304
  es05:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es05
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es05:/usr/share/elasticsearch/data
      - ./config/es05/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es05:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet
    ports:
      - 9205:9205
      - 9305:9305

networks:
  esnet:

3唯鸭、master 節(jié)點(diǎn)

1须蜗、es00
cluster.name: es-cluster
node.name: es00
node.master: true
node.data: false
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

2、es01
cluster.name: es-cluster
node.name: es01
node.master: true
node.data: false
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9201
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

4、data節(jié)點(diǎn)

1明肮、es02
cluster.name: es-cluster
node.name: es02
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9202
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

2菱农、es03
cluster.name: es-cluster
node.name: es03
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9203
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

1、es04
cluster.name: es-cluster
node.name: es04
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9204
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

1柿估、es05
cluster.name: es-cluster
node.name: es05
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9205
# transport.tcp.port: [9300,9302,9303,9304,9305]
# discovery.zen.ping.unicast.hosts: ["es01","es02","es03","es04","es05"]
cluster.initial_master_nodes: ["es00","es01"]
discovery.seed_hosts: ["es00","es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

cluster.name: es-cluster
node.name: es02
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["es01","es02","es03"]
cluster.initial_master_nodes: ["es01"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

三循未、集群?jiǎn)?dòng)

1、啟動(dòng)

在docker-compose.yml文件目錄下

docker-compose up -d 

2秫舌、停止

docker-compose stop 

3的妖、如果啟動(dòng)后無(wú)法訪(fǎng)問(wèn),查看日志排查問(wèn)題(會(huì)有使用root用戶(hù)無(wú)法啟動(dòng)es的問(wèn)題足陨,需要排查)

docker logs -f -t --tail=500 es01

無(wú)法啟動(dòng)的原因

1嫂粟、會(huì)有使用root用戶(hù)無(wú)法啟動(dòng)es的問(wèn)題,需要排查(新建系統(tǒng)用戶(hù)啟動(dòng)es集群)

2墨缘、需要修改文件夾權(quán)限 chmod 777 -R [文件夾] (data赋元、log、config 幾個(gè)文件夾改權(quán)限)

三飒房、集群安裝分詞器

6.1 進(jìn)入docker容器

docker exec -it es01/bin/bash

6.2 下載安裝分詞器

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip

文件地址:https://download.csdn.net/download/iampatrick_star/87131975?spm=1001.2014.3001.5503

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搁凸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子狠毯,更是在濱河造成了極大的恐慌护糖,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚼松,死亡現(xiàn)場(chǎng)離奇詭異嫡良,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)献酗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)寝受,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人罕偎,你說(shuō)我怎么就攤上這事很澄。” “怎么了颜及?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵甩苛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我俏站,道長(zhǎng)讯蒲,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任肄扎,我火速辦了婚禮墨林,結(jié)果婚禮上赁酝,老公的妹妹穿的比我還像新娘。我一直安慰自己旭等,他們只是感情好赞哗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著辆雾,像睡著了一般肪笋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上度迂,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天藤乙,我揣著相機(jī)與錄音,去河邊找鬼惭墓。 笑死坛梁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腊凶。 我是一名探鬼主播划咐,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钧萍!你這毒婦竟也來(lái)了褐缠?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤风瘦,失蹤者是張志新(化名)和其女友劉穎队魏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體万搔,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胡桨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞬雹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昧谊。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酗捌,靈堂內(nèi)的尸體忽然破棺而出呢诬,到底是詐尸還是另有隱情,我是刑警寧澤意敛,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布馅巷,位于F島的核電站,受9級(jí)特大地震影響草姻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稍刀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一撩独、第九天 我趴在偏房一處隱蔽的房頂上張望敞曹。 院中可真熱鬧,春花似錦综膀、人聲如沸澳迫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)橄登。三九已至,卻和暖如春讥此,著一層夾襖步出監(jiān)牢的瞬間拢锹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工萄喳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卒稳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓他巨,卻偏偏與公主長(zhǎng)得像充坑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子染突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容