1. 程式人生 > >Elasticsearch學習筆記(三)—在centos7上搭建環境

Elasticsearch學習筆記(三)—在centos7上搭建環境

1 系統環境

  • 作業系統:CentOS Linux release 7.5.1804 (Core)

  • Java 1.8.0_181

2 Elastic安裝

2.1 安裝的簡單說明

按照官網的說明,安裝步驟如下:

  1. 下載和解壓安裝包

  2. 啟動程式

  3. 檢查是否啟動成功

2.2 下載安裝包

開啟官網,點選【下載】,選擇Elasticsearch,再選擇ZIP安裝包

2.3啟動服務

  1. 解壓tar -xvf elasticsearch-6.5.4.tar.gz

  2. 進入下載的目錄$ cd elasticsearch-6.5.4/bin

  3. 執行啟動指令$ ./elasticsearch

    [2018-12-28T15:36:18,278][INFO ][o.e.e.NodeEnvironment    ] [kdektch] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [32.2gb], net total_space [49.9gb], types [rootfs]
    [2018-12-28T15:36:18,281][INFO ][o.e.e.NodeEnvironment    ] [kdektch] heap size [999mb], compressed ordinary object pointers [true]
    ······
    ······
    ······
    [2018-12-28T15:36:32,269][INFO ][o.e.c.m.MetaDataIndexTemplateService] [kdektch] adding template [.monitoring-alerts] for index patterns [.monitoring-alerts-6]
    [2018-12-28T15:36:32,291][INFO ][o.e.c.m.MetaDataIndexTemplateService] [kdektch] adding template [.monitoring-kibana] for index patterns [.monitoring-kibana-6-*]
    [2018-12-28T15:36:32,380][INFO ][o.e.l.LicenseService     ] [kdektch] license [da80144f-ad52-444f-adea-181efb360f16] mode [basic] - valid

2.4 獲取版本資訊

  1. 另開一個標籤頁

  2. 執行指令$ curl localhost:9200

    控制檯列印資訊如下:

    # curl localhost:9200
    {
      "name" : "kdektch",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "KLu4TCvUQN6USdx0yA1MpQ",
      "version" : {
        "number" : "6.5.4",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "d2ef93d",
        "build_date" : "2018-12-17T21:17:40.758843Z",
        "build_snapshot" : false,
        "lucene_version" : "7.5.0",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }

2.5 備註

  • 停止Elastic,在啟動選項卡中直接control+c即可停止。

  • 如果你想把 Elasticsearch 作為一個守護程序在後臺執行,那麼可以在後面新增引數 -d

  • 預設情況下,Elastics只允許本機訪問,如果需要遠端訪問,可以修改 Elastic 安裝目錄的config/elasticsearch.yml檔案,去掉network.host的註釋,將它的值改成0.0.0.0,然後重新啟動 Elastic。

    #network.host: 192.168.0.1
    network.host: 0.0.0.0
  • 安裝中文外掛

    在安裝目錄下,執行指令:$ ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

    注意版本要一致。

    安裝完成後,重啟。

    # ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
    -> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
    [=================================================] 100%   
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @     WARNING: plugin requires additional permissions     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    * java.net.SocketPermission * connect,resolve
    See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
    for descriptions of what these permissions allow and the associated risks.
    
    Continue with installation? [y/N]y
    -> Installed analysis-ik
    

3 Kibana安裝

3.1 安裝的簡單說明

按照官網給出的資料(連結),安裝步驟順序如下:

  1. 下載Kibana安裝包

  2. 開啟config/kibana.yml配置檔案,並進行設定

  3. 執行指令啟動Kibana

  4. 開啟瀏覽器訪問http://localhost:5601

3.2 下載安裝包

開啟官網,點選【下載】,選擇Kibana,再選擇LINUX 64-BIT安裝包。

3.3 修改配置檔案

  1. 將下載的安裝包進行解壓# tar -zvxf kibana-6.5.4-linux-x86_64.tar.gz

  2. 進入解壓後目錄的config目錄下# cd kibana-6.5.4-linux-x86_64/config/

  3. 找到kibana.yml檔案,進行編輯$ vim kibana.yml

  4. 找到elasticsearch.url,去掉前面的註釋,並且將值設定為Elasticsearch的例項。更改如下圖

3.4 啟動服務

進入安裝目錄的config資料夾下,執行指令$ ./kibana

3.5 開啟瀏覽器訪問

開啟瀏覽器,輸入地址http://localhost:5601

4 安裝遇到的問題

4.1 啟動失敗(一)

  • 錯誤日誌

    [2018-12-28T15:30:59,095][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [unknown] uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
      at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.4.jar:6.5.4]
      at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.4.jar:6.5.4]
    Caused by: java.lang.RuntimeException: can not run elasticsearch as root
      at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.4.jar:6.5.4]
      at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.4.jar:6.5.4]
      ... 6 more
  • 錯誤原因

    不能使用root賬戶啟動elasticsearch

  • 解決思路

    建立一個新使用者elastic來啟動

  • 解決步驟

    [[email protected] local]# adduser elastic     --建立使用者elastic
    [[email protected] local]# passwd elastic      --更改使用者密碼
    更改使用者 elastic 的密碼 。
    新的 密碼:
    無效的密碼: 密碼少於 8 個字元
    重新輸入新的 密碼:
    passwd:所有的身份驗證令牌已經成功更新。
    [[email protected] local]# chown -R elastic:elastic elasticsearch-6.5.4   --elastic賦權
    [[email protected] local]# su elastic      --切換elastic使用者
    [[email protected] local]$ pwd
    /usr/local
    [[email protected] local]$ cd elasticsearch-6.5.4/bin/   --進入安裝目錄
    [[email protected] bin]$ ./elasticsearch   --啟動

4.2 啟動失敗(二)

  • 錯誤日誌

    max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
  • 解決步驟

    root使用者修改配置檔案/etc/sysctl.conf,新增配置vm.max_map_count=655360。修改完畢後執行執行sysctl -p

4.3 啟動失敗(三)

  • 錯誤日誌

    max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  • 解決步驟

    root使用者修改配置檔案/etc/security/limits.conf,新增配置

    *               soft    nofile          65536
    *               hard    nofile          65536

    檔案修改完畢後,需要重新開啟新的terminal才會生效。

5 參考資料

elastic官網

Elasticsearch5.0 安裝問題集錦

elasticsearch啟動常見錯誤