中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Docker?Compose搭建部署ElasticSearch

發布時間:2022-02-18 10:43:24 來源:億速云 閱讀:765 作者:iii 欄目:開發技術

本篇內容主要講解“如何使用Docker Compose搭建部署ElasticSearch”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Docker Compose搭建部署ElasticSearch”吧!

什么是 Elasticsearch?

  Elasticsearch 是一個分布式的開源搜索和分析引擎,適用于所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。Elasticsearch 在Apache Lucene 的基礎上開發而成,由 Elasticsearch N.V.(即現在的 Elastic)于 2010 年首次發布。Elasticsearch 以其簡單的 REST 風格 API、分布式特性、速度和可擴展性而聞名,是 Elastic Stack 的核心組件;Elastic Stack 是適用于數據采集、充實、存儲、分析和可視化的一組開源工具。人們通常將Elastic Stack 稱為 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列豐富的輕量型數據采集代理,這些代理統稱為Beats,可用來向 Elasticsearch 發送數據。

Elasticsearch 的用途是什么?

Elasticsearch 在速度和可擴展性方面都表現出色,而且還能夠索引多種類型的內容,這意味著其可用于多種用例:

  • 應用程序搜索

  • 網站搜索

  • 企業搜索

  • 日志處理和分析

  • 基礎設施指標和容器監測

  • 應用程序性能監測

  • 地理空間數據分析和可視化

  • 安全分析

  • 業務分析 

Elasticsearch 的工作原理是什么?

  原始數據會從多個來源(包括日志、系統指標和網絡應用程序)輸入到 Elasticsearch 中。數據采集指在 Elasticsearch 中進行索引之前解析、標準化并充實這些原始數據的過程。這些數據在 Elasticsearch 中索引完成之后,用戶便可針對他們的數據運行復雜的查詢,并使用聚合來檢索自身數據的復雜匯總。在 Kibana 中,用戶可以基于自己的數據創建強大的可視化,分享儀表板,并對 Elastic Stack 進行管理。 

Elasticsearch 索引是什么?

  Elasticsearch 索引指相互關聯的文檔集合。Elasticsearch 會以 JSON 文檔的形式存儲數據。每個文檔都會在一組鍵(字段或屬性的名稱)和它們對應的值(字符串、數字、布爾值、日期、數值組、地理位置或其他類型的數據)之間建立聯系。

  Elasticsearch 使用的是一種名為倒排索引的數據結構,這一結構的設計可以允許十分快速地進行全文本搜索。倒排索引會列出在所有文檔中出現的每個特有詞匯,并且可以找到包含每個詞匯的全部文檔。

  在索引過程中,Elasticsearch 會存儲文檔并構建倒排索引,這樣用戶便可以近實時地對文檔數據進行搜索。索引過程是在索引 API 中啟動的,通過此API 您既可向特定索引中添加 JSON 文檔,也可更改特定索引中的 JSON 文檔。

說明

由于我本機配置較低,無法開啟多臺虛擬機,ES的集群需要用到不同的ip,故而只搭建單機,不做集群。

一、目錄準備

mkdir /docker/es
mkdir /docker/es/data
mkdir /docker/es/config
mkdir /docker/es/plugins

二、es配置準備

cd /docker/es
vi elasticsearch.yml

使用以下配置:

# 集群名稱
cluster.name: elasticsearch-cluster
# 節點名稱
node.name: es-node-1
# 綁定host,0.0.0.0代表當前節點的ip
network.host: 0.0.0.0
# 設置其它節點和該節點交互的ip地址,如果不設置它會自動判斷,值必須是個真實的ip地址(本機ip)
network.publish_host: 192.168.200.135
# 設置對外服務的http端口,默認為9200
http.port: 9200
# 設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
# 是否支持跨域,默認為false
http.cors.enabled: true
# 當設置允許跨域,默認為*,表示支持所有域名,如果我們只是允許某些網站能訪問,那么可以使用正則表達式。比如只允許本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示這個節點是否可以充當主節點
node.master: true
# 是否充當數據節點
node.data: true
# 所有主從節點ip:port
#discovery.seed_hosts: ["192.168.200.135:9300"]  #本地只有一個節點,無法正常啟動,先注釋
# 這個參數決定了在選主過程中需要 有多少個節點通信  預防腦裂 N/2+1
discovery.zen.minimum_master_nodes: 1
#初始化主節點
#cluster.initial_master_nodes: ["es-node-1"]  #本地只有一個節點,無法正常啟動,先注釋

三、準備docker-compose.yml

vi docker-compose.yml

內容如下:

version: '3'

services:
 elasticsearch:
  image: elasticsearch:6.8.13
  restart: always  
  hostname: es1
  container_name: es-single
  volumes:
   - /docker/es/data:/usr/share/elasticsearch/data
   - /docker/es/plugins:/usr/share/elasticsearch/plugins
   - /docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  environment:
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - discovery.type=single-node
  ports:
    - '9200:9200'     #java、集群通信端口
    - '9300:9300'     #http通信端口
  privileged: true    #環境變量

四、啟動容器

docker-compose up -d

如何使用Docker?Compose搭建部署ElasticSearch

五、查看

docker-compose ps

如何使用Docker?Compose搭建部署ElasticSearch

如果啟動是吧,可以使用docker container logs 容器id/es-single logs 查看啟動日志

如果出現啟動日志中出現java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes,需要給data目錄設置權限 chmod 777 /docker/es/data

到此,相信大家對“如何使用Docker Compose搭建部署ElasticSearch”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杭锦旗| 东明县| 枣强县| 南陵县| 诏安县| 梅河口市| 进贤县| 金塔县| 九寨沟县| 福建省| 时尚| 平顶山市| 灵石县| 邵阳市| 揭西县| 小金县| 苏尼特左旗| 黑山县| 沾化县| 沅江市| 慈利县| 桃源县| 龙游县| 界首市| 赤峰市| 融水| 宁夏| 岳西县| 阿拉善盟| 五台县| 游戏| 潮安县| 乐清市| 灵台县| 孝昌县| 梅河口市| 淮滨县| 苍南县| 庆云县| 杂多县| 永吉县|