ゼロから始める-CDHビッグデータクラスターを構築する

前書き

       CDHはClouderaのHadoopディストリビューションであり、完全にオープンソースです。ApacheHadoopよりも互換性があり、安全で、安定しています。また、インターネット企業の間でより一般的なアーキテクチャです。

CDHバージョン:CDH 5.12.2、パーセル

ハードウェアの準備

1.クラウドホストの場合は、構成を確認します
。2 最小原則に従って、基本的な準備のために6つの物理ホストを準備します。一般的な構成は次のとおり
です。PS:特定のゲートウェイ機器についてはここでは説明しません。

ゼロから始める-CDHビッグデータクラスターを構築する

3.システムバージョン:Centos7.864ビット最小バージョン

ソフトウェアの準備

次の操作は、すべてのホストで実行する必要があります

1.基本的なネットワークツールをインストールします

yum install net-tools ntp

2.基本的なJAVA環境をインストールします

Jarパッケージ名:jdk-8u151-linux-x64.rpm
インストール方法:rpm -ivh jdk-8u151-linux-x64.rpm
PS:基本的に、私のバージョンよりも大きいバージョンであればすべて機能します。
ゼロから始める-CDHビッグデータクラスターを構築する

3.ホスト名とホスト構成を変更します

実際の状況に応じて、ホストタスクの分散を
最初に有線で大まかに調整します。同期ホスト構成の
現在の分散は次のようになり、システムの/ etc / hostsファイルに書き込まれます。

172.16.3.11    master01
172.16.3.12    master02
172.16.3.101    node01
172.16.3.102    node02
172.16.3.103    node03
172.16.3.104    node04

2.ホスト名を更新し
、ホスト名のブート構成ファイルを変更して、再起動後にホスト名が変更されないようにします。

