Elasticsearch(二)Docker安裝部署

1_BmvPfSSm2G8C-khX1rhCGg.png

Elasticsearch docker 安裝部署

Elasticsearch(ES) 的docker鏡像運(yùn)用 Centos:7作為基礎(chǔ)鏡像晌杰。發(fā)布過的相關(guān)Docker鏡像包可以在www.docker.elastic.co官網(wǎng)進(jìn)行查潮峦。源碼托管在Github上桃笙。

單節(jié)點(diǎn)安裝

拉取鏡像包

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.1

其他的版本鏡像包可以去www.docker.elastic.co進(jìn)行下載瘩欺。

運(yùn)行一個(gè)單節(jié)點(diǎn)集群的服務(wù)

運(yùn)行一個(gè)單節(jié)點(diǎn)集群服務(wù)用來開發(fā)或者測試结胀。并且要指定單節(jié)點(diǎn)發(fā)現(xiàn)來繞過引導(dǎo)檢查。詳細(xì)引導(dǎo)檢查請(qǐng)查看引導(dǎo)檢查

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.1

多節(jié)點(diǎn)集群安裝

使用Docker Compose 啟動(dòng)一個(gè)多節(jié)點(diǎn)集群

  • 1 創(chuàng)建一個(gè)docker compose文件docker-compose.yml

      version: '2.2'
      services:
        es01:
          image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
          container_name: es01
          environment:
            - node.name=es01
            - cluster.name=es-docker-cluster
            - discovery.seed_hosts=es02,es03
            - cluster.initial_master_nodes=es01,es02,es03
            - bootstrap.memory_lock=true
            - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          ulimits:
            memlock:
              soft: -1
              hard: -1
          volumes:
            - data01:/usr/share/elasticsearch/data
          ports:
            - 9200:9200
          networks:
            - elastic
        es02:
          image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
          container_name: es02
          environment:
            - node.name=es02
            - cluster.name=es-docker-cluster
            - discovery.seed_hosts=es01,es03
            - cluster.initial_master_nodes=es01,es02,es03
            - bootstrap.memory_lock=true
            - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          ulimits:
            memlock:
              soft: -1
              hard: -1
          volumes:
            - data02:/usr/share/elasticsearch/data
          networks:
            - elastic
        es03:
          image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
          container_name: es03
          environment:
            - node.name=es03
            - cluster.name=es-docker-cluster
            - discovery.seed_hosts=es01,es02
            - cluster.initial_master_nodes=es01,es02,es03
            - bootstrap.memory_lock=true
            - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          ulimits:
            memlock:
              soft: -1
              hard: -1
          volumes:
            - data03:/usr/share/elasticsearch/data
          networks:
            - elastic
    
      volumes:
        data01:
          driver: local
        data02:
          driver: local
        data03:
          driver: local
    
      networks:
        elastic:
          driver: bridge
    

此Docker Compose 例子文件將創(chuàng)建一個(gè)3個(gè)節(jié)點(diǎn)的Elasticsearch集群普监。節(jié)點(diǎn)es01 監(jiān)聽 localhost:9200 并且在Docker網(wǎng)絡(luò)中節(jié)點(diǎn)es02 和es03要和es01通信贵试。

請(qǐng)記錄此配置文件導(dǎo)出的端口號(hào):9200,并且要在所有網(wǎng)絡(luò)接口上配置Linux的iptables端口開放信息凯正,這樣Elasticsearch服務(wù)就有權(quán)限公開訪問了毙玻。如果您不想公開端口9200,而是使用反向代理廊散,請(qǐng)?jiān)赿ocker-compose.yml文件中將9200:9200替換為127.0.0.1:9200:9200桑滩。 然后只能從主機(jī)本身訪問Elasticsearch。

#開發(fā)9200端口
iptables -A INPUT -p tcp --dport 9200 -j ACCEPT
service iptables save

