CentOS/RHEL 7 に Cloudera Manager をインストールして構成する方法 - パート 3
この記事では、業界の慣例に従って Cloudera Manager をインストールするプロセスを段階的に説明しました。パート 2 では、Cloudera の前提条件をすでに確認し、すべてのサーバーが完全に準備されていることを確認します。
要件
- CentOS/RHEL 7 に Hadoop サーバーを導入するためのベスト プラクティス – パート 1
- Hadoop の前提条件のセットアップとセキュリティ強化 - パート 2
ここでは、2 つのマスターと 3 つのワーカーからなる 5 ノードのクラスターを作成します。インストール手順を説明するために5 つの AWS EC2 インスタンスを使用しました。これら 5 つのサーバーに以下の名前を付けました。
master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net
Cloudera Manager は、CDH 全体の管理および監視ツールです。私たち管理者は通常、これをCloudera Hadoop の管理ツールと呼んでいます。このツールを使用すると、展開、監視、制御、構成の変更を行うことができます。これはクラスター全体を管理するために非常に重要です。
以下は、Cloudera Manager の重要な用途です。
- 自動化された方法で Hadoop クラスターを展開および構成します。
- クラスターの健全性を監視する
- アラートを構成する
- トラブルシューティング
- 報告
- クラスター使用率レポートの作成
- リソースを動的に構成する
ステップ 1: CentOS に Apache Web サーバーをインストールする
master1
を Cloudera リポジトリの Web サーバーとして使用します。また、Cloudera Manager は WebUI なのでApacheをインストールする必要があります。以下の手順に従って、Apache Web サーバーをインストールします。
yum -y install httpd
httpd をインストールしたら、それを起動し、起動時に開始されるように有効にします。
systemctl start httpd
systemctl enable httpd
httpd起動後、状態を確認します。
systemctl status httpd
httpd を起動した後、ローカル システムでブラウザを開き、検索バーに master1
の IP アドレスを貼り付けます。このテスト ページが表示され、httpd が正常に実行されていることを確認できます。
ステップ 2: IP とホスト名を解決するようにローカル DNS を構成する
IP とホスト名を解決するには、DNS サーバーを用意するか、/etc/hosts を構成する必要があります。ここでは /etc/hosts を構成していますが、リアルタイムでは実稼働環境用に専用の DNS サーバーが存在します。
以下の手順に従って、/etc/hosts にすべてのサーバーのエントリを作成します。
vi /etc/hosts
これはすべてのサーバーで設定する必要があります。
13.235.27.144 master1.linux-console.net master1
13.235.135.170 master2.linux-console.net master2
15.206.167.94 worker1.linux-console.net worker1
13.232.173.158 worker2.linux-console.net worker2
65.0.182.222 worker3.linux-console.net worker3
ステップ 3: SSH パスワードなしログインを構成する
このデモでは、Cloudera Manager が master1
にインストールされています。 master1
から他のすべてのノードへのパスワードなしの SSH を設定する必要があります。なぜなら、Cloudera Manager は ssh を使用して他のすべてのノードと通信し、パッケージをインストールするからです。
以下の手順に従って、master1
から残りのすべてのサーバーへのパスワードなしの SSH を構成します。ユーザー「tecmint」を使用してさらに先に進みます。
図に示すように useradd コマンドを使用して、4 つのサーバーすべてにユーザー「tecmint」を作成します。
useradd -m tecmint
ユーザー「tecmint」に root 権限を与えるには、以下の行を /etc/sudoers ファイルに追加します。スクリーンショットに示すように、ルートの下にこの行を追加できます。
tecmint ALL=(ALL) ALL
ユーザー「tecmint」に切り替え、以下のコマンドを使用して master1
に ssh キーを作成します。
sudo su tecmint
ssh-keygen
次に、図に示すように ssh-copy-id コマンドを使用して、作成したキーを 4 つのサーバーすべてにコピーします。
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
これで、図に示すように、パスワードなしで master1
から残りのすべてのサーバーに ssh 接続できるようになります。
ssh master2
ssh worker1
ssh worker2
ssh worker3
ステップ 4: Cloudera Manager のインストールと構成
RHEL/CentOS のパッケージ管理ツールを使用して、ベンダー (Cloudera) リポジトリを使用してすべてのパッケージをインストールできます。実稼働サーバーではインターネットにアクセスできない可能性があるため、リアルタイムでは独自のリポジトリを作成することがベスト プラクティスです。
ここではCloudera Manager 6.3.1 リリースをインストールします。 master1
をリポジトリ サーバーとして使用するため、以下のパスにパッケージをダウンロードします。
master1
サーバー上に以下のディレクトリを作成します。
sudo mkdir -p /var/www/html/cloudera-repos/cm6
wget ツールを使用して、http 経由でパッケージをダウンロードできます。そこで、 以下のコマンドを使用してwget をインストールします。
sudo yum -y install wget
次に、次の wget コマンドを使用して Cloudera Manager tar ファイルをダウンロードします。
wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
tar ファイルを /var/www/html/cloudera-repos/cm6 に抽出します。http をインストールすることで、すでに master1
を Web サーバーとして作成しています。ブラウザ上でテストしました。
sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
ここで、すべての Cloudera rpm ファイルが /var/www/html/cloudera-repos/cm6/RPMS/x86_64 ディレクトリにあることを確認します。
cd /var/www/html/cloudera-repos/cm6
ll
クラスタ ホスト内のすべてのサーバーに次の内容の /etc/yum.repos.d/cloudera-manager.repo ファイルを作成します。ここでは master1
(65.0.101.148) です。 Webサーバー。
[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0
これでリポジトリが追加されました。以下のコマンドを実行して、有効なリポジトリを表示します。
yum repolist
以下のコマンドを実行して、リポジトリ内の利用可能な Cloudera 関連パッケージをすべて表示します。
yum list available | grep cloudera*
Cloudera-manager-server、cloudeera-manager-agent、cloudeera-manager-daemonscloudeera-manager-server-db-2 をインストールします。
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2
以下のコマンドを実行して、インストールされているすべての Cloudera パッケージを表示します。
yum list installed | grep cloudera*
以下のコマンドを実行して、Cloudera Manager およびその他のサービスのメタデータを保存するための基礎となるデータベースである cloudera-scm-server-db を起動します。
デフォルトでは、Cloudera はCloudera Manager に組み込まれたpostgre-sql を提供します。組み込みのものを、使用できるリアルタイム外部データベースにインストールしています。それはOracle、MySQL、またはPostgreSQLです。
sudo systemctl start cloudera-scm-server-db
以下のコマンドを実行してデータベースのステータスを確認します。
sudo systemctl status cloudera-scm-server-db
Cloudera Manager サーバーの db.properties を設定します。
vi /etc/cloudera-scm-server/db.properties
Cloudera Manager が組み込みデータベースを使用できるようにするには、以下の値を EMBEDDED に設定します。
com.cloudera.cmf.db.setupType=EMBEDDED
以下のコマンドを実行して、Cloudera Manager サーバーを起動します。
sudo systemctl start cloudera-scm-server
以下のコマンドを実行して、Cloudera Manager サーバーのステータスを確認します。
sudo systemctl status cloudera-scm-server
以下のコマンドを実行して Cloudera Manager エージェントを起動し、ステータスを確認します。
sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent
Cloudera Manager サーバーが正常に起動して正常に動作すると、IP アドレスとポート番号 7180 を使用してブラウザで WebUI (ログイン ページ) を表示できます。 Cloudera マネージャー。
https://65.0.101.148:7180
まとめ
この記事では、CentOS 7 に Cloudera Manager をインストールするプロセスを段階的に説明しました。次の記事では、CDH とその他のサービスのインストールについて説明します。