[root@localhost ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=master01

再起動せずに直接変更する

hostnamectl master01

4.システムパラメータを変更して、クラスタが正常に動作するようにします

Clouderaは、/ proc / sys / vm / swappinessを最大値の10に設定することをお勧めします。現在の設定は60です。
エコー10> / proc / sys / vm / swappiness

透過的な巨大ページ圧縮が有効になっているため、パフォーマンスに大きな問題が発生する可能性があります。実行してください

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

この設定を無効に
するには、同じコマンドを/etc/rc.localなどの初期化スクリプト追加して、システムの再起動時に設定できるようにします。次のホストが影響を受けます。

rc.localに次のオプションを追加します

echo 10 >  /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

#iptables実際の状況に応じて無効にするかどうかを選択します

iptables -F
service ntpd restart


/etc/security/limits.confファイルのシステム制限変更し、#ファイルの終わりの前に次の構成を追加します

*        soft    nproc  65536 
*        hard    nproc  65536 
*        soft    nofile  65536 
*        hard    nofile  65536

次に、ログアウトしてから再度ログインすると、有効になります

5.すべてのタイプのファイアウォールをオフにします

iptables -F
setenforce 0

6.時刻の同期

CDHには、タイムゾーンとタイムマッチングに対する高い要件があり
ます。ntpdサービスを使用して、現在のタイムゾーンに対応する時間を自動的に同期し
ます
。yuminstallntptzselectを使用して現在のタイムゾーンを調整します。
ゼロから始める-CDHビッグデータクラスターを構築する

ゼロから始める-CDHビッグデータクラスターを構築する

最後に、ntpdサービスを開始してntpdrestartをサービスし
ます

マスターノードのインストール

最初にインストールされたバージョンを確認します。
最初にバージョン情報を確認し、バージョン情報を
表示するバージョンを決定し
ますhttps://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html#cmvd_topic_1

2021-03-19現在の情報は以下のとおりです。

Cloudera Manager is available in the following releases:
Cloudera Manager 5.16.2 is the current release of Cloudera Manager 5.16.
Cloudera Manager 5.15.2. 5.14.4, 5.13.3, 5.12.2, 5.11.2, 5.10.2, 5.9.3, 5.8.5, 5.7.6, 5.6.1, 5.5.6, 5.4.10, 5.3.10, 5.2.7, 5.1.6, and 5.0.7 are previous stable releases of Cloudera Manager 5.14, 5.13, 5.12, 5.11, 5.10, 5.9, 5.8, 5.7, 5.6, 5.5, 5.4, 5.3, 5.2, 5.1, and 5.0 respectively.

自作のyumソース

現在のシステムに対応するyumソースをインストールします

最初の方法は、公式ソースを読むことです

現在centos7システムのために、読み取るために、次のソースを実行して
RPM -Uvh http://archive.cloudera.com/cdh5/one-click-install/redhat/7/x86_64/cloudera-cdh-5-0.x86_64.rpmを

2番目の方法は、ローカルソースを構築することです(後続のノードのインストールを容易にするために、この方法をお勧めします)

動作環境:新しいホスト:192.168.1.100は、Centos7システムをすることができ
、第1のプルレポファイルのオンライン対応版
のrpm -Uvh http://archive.cloudera.com/cdh5/one-click-install/redhat/ 7 / x86_64 / cloudera-cdh-5-0.x86_64.rpm
[root @ master01 parcel-repo]
#cat /etc/yum.repos.d/cloudera-manager.repo [cloudera-manager]
name = Cloudera Manager、バージョン5.12.2
BASEURL = https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.12.2/
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY -cloudera
gpgcheck = 1

2.ローカルソースツール
yuminstall -y yum-utils createrepohttpdをインストールします

3.httpd
サービスを開始しますhttpdstart

4.同期は元の
reposync-rcloudera-managerに対応します

5.対応するリポジトリパスを作成します
mkdir-p / var / www / html / mirrors / cdh /
cp -r cloudera-manager / / var / www / html / mirrors / cdh /
cd / var / www / html / mirrors / cdh /
createrepo。

対応するローカルソースが正常にビルドされたら
、リポジトリファイルを変更します
[root @ master01 parcel-repo]
#cat /etc/yum.repos.d/cloudera-manager.repo [cloudera-manager]
name = Cloudera Manager、バージョン
5.12.2 baseurl = http://192.168.1.100/mirrors/cdh/cloudera-manager/
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1

サーバーをインストールします

yum install cloudera-manager-daemons cloudera-manager-server

エージェントをインストールします

/etc/yum.repos.d/cloudera-manager.repoファイルを各ノードに
同期し、各ノードでyum install cloudera-manager-agentを
実行して、イントラネットを介してローカルにインストールし、インストール速度が遅いという恥ずかしさを回避できるようにします。

MySQLをインストールします

CDHクラスターは多くのデータベースでサポートできます。ここではMysqlを使用することを選択します

MYSQL5.5.6のインストール

安装MySQL
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
提取成功之后会在/etc/yum.repo.d路径下方生成两个yum文件

然后开始安装:
yum install mysql-server -y

启动:
service mysqld restart

现在设置的账密如下:
mysql -uroot -p111111
ps:密码复杂点哈,别那么简单

执行CDH建表语句
/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p111111 --scm-host localhost scm scm scm_password

导入连接jar包
mkdir -p /usr/share/java/
cp mysql-connector-java.jar  /usr/share/java/

クラスターをデプロイする前の準備

必要な小包パッケージをmaster01の対応するパスに配置します。
そうしないと、ダウンロードする必要があり、速度が低下します。
ゼロから始める-CDHビッグデータクラスターを構築する

サーバー側のインストールが完了すると、master01には追加の7180ポート
http://172.16.1.11:7180/
admin adminが
あり、以下の手順に従ってクラスターを構築します。

ティック同意する

ゼロから始める-CDHビッグデータクラスターを構築する

無料版を選択してください

ゼロから始める-CDHビッグデータクラスターを構築する
それです。無料版は確かにエンタープライズ版ほど良くはありません、それは特定の状況に依存します。

区画のインストールと対応するバージョンを選択します

ゼロから始める-CDHビッグデータクラスターを構築する

直接続行

ゼロから始める-CDHビッグデータクラスターを構築する

ホストに対応するアカウントパスワードを入力してください

ゼロから始める-CDHビッグデータクラスターを構築する

エージェントは事前にインストールされているため、次のノードの展開が簡単になります

ゼロから始める-CDHビッグデータクラスターを構築する
PS:写真のIPとドキュメントの例は異なり、展開は実際のIPによって異なります。

パーセルパッケージは以前にデプロイされているため、ここでは高速になります

ゼロから始める-CDHビッグデータクラスターを構築する

実際のビジネス状況に応じて、実際のニーズに合わせてSparkを選択しました。

ゼロから始める-CDHビッグデータクラスターを構築する

実情に応じたノード分布

ゼロから始める-CDHビッグデータクラスターを構築する
NameNode:主に、名前空間情報、ブロック情報などのHDFSメタデータ情報を格納するために使用されます。実行中、この情報はメモリに保存されます。ただし、この情報はディスクに保持することもできます。
セカンダリNameNode:全体の目的は、HDFSでチェックポイントを提供することです。これはNameNodeの単なるヘルパーノードです。これはバックアップノードではなく、チェックノードであることに注意してください。特に注意してください。
Balancer:ノード間のデータスペース使用率のバランスを
取ります。HttpFS:clouderacompanyが提供するhadoophdfsのhttpインターフェイスです。WebHDFSRESTAPIを介して、hdfsの読み取りと書き込みを行う
ことができます。NFSGateway:HDFS NFSゲートウェイを使用すると、クライアントはHDFSをマウントして対話できますローカルファイルシステムの一部であるかのように、NFSを介してそれを使用します。ゲートウェイはNFSv3をサポートします。
データノード:データが保存されているノード

ゼロから始める-CDHビッグデータクラスターを構築する
Hiveゲートウェイ:Hiveデフォルトゲートウェイ。デフォルトでは、各ノードに
Hiveメタストアサーバー:Hiveメタデータアクセスエントリが必要です。Thriftプロトコルを使用して、Hiveメタデータへの言語間アクセスを提供します。
WebHCatServer:WebHCatは、ユーザーがHive DDL操作を実行し、Hive HQLタスクを実行し、安全なHTTPSプロトコルを介してMapReduceタスクを実行できるようにするRestインターフェースを提供します。
HiveServer2:Hiveライブラリ内のデータへのアクセスエントリ。Thriftプロトコルは、PythonやJavaなどのHiveデータへの一般的なリモートアクセスなど、Hive内のデータへのクロスランゲージアクセスを提供するためにも適用できます。beelineクライアントはまた、HiveServer2を介してデータにアクセスする
PS :比較的言えば、Hiveにテーブルがある場合。Metastoreサーバーを介してこのテーブルの情報にアクセスし、HiveServer2を介してテーブル
の特定のコンテンツアクセスます

ゼロから始める-CDHビッグデータクラスターを構築する
Hue Server:Hue Serverは、Django Python Webフレームワーク上に構築されたWebアプリケーションです。
ロードバランサー:Hueのロードバランシング

ゼロから始める-CDHビッグデータクラスターを構築する
サービスモニター:サービスの状態とメトリックに関する情報を収集します。
アクティビティモニター:サービスのアクティビティに関する情報を収集します。
ホストモニター:ホストに関する状態とメトリックの情報を収集します。
イベントサーバー:コンポーネントイベントを集約し、アラートに使用しますそして、検索します。
アラートPublisherは:イベントの特定の種類のアラートを生成して提供します

ゼロから始める-CDHビッグデータクラスターを構築する
Oozie:これはHadoopテクノロジースタックと統合されたプロジェクトであり、複数のタイプのHadoopジョブ(Java map-reduce、Streaming map-reduce、Pig、Hive、Sqoop and Distcp、Sparkなど)およびシステム固有のジョブ( Javaプログラム)およびシェルスクリプト)、ApacheHadoopジョブを管理するためのワークフロースケジューラシステム。