卷data01,data02,和data01直接存儲(chǔ)著節(jié)點(diǎn)數(shù)據(jù)允睹,沒有用持久化存儲(chǔ)运准,此種配置在重啟服務(wù)后數(shù)據(jù)可能丟失

  • 2 確保為Docker Engine分配了至少4GiB的內(nèi)存

    如果docker compose 沒有安裝請(qǐng)查看docs.docker.com網(wǎng)站進(jìn)行安裝

      sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      sudo chmod +x /usr/local/bin/docker-compose 
    

    查看版本

      # docker-compose --version
      docker-compose version 1.25.4, build 8d51620a
    
  • 3 運(yùn)行docker compose 來創(chuàng)建拉起集群

      docker-compose up -d
    

    報(bào)錯(cuò):
    iptables: No chain/target/match by that name
    原因:
    docker服務(wù)啟動(dòng)時(shí)定義的自定義鏈
    DOCKER由于某種原因被清掉重啟docker服務(wù)及可重新生成自定義鏈DOCKER
    解決方案:

      iptables -t filter -F
    
      iptables -t filter -X
    
      systemctl restart docker
    

    docker 運(yùn)行查看

      # docker ps|grep es0
      86b91ba4732f        docker.elastic.co/elasticsearch/elasticsearch:7.6.1   "/usr/local/bin/do..."   5 minutes ago       Up 5 minutes        0.0.0.0:9200->9200/tcp, 9300/tcp   es01
      706171c7357b        docker.elastic.co/elasticsearch/elasticsearch:7.6.1   "/usr/local/bin/do..."   5 minutes ago       Up 5 minutes        9200/tcp, 9300/tcp                 es02
      941ebc831b93        docker.elastic.co/elasticsearch/elasticsearch:7.6.1   "/usr/local/bin/do..."   5 minutes ago       Up 5 minutes        9200/tcp, 9300/tcp                 es03
    
  • 4 提交一個(gè)_cat/nodes 請(qǐng)求來查看節(jié)點(diǎn)是否被拉起來以及運(yùn)行狀態(tài)

      curl -X GET "localhost:9200/_cat/nodes?v&pretty"
    

    查看節(jié)點(diǎn)狀態(tài)結(jié)果:

      # curl -X GET "localhost:9200/_cat/nodes?v&pretty"
      ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
      172.18.0.4           22          86   8    0.16    0.58     0.70 dilm      -      es03
      172.18.0.3           16          86   7    0.16    0.58     0.70 dilm      *      es01
      172.18.0.2           27          86   7    0.16    0.58     0.70 dilm      -      es02
    
  • 5 停止集群

      #數(shù)據(jù)將會(huì)保留
      docker-compose down
    
      #數(shù)據(jù)將被清除
      docker-compose down -v
    
      #重啟集群
      docker-compose up -d
    

產(chǎn)品中使用注意事項(xiàng)

  • 1 設(shè)置 vm.max_map_count 至少為262144

      grep vm.max_map_count /etc/sysctl.conf
      vm.max_map_count=262144
    
      #如果沒有設(shè)置運(yùn)行如下命令
      sysctl -w vm.max_map_count=262144
    
  • 2 配置文件必須被elasticsearch用戶可讀

    默認(rèn)情況下幌氮,Elasticsearch使用uid:gid 1000:0作為用戶elasticsearch在容器內(nèi)運(yùn)行。

    如果您要綁定安裝本地目錄或文件胁澳,則elasticsearch用戶必須可以讀取它该互。 此外,該用戶必須對(duì)數(shù)據(jù)和日志目錄具有寫權(quán)限韭畸。

    例如:準(zhǔn)備一個(gè)本地目錄通過mount來存儲(chǔ)數(shù)據(jù)

      mkdir esdatadir
      chmod g+rwx esdatadir
      chgrp 0 esdatadir
    

參考:官方網(wǎng)站

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宇智,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胰丁,更是在濱河造成了極大的恐慌随橘,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锦庸,死亡現(xiàn)場離奇詭異机蔗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)甘萧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門蜒车,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人幔嗦,你說我怎么就攤上這事×ぬ叮” “怎么了邀泉?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钝鸽。 經(jīng)常有香客問我汇恤,道長,這世上最難降的妖魔是什么拔恰? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任因谎,我火速辦了婚禮,結(jié)果婚禮上颜懊,老公的妹妹穿的比我還像新娘财岔。我一直安慰自己,他們只是感情好河爹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布匠璧。 她就那樣靜靜地躺著,像睡著了一般咸这。 火紅的嫁衣襯著肌膚如雪夷恍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天媳维,我揣著相機(jī)與錄音酿雪,去河邊找鬼遏暴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛指黎,可吹牛的內(nèi)容都是我干的朋凉。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼袋励,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼侥啤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茬故,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤盖灸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后磺芭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赁炎,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年钾腺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了徙垫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡放棒,死狀恐怖姻报,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情间螟,我是刑警寧澤吴旋,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站厢破,受9級(jí)特大地震影響荣瑟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜摩泪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一笆焰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧见坑,春花似錦嚷掠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至戴尸,卻和暖如春粟焊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工项棠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悲雳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓香追,卻偏偏與公主長得像合瓢,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子透典,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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