Hadoopセットアップ >

目次

概要

  1. このドキュメントでは、認証バックエンドにKerberosを、認可バックエンドにLDAPを使用したセキュアHadoop完全分散クラスタのモデル環境について説明しています。
  2. なお、認証バックエンドを省略すればそのまま非セキュア環境と見なすことができます。

サーバ構成

コロケーションcolo00
レルム-
ドメインio.example.com
No.ホスト役割cake.pngChefロール備考
クラスタ名common-base(共通基盤環境)
chef0{0..1}ChefServer-PuppetやAnsibleTower等でも良い
コロケーションcolo00
レルムGRID.EXAMPLE.COM
ドメインgrid.example.com
No.ホスト役割cake.pngChefロール備考
クラスタ名grid-base(Grid基盤環境)
adm0{0..1}管理ワークステーションgrid-admChef Workstation
ftp0{0..1}アーカイブローカルミラーサイトgrid-ftpapt、yumリポジトリ等の組織内ミラーまたはキャッシュプロキシ
gpm0{0..1}構成自動化マスタサーバ(Grid Provisioning Master)grid-gpm必要に応じて
ns0{0..1}NameService?(Kerberos、LDAP、場合によってはDNSを追加)grid-ns全体としてコロケーションを横断する。
クラスタのサイズにあわせて増設
zk0{0..2}ZooKeeperアンサンブル(奇数台)grid-zk-colo00利用プロダクトの数にあわせてObserverを増設
gm9{0..1}Ganglia gmetadgrid-gm
nm9{0..1}Nagiosgrid-nm
クラスタ名pleiades(Hadoop、HBase等)
nn0{0..2}nn00がマスタNameNode、nn01がバックアップ、nn02がチェックポイントノードpleiades-nn
rm0{0..1}ResourceManager?pleiades-rmHadoop 2.0以降
jt0{0..1}jt00がマスタJobTracker、jt01がバックアップpleiades-jtHadoop 1.x以前のみ
hm0{0..1}HBase Master(マルチマスタ)pleiades-hm
dn0000{0..1}DataNodeTaskTracker(またはHadoop 2.0以降のNodeManager?
およびHBase RegionServer?
pleiades-dn必要に応じて増設
jh0{0..1}JobHistoryServer?pleiades-jhHadoop 2.0以降
gw0{0..1}Gateway、クライアントアクセス用(shell等)pleiades-gw必要に応じて増設
wf0{0..1}Ooziepleiades-wf
pxy0{0..1}HDFSProxyHttpFS(Hoop)pleiades-pxy必要に応じて増設
meta0{0..1}HCatalog with Hivepleiades-meta
gm0{0..1}Ganglia gmetadpleiades-gm
nm0{0..1}Nagiospleiades-nm

ディレクトリ構成

VIP

ドメインio.example.com
No.VIPのDNS説明備考
クラスタ名commons-base(共通基盤環境)
chefChefServerのための冗長化VIP
ドメインgrid.example.com
No.VIPのDNS説明備考
クラスタ名grid-base(Grid基盤環境)
ftp組織内ミラーのための負荷分散および冗長化VIP
base-nmNagios Web UIアクセスのための負荷分散および冗長化VIP
base-gmGanglia Web UIアクセスのための負荷分散および冗長化VIP
base-gpmProvisioningMasters?アクセスのための冗長化VIP
不要管理コンソールサーバ(AdministrativeStations?
NameService?サーバ
ZooKeeper
クラスタ名pleiades(Hadoop、HBase等)
pleiades-nmNagios Web UIアクセスのための負荷分散および冗長化VIP
pleiades-gmGanglia Web UIアクセスのための負荷分散および冗長化VIP
pleiades-nnマスタNameNodeのVIPのため
pleiades-cnチェックポイントノードのVIPのため
pleiades-rmマスタResourceManager?のVIPのためHadoop 2.0以降
pleiades-jtマスタJobTrackerのVIPのためHadoop 1.x以前のみ
pleiades-jhマスタJobHistoryServer?のVIPのためHadoop 2.0以降
pleiades-gwGatewayサーバ群DNSラウンドロビン
pleiades-wfOozieワークフローエンジンのVIPのため
pleiades-pxyHDFSプロキシ機能のためDNSラウンドロビン
pleiades-metaHCatalogのVIPのため
不要HBaseのHMasterZooKeeperでフェイルオーバするため

Kerberosプリンシパル

info.png非セキュアHadoopでは不要です。

  • ワーカデーモン(DataNode + TaskTracker/NodeManager?)は同一ノードで起動させる前提です。
  • SPNEGO/Kerberos用プリンシパルを格納する各keytabファイルについては、クラスタサイドでは HTTP.keytab というシンボリックリンクにて参照します。
レルムGRID.EXAMPLE.COM
No.ノードKerberosプリンシパルオーナモードkeytabファイル
(/grid/etc/keytabs
/colo00)
備考
0ZooKeeperzookeeper/zk0{0..2}.grid.example.com@GRID.EXAMPLE.COMzookeeper:zookeeper400zk.keytabSASL/Kerberos用(Client-Server相互認証のみ)
1Ganglia WebHTTP/gm9{0..1}.grid.example.com@GRID.EXAMPLE.COMroot:www-data440/etc/krb5.keytabSPNEGO/Kerberos用
2NagiosHTTP/nm9{0..1}.grid.example.com@GRID.EXAMPLE.COMroot:www-data440/etc/krb5.keytabSPNEGO/Kerberos用
No.ノードKerberosプリンシパルオーナモードkeytabファイル
(/grid/etc/keytabs
/pleiades)
備考
0-hdfs@GRID.EXAMPLE.COMhdfs:hdfs--HDFS管理用ユーザプリンシパル
1NameNodehdfs/pleiades-nn.grid.example.com@GRID.EXAMPLE.COMhdfs:hdfs400HTTP.keytab ->
nn.keytab
SASL/Kerberos(Hadoop RPC)用
host/pleiades-nn.grid.example.com@GRID.EXAMPLE.COMKSSL*1用(checkpoint、fsck)
HTTP/pleiades-nn.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(checkpoint、fsck*2WebHDFS、Web Console)
2CheckpointNode?
(SecondaryNameNode)
hdfs/pleiades-cn.grid.example.com@GRID.EXAMPLE.COMhdfs:hdfs400HTTP.keytab ->
cn.keytab
SASL/Kerberos(Hadoop RPC)用
host/pleiades-cn.grid.example.com@GRID.EXAMPLE.COMKSSL*3用(checkpoint)
HTTP/pleiades-cn.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(checkpoint*4、Web Console)
3-yarn@GRID.EXAMPLE.COMyarn:yarn--YARN管理用ユーザプリンシパル
4ResourceManager?
(Hadoop 2.0)
yarn/pleiades-rm.grid.example.com@GRID.EXAMPLE.COMyarn:yarn400HTTP.keytab ->
rm.keytab
SASL/Kerberos(Hadoop RPC)用
HTTP/pleiades-rm.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(Web Console)
5-mapred@GRID.EXAMPLE.COMmapred:mapred--MapReduce?管理用ユーザプリンシパル
6JobTrackermapred/pleiades-jt.grid.example.com@GRID.EXAMPLE.COMmapred:mapred400HTTP.keytab ->
jt.keytab
SASL/Kerberos(Hadoop RPC)用
HTTP/pleiades-jt.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(Web Console)
7DataNodehdfs/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMhdfs:hdfs400dn.keytabSASL/Kerberos(Hadoop RPC)用
HTTP/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMhdfs:hadoop440HTTP.keytab ->
dn-HTTP.keytab
SPNEGO/Kerberos用(WebHDFS、Web Console)
8NodeManager?
(Hadoop 2.0)
yarn/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMyarn:yarn400nm.keytabSASL/Kerberos(Hadoop RPC)用
HTTP/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMhdfs:hadoop440HTTP.keytab ->
dn-HTTP.keytab
SPNEGO/Kerberos用(Web Console)
9TaskTrackermapred/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMmapred:mapred400tt.keytabSASL/Kerberos(Hadoop RPC)用
HTTP/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMhdfs:hadoop440HTTP.keytab ->
dn-HTTP.keytab
SPNEGO/Kerberos用(Web Console)
10JobHistoryServer?
(Hadoop 2.0)
mapred/pleiades-jh.grid.example.com@GRID.EXAMPLE.COMmapred:mapred400HTTP.keytab ->
jh.keytab
SASL/Kerberos(Hadoop RPC)用
HTTP/pleiades-jh.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(Web Console)
11HBase Masterhbase/hm{0..1}.grid.example.com@GRID.EXAMPLE.COMhbase:hbase400HTTP.keytab ->
hm.keytab
SASL/Kerberos(HBase RPC)用
HTTP/hm{0..1}.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用(Web Console)*5
12HBase RegionServer?hbase/dn0000{0..1}.grid.example.com@GRID.EXAMPLE.COMhbase:hbase400hr.keytabSASL/Kerberos(HBase RPC)用
13Oozieoozie@GRID.EXAMPLE.COMoozie:oozie400wf.keytabProxyUser
HTTP/pleiades-wf.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用
14HttpFS(Hoop)(httpfs|hoop)@GRID.EXAMPLE.COM(httpfs|hoop)400pxy.keytabProxyUser
HTTP/pleiades-pxy.grid.example.com@GRID.EXAMPLE.COMSPNEGO/Kerberos用
15HCataloghive-metastore/pleiades-meta.grid.example.com@GRID.EXAMPLE.COMhive:hive400meta.keytabSASL/Kerberos(MetaStore?)、ProxyUser
16Ganglia WebHTTP/gm0{0..1}.grid.example.com@GRID.EXAMPLE.COMroot:www-data440/etc/krb5.keytabSPNEGO/Kerberos用
17NagiosHTTP/nm0{0..1}.grid.example.com@GRID.EXAMPLE.COMroot:www-data440/etc/krb5.keytabSPNEGO/Kerberos用
18クライアントalice@GRID.EXAMPLE.COMalice:alice400-テスト用ユーザ

*1 Kerberized SSL、TLS/Kerberos
*2 以上、1.1.0、2.0.2-alpha以降
*3 Kerberized SSL、TLS/Kerberos
*4 以上、1.1.0、2.0.2-alpha以降
*5 仕様上は未実装だが障害回避用に必要

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-02 (土) 16:06:25 (1929d)