CentOs8 Elasticsearchをインストールする手順

CentOs8 Elasticsearchをインストールする手順

大量データを高速に文字列で検索できるオープソースの全文検索エンジンである「elasticsearch」のCentOs8へのインストール手順を記述してます。

環境

  • OS CentOS Linux release 8.0.1905 (Core)
  • Elasticsearch 7.7.0

Javaインストール

Elasticsearchはjavaのアプリケーションなので、javaがインストールされている必要があります。

詳細はこちらに記述してます。まずリポジトリを追加します。

## リポジトリを追加
$ sudo vi /etc/yum.repos.d/adoptopenjdk.repo

<編集>
[AdoptOpenJDK]
name=AdoptOpenJDK
baseurl=http://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/8/x86_64
enabled=1
gpgcheck=1
gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public

インストールします。

## インストールリスト確認
$ dnf list adoptopenjdk*

## 14をインストール
$ sudo dnf -y install adoptopenjdk-14-hotspot.x86_64

Elasticsearchインストール

リポジトリをインポートします。

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

リポジトリを編集します。

$ sudo nano /etc/yum.repos.d/elasticsearch.repo

<編集>
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

インストールを開始します。

$ sudo dnf install elasticsearch

自動起動と起動を実行します。

$ sudo systemctl enable elasticsearch.service --now

確認してみます。

$ curl -X GET "localhost:9200/"

<出力結果>
{
  "name" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Zp69BA2vSO6TbzvZFN62Tw",
  "version" : {
    "number" : "7.7.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
    "build_date" : "2020-05-12T02:01:37.602180Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

外部アクセス許可

外部からのアクセスを許可するにはelasticsearch.ymlを編集します。

$ sudo nano /etc/elasticsearch/elasticsearch.yml

<編集>
network.host: 0.0.0.0
http.port: 9200
transport.host: localhost
transport.tcp.port: 9300

firewallも設定しておきます。

$ firewall-cmd --add-port=8080/tcp --zone=public --permanent
$ firewall-cmd --reload

外部のマシンからブラウザから http://プライベートIP:9200 にアクセスできることが確認できます。