ゼロから始める-CDHビッグデータクラスターを構築する
履歴サーバー:履歴タスクレコード
ゲートウェイ:Sparkのノードスケジューリングゲートウェイ

ゼロから始める-CDHビッグデータクラスターを構築する
リソースマネージャー:リソースの割り当てとスケジューリング
ジョブ履歴:履歴タスクスケジューリングレコード
ノードマネージャー:単一ノードのリソースとタスクの管理

ゼロから始める-CDHビッグデータクラスターを構築する
サーバー:少なくとも3つのノード、妥当な場合は5つのノード、主に構成管理、分散同期などに使用されます。

次の図に示すように、対応するデータベース接続は次のステップで直接構成できます。

ゼロから始める-CDHビッグデータクラスターを構築する

ゼロから始める-CDHビッグデータクラスターを構築する

次のステップ->前の展開に従って自動的にインストールを開始します

ゼロから始める-CDHビッグデータクラスターを構築する

最後に、クラスターがセットアップされました、乾杯!

ゼロから始める-CDHビッグデータクラスターを構築する

総括する

       CDHは比較的完全なコンポーネントと管理メカニズムを提供しますが、それは保守と最適化が必要ないという意味ではありません。フォローアップで最適化関連のコンテンツについて徐々に話します。

おすすめ

転載: blog.51cto.com/14839701/2665703