在Ubuntu 14.04上安裝和配置Elasticsearch


Elasticsearch是一個開源搜尋引擎,它使用Apache Lucene作為其引擎,並根據Apache許可證釋出。Elasticsearch提供了一個平臺,用於即時分散式搜尋和資料分析。Elasticsearch因其易用性和強大的功能而廣受歡迎。使用Elasticsearch,您可以輕鬆地使用HTTP Web介面搜尋、瀏覽和分析您的資料。

功能

Elasticsearch的一些常用功能如下:

  • Elasticsearch可擴充套件到數百臺伺服器和PB級的結構化和非結構化資料。
  • Elasticsearch可以用作MongoDB和RavenDB文件儲存的替代品。
  • Elasticsearch是一個即時分散式搜尋和分析引擎。
  • Elasticsearch在Apache許可證版本2.0下可用,是最受歡迎的企業搜尋引擎之一。許多大型組織,如Stack Overflow和GitHub,都使用Elasticsearch。

在本教程中,我們將學習如何在Ubuntu 14.04上安裝和設定Elasticsearch。

前提條件

  • 您的系統上安裝了Ubuntu 14.04
  • 在您的系統上設定了一個具有sudo許可權的非root使用者帳戶

開始

讓我們首先確保您的Ubuntu 14.04伺服器完全是最新的。您可以透過執行以下命令來更新您的伺服器

$ sudo apt-get update -y
$ sudo apt-get upgrade -y

安裝Java

在安裝Elasticsearch之前,您需要在系統上安裝Java。您可以使用`Webupd8 team PPA`儲存庫安裝Oracle JDK 8。

要新增webupd8team PPA儲存庫,請執行以下命令:

$ sudo add-apt-repository -y ppa:webupd8team/java

您應該看到以下輸出:

gpg: keyring `/tmp/tmpkjrm4mnm/secring.gpg' created
gpg: keyring `/tmp/tmpkjrm4mnm/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpkjrm4mnm/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

接下來,透過執行以下命令更新新儲存庫的元資料:

$ sudo apt-get update

完成後,執行以下命令安裝JDK 8:

$ sudo apt-get install oracle-java8-installer -y

您還可以透過執行以下命令驗證JDK 8是否已正確安裝:

$ sudo java -version

您應該會看到類似這樣的輸出:

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

安裝Elasticsearch

您可以直接從elastic.co網站下載Elasticsearch。對於Ubuntu,您需要下載deb(Debian)包來安裝Elasticsearch。

要下載Elasticsearch deb包,請執行以下命令:

$ sudo wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.3.5.deb

下載完成後,您可以透過執行以下命令安裝它:

$ sudo dpkg -i elasticsearch-2.3.5.deb

現在,啟動Elasticsearch服務並啟用它在啟動時啟動,方法是執行以下命令:

$ sudo /etc/init.d/elasticsearch start
$ sudo update-rc.d elasticsearch defaults

您應該看到以下輸出:

Adding system startup for /etc/init.d/elasticsearch ...
/etc/rc0.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc1.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc6.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc2.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc3.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc4.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc5.d/S20elasticsearch -> ../init.d/elasticsearch

您可以隨時檢視Elasticsearch服務狀態,方法是執行以下命令:

$ sudo service elasticsearch status

配置Elasticsearch

您可以根據需要編輯位於/etc/elasticsearch/目錄下的配置檔案來配置Elasticsearch。

$ sudo nano /etc/elasticsearch/elasticsearch.yml

找到network.host行並將其替換為network.host:localhost。

network.host: localhost

編輯完檔案後,儲存並關閉它。然後重啟Elasticsearch:

$ sudo /etc/init.d/elasticsearch restart

測試Elasticsearch

現在Elasticsearch及其依賴項已安裝,是時候測試Elasticsearch了。預設情況下,Elasticsearch應該在埠9200上執行。

您可以透過執行以下curl命令來測試Elasticsearch:

$ curl -X GET https://:9200

您應該看到以下輸出:

{
   "name" : "Hussar",
   "cluster_name" : "elasticsearch",
   "version" : {
      "number" : "2.3.5",
      "build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4",
      "build_timestamp" : "2016-07-27T10:36:52Z",
      "build_snapshot" : false,
      "lucene_version" : "5.5.0"
   },
   "tagline" : "You Know, for Search"
}

您還可以透過執行以下命令獲取Elasticsearch叢集的健康狀態:

$ curl -XGET https://:9200/_cluster/health?pretty=true

輸出

{
   "cluster_name" : "elasticsearch",
   "status" : "green",
   "timed_out" : false,
   "number_of_nodes" : 1,
   "number_of_data_nodes" : 1,
   "active_primary_shards" : 0,
   "active_shards" : 0,
   "relocating_shards" : 0,
   "initializing_shards" : 0,
   "unassigned_shards" : 0,
   "delayed_unassigned_shards" : 0,
   "number_of_pending_tasks" : 0,
   "number_of_in_flight_fetch" : 0,
   "task_max_waiting_in_queue_millis" : 0,
   "active_shards_percent_as_number" : 100.0
}

希望您已經對這個內容有了重要的瞭解!!

更新於:2020年1月20日

199 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.