LoginSignup
0
0

More than 3 years have passed since last update.

Hadoopクラスタの構築(Cloudera Manager on Ubuntu 18.04)

Last updated at Posted at 2020-09-11

TL;DR

  • Hadoopクラスタを構築する
  • Clouderaを利用してクラスタの構築とエコシステムを導入する

環境

管理ノードおよびマスターノードを兼任するサーバ1台と他7台のサーバの合計8台でクラスタを構築します.
OSやバージョンは次のとおりです.

  • Ubuntu 18.04 LTS
  • Cloudera Express 6.3.x

Cloudera Managerや多くのロールを割り当てる管理ノードは,多くのメモリを消費するので可能な限り増設することをおすすめします.もしくは専用のノードで分けるべきです.

本稿では,マスターノードをamdahl01.example.jp,その他スレーブノードをamdahl[02-08].example.jpで示します.

インストール

作業は基本的にCloudera Installation Guideに基づきます.

ユーザはインストール時にclouderaというアカウントを作成しています.sudo権限を持ったアカウントなら何でもよいです.
sudo権限はパスワードなしで実行できるようにしてください.

sudo update-alternatives --config editor # デフォルトエディタの変更
sudo visudo # clouderaユーザをパスワード無しでsudo実行可能にする
/etc/sudoers
cloudera ALL=(ALL) NOPASSWD: ALL

全てのノードにUbuntu 18.04 Serverをインストールします.ネットワーク設定等は環境に合わせてください.本稿ではnetplanを利用しています.ミラーサーバはhttp://jp.archive.ubuntu.com/ubuntu/を設定しています.インストール後はパッケージを最新のものに更新しておきます.

sudo apt update -y && sudo apt upgrade -y

ネットワーク

各ノードには適切にホスト名とFQDNを設定してください.ホスト名はインストール時に指定するか,コマンドで設定します.

sudo hostnamectl set-hostname amdahl01.example.jp

各ノードのIPアドレスとFQDNを解決できるようにします.外部公開の必要もないので/etc/hostsを編集して関連付けます.ホスト名とlocalhostとの関連付けは削除しといたほうがいいかもしれません.

/etc/hosts
127.0.0.1 localhost

192.168.141.141 amdahl01.example.jp amdahl01
192.168.141.142 amdahl02.example.jp amdahl02
192.168.141.143 amdahl03.example.jp amdahl03
192.168.141.144 amdahl04.example.jp amdahl04
192.168.141.145 amdahl05.example.jp amdahl05
192.168.141.146 amdahl06.example.jp amdahl06
192.168.141.147 amdahl07.example.jp amdahl07
192.168.141.148 amdahl08.example.jp amdahl08

インストール準備

ファイアウォールを無効化します.今回はsystemdなので次のコマンドで停止できます.

sudo systemctl stop ufw
sudo systemctl disable ufw

SELinuxが有効になっている場合は無効化してください.今回は未インストール状態なので省略します.

既にsystemd下で時刻管理がなされているはずなので,ntpに切り替えます.

sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd

ntpをインストールします.
/etc/ntp.confを編集してntpサーバを設定します.無難にntp.nict.jpを設定しています.

sudo apt install -y ntp ntpdate
sudo systemctl start ntp
sudo systemctl enable ntp

vi /etc/ntp.conf
ntpdate -u ntp.nict.jp
hwclock --systohc

必要なソフトウェアをインストールします.

sudo apt install -y vim tmux git curl wget build-essential
sudo apt install -y make xz-utils file liblzma-dev patch zlib1g-dev g++ gcc 

MariaDB/MySQL/PostgreSQLのインストール(オプション)

データベースソフトウェアをインストールします.Cloudera Managerインストール時に組み込みのPostgreSQLサーバが構築されるため,利用環境に合わせてセットアップしてください.詳しくは公式ガイドを参照してください.

以下はMySQLをセットアップする例です.表に示すデータベースおよびユーザを作成しています.

Service Database User
Cloudera Manager Server scm scm
Acrivity Monitor amon amon
Hue hue hue
Hive hive hive
Oozie oozie oozie
sudo apt install -y mysql-server libmysql-java
sudo /usr/bin/mysql_secure_installation
mysql -u root -p
create database <database> default character set utf8 default collate utf8_general_ci;
GRANT ALL ON <database>.* TO '<user>'@'%' IDENTIFIED BY '<password>';

Cloudera Managerに利用するデータベースは以下のスクリプトで設定します.その他エコシステムのデータベースはクラスタ作成時にWeb GUIで設定します.

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm

組み込みのデータベースを利用しない場合,以下のサービスは不要です.起動している場合は停止しておいてよいでしょう.

sudo systemctl stop cloudera-scm-server-db.service
sudo systemctl disable cloudera-scm-server-db.service

Cloudera Managerのインストール

Cloudera Managerをインストールします(管理ノードのみ).
インストーラをダウンロードして,実行権限を与えます.実行するとTUIインストーラが立ち上がりますが,特に迷う部分もないため,そのまま進めてください.正常にインストールが完了すれば,ブラウザからamdahl01.example.jp:7180でアクセスが可能になります.

wget https://archive.cloudera.com/cm6/6.3.0/cloudera-manager-installer.bin
chmod u+x cloudera-manager-installer.bin
sudo ./cloudera-manager-installer.bin

クラスタのインストール

Cloudera Managerのウェブコンソールにログインします.ユーザ名/パスワードはデフォルトではadmin/adminです.
画面の指示に従い,セットアップを進めてください.設定を変更しなければ,特段迷う点はないかと思います.

管理対象のホスト(エコシステムをインストールする対象)はFQDNで指定します.今回は全てのノードにインストールするため,amdahl[01-08].example.jpで検索,および選択しました.
各ノードにソフトウェアをインストールするため,管理ノードから他ノードにSSHできるようにし,またパスワードなしでsudoコマンドを実行できるようにする必要があります.最初に作成したclouderaアカウントを利用するとよいでしょう.SSH資格情報はパスワードおよび公開鍵を設定します.

その他,欲しい環境に合わせてエコシステムやデータベース等を指定してください.エコシステムのダウンロードおよびインストールにかなり時間を要するため,ネットワーク速度は早いほうがよいです.

セットアップが完了すると,ダッシュボード画面に遷移します.恐らく多くの警告が表示されていると思うので,1つずつ設定を見直してください.

2020-09-12_064436_221584607.png

クラスタのセットアップは以上になります.お疲れ様でした.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0