GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ansibleを使用してUbuntu20.04にElasticsearchをインストールおよび構成する

Elasticsearchは、ApacheLucene上に構築された分散検索および分析エンジンです。分散型のマルチテナント対応の全文検索エンジンに、HTTPWebインターフェイスとスキーマフリーのJSONドキュメントを提供します。 Elasticsearchはすぐに最も人気のある検索エンジンになり、ログ分析、全文検索、セキュリティインテリジェンス、ビジネス分析、運用インテリジェンスのユースケースで一般的に使用されています。

Ansibleは、オープンソースのソフトウェアプロビジョニング、構成管理、およびアプリケーション展開ツールであり、インフラストラクチャをコードとして有効にします。多くのUnixライクなシステムで動作し、UnixライクなシステムとMicrosoftWindowsの両方を構成できます。

関連コンテンツ

  • Ubuntu20.04にElasticsearchをインストールして設定する方法
  • Debian11にElasticsearchをインストールして設定する方法

前提条件

フォローするには、次のことを確認してください。

  • 2GB以上のRAMと2つのコアを備えた更新されたUbuntu20.04サーバー
  • サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
  • サーバーからインターネットへのアクセス
  • ローカルシステムにインストールされたAnsible

目次

  1. サーバーが最新であることを確認する
  2. セットアップに必要ないくつかのパッケージをインストールする
  3. ElasticsearchPGPキーをインポートする
  4. APTリポジトリからElasticsearchをインストールする
  5. セットアップハンドラー
  6. hostsファイルを作成する
  7. プレイブック全体
  8. Ansibleプレイブックの実行

1。サーバーが最新であることを確認する

続行する前に、これらのタスクを使用してサーバーが最新であることを確認してください。最初にリポジトリを更新してから、すべてのパッケージをアップグレードします。

- name: Update apt repo and cache on Ubuntu box
  apt:
    update_cache: yes
    force_apt_get: yes
    cache_valid_time: 3600

- name: Upgrade all packages on servers
  apt:
    upgrade: dist
    force_apt_get: yes

2。必要なパッケージのインストール

次に、プレイブックに必要ないくつかの一般的なパッケージをインストールしましょう。 wgetパッケージは、一部のファイルのダウンロードに使用されます。

- name: Install required packages
  dnf:
    name:
      - vim
      - wget
    state: present

3。 ElasticsearchPGPキーをインポートする

Elasticsearchは、Elasticsearch署名キーを使用してすべてのパッケージに署名します。この役割を使用して公開署名キーをダウンロードしてインストールします:

- name: Import the Elasticsearch PGP Key
  shell: |
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  args:
    warn: no

4。 APTリポジトリからElasticsearchをインストールします

Elasticsearchはデフォルトでは使用できないため、リポジトリ定義ファイルを作成する必要があります。 aptキャッシュを更新した後、ElasticSearchをインストールできます。

- name: Add repository defiition
  copy:
    dest: /etc/apt/sources.list.d/elastic-7.x.list
    content: |
      deb https://artifacts.elastic.co/packages/7.x/apt stable main

- name: Install the Elasticsearch package
  apt:
    name: elasticsearch
    state: present
    update_cache: yes
  notify:
    - Start Elasticsearch
    - Enable Elasticsearch

上記では、ハンドラーに Elasticsearchを開始し、Elasticsearchを有効にするように通知しています。

5。ハンドラーを設定する

ハンドラーはAnsibleプレイブックの通常のタスクと同じですが、タスクに「通知」ディレクティブが含まれている場合にのみ実行されます 。また、何かが変わったことも示しています。

Elasticsearchのインストール用のハンドラーを設定して設定しましょう:

handlers:
  - name: Start Elasticsearch
    systemd:
      name: elasticsearch
      state: started

  - name: Enable Elasticsearch
    systemd:
      name: elasticsearch
      enabled: yes

6。ホストファイルの作成

Ansibleは、一部のインベントリに対してタスクを実行します。サーバーインベントリはhosts.yamlとして追加されます サーバーへの到達方法を定義するファイル。これは私のhostsファイルです:

all:
  hosts:
    elastsrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: ubuntu

7。プレイブック全体

これが全体のプレイブックです。 elasticsearch.yamlとして保存します

---
- name: Install Elasticsearch on Ubuntu
  hosts: elastsrv
  become: yes
  gather_facts: False
  tasks:
    - name: Update apt repo and cache on all Ubuntu box
      apt:
        update_cache: yes
        force_apt_get: yes
        cache_valid_time: 3600

    - name: Upgrade all packages on servers
      apt:
        upgrade: dist
        force_apt_get: yes

    - name: Set hostname
      hostname:
        name: elastsrv.citizix.com

    - name: Install Common packages
      apt:
        name:
          - vim
          - wget
        state: latest

    - name: Import the Elasticsearch PGP Key
      shell: |
        wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
      args:
        warn: no

    - name: Add repository defiition
      copy:
        dest: /etc/apt/sources.list.d/elastic-7.x.list
        content: |
          deb https://artifacts.elastic.co/packages/7.x/apt stable main

    - name: Install the Elasticsearch package
      apt:
        name: elasticsearch
        state: present
        update_cache: yes
      notify:
        - Start Elasticsearch
        - Enable Elasticsearch

  handlers:
    - name: Start Elasticsearch
      systemd:
        name: elasticsearch
        state: started

    - name: Enable Elasticsearch
      systemd:
        name: elasticsearch
        enabled: yes

8。 AnsiblePlaybookの実行

ansibleプレイブックを実行するには、ansibleをローカルにインストールする必要があります。 OSパッケージマネージャーを使用してansibleをインストールするか、python pipを使用している場合はそれを使用できます:

sudo pip install ansible

また、サーバーへのsshアクセスが必要です。サーバーへの接続を設定していることを確認してください。私はsshキー認証を使用しており、sshは次のコマンドを使用して機能します:

ssh [email protected]

これで、次のコマンドを使用してプレイブックを実行できます:

ansible-playbook -i hosts.yaml elasticsearch.yaml -vv

プレイブックの実行が完了すると、サーバーにインストールされているElasticsearchサーバーにアクセスできます。


Ubuntu
  1. Ubuntu18.04LTSにAnsibleをインストールして構成する方法

  2. Ubuntu20.04にElasticsearchをインストールして設定する方法

  3. Ubuntu 18.04 に Elasticsearch をインストールして構成する方法

  1. WindowsにAnsibleをインストールして構成する方法

  2. Ubuntu20.04にAnsibleをインストールして構成する方法

  3. Ansibleを使用してUbuntu20.04にRedis6をインストールおよび構成する方法

  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法