HDFS Yarn Oozie Hive権限管理

2651 ワード

HDFS
HDFSの権限システムは通常のlinuxの権限システムと同様に、各ファイルまたはフォルダには所有者、関連グループ、その他の3つの権限があります. 
同時にHDFSもACLの権限のメカニズムを支持して、ACLは基礎の権限のメカニズムの拡張版で、それは基礎の権限のメカニズムの中で“その他の人”の権限を豊かにしました.「他者」にfine-grainedの権限を指定できます.
hdfs dfs -setfacl -m group:execs:r-- /sales-data
hdfs dfs -getfacl /sales-data

 
HDfsのスーパーユーザーはnamenodeプロセスで使用されるユーザーです.より正確には、namenodeを起動するとスーパーユーザーになります.スーパーユーザーの権限チェックは失敗しないので、何でもできます.固定されたスーパーユーザーはなく、namenodeを起動した人がスーパーユーザーです.HDFSのスーパーユーザーはnamenodeホストのスーパーユーザーではなく、必要ありませんが、彼はすべてのクラスタのスーパーユーザーです.また,HDFSの実験者はパーソナルワークステーションにおり,容易にインストールできるスーパーユーザには何の構成もない.
さらに、管理者は、構成パラメータを使用して、スーパーユーザーである高度なグループを決定できます.
 
Oozie
ProxyUser
リレーショナル・データベースの多くのデータベースのタスクは、sqlserverのjobなど、定期的に実行する必要があります.これらのタスクは、特定のファイルpermissionが必要になる可能性が高いので、特定のアカウントで実行する必要があります.これがproxyの典型的な使用シーンです.HadoopではOozieはこのような需要がよくある.
Hadoopのcore-site.xmlでproxyを構成するには:
 

    hadoop.proxyuser.oozie.hosts
    *



    hadoop.proxyuser.oozie.groups
    *

oozieサーバが任意のホスト上で任意のグループのユーザを演じることができるようにする.
例えば、ユーザAがあるサーバ上でoozieタスクをコミットし、proxyがなければ、デフォルトではoozie serverはoozie serverの起動者のアカウントを使用してこのタスクを潤すが、oozie serverの起動者が管理者であれば、ユーザAは管理者権限を取得する危険である.したがってproxyの目的は、ユーザーAのタスク実行中に、ユーザーAの権限しかなく、レベルを超えてはいけないことを確保することです.
 
YARN
Capacity Scheduler
Capacity schedulerはこの文章を詳しく見ることができます.https://www.cnblogs.com/bugsbunny/p/6773016.html
YARNのプロファイルでは、ユーザーがqueueにappをコミットする権限があるかどうかを決めることができます.
yarnコマンドを使用してタスクをコミットする場合は、パラメータで指定できます.
-D mapreduce.job.queuename=

 
 
Hive
hive.server2.enable.doAs=True
hiveクエリーを発行したユーザーをタスクを実行するユーザーとして使用するかどうか、そうでない場合はhive serverを起動したユーザーを使用してqueryを実行します.
 
Ranger
Hortonworksエンタープライズ版のHadoopシステムでは通常apache rangerで権限管理を行い、グラフィックインタフェースがある.rangerを使用するとdoAs=Falseになります.rangerは自分で権限を制御できるので、HDFSの権限で管理する必要はありません.もちろんdoAsをTrueに設定することができますが、不要なエラーをもたらす可能性があります.
 
Sentry
Clouderaリリースのhadoopはsentryを使用して権限を制御する.現在、Hiveの構成でDoAsを閉じる、sentryを権限管理として開く.
SQL文を使用してroleと権限を管理します.
GRANT SELECT ON DATABASE `database` TO ROLE `role_name`;
CREATE ROLE `role_name`;
GRANT ROLE `role_name1`, `role_name2` TO GROUP `group1`, GROUP `group2`;

When Sentry is enabled, you must use Beeline to execute Hive queries. Hive CLI is not supported with Sentry and must be disabled. See Disabling Hive CLI.
 
 
 
Hue
(Cloudera)Hive QueryをHueで実行する場合、作成するファイルはhdfsでグループsupergroupに属し、所有者の名前はHueのログインユーザ名と一致する.