CDH用戶管理


 一 簡介

  CDH大數據集群安裝和使用過程中,涉及到很多用戶。根據用戶性質分為服務用戶和使用用戶。服務用戶是在搭建CDH集群中自動創建的,使用用戶是在集群使用中管理員創建的。這些用戶都是基於linux的用戶。因此先補充一下linux 用戶知識。

  二 Linux 用戶操作

  1. 查看用戶信息

  • whoami 查看當前登錄用戶名
  • groups 查看當前登錄用戶的組內成員
  • groups test 查看test用戶所在的組,以及組內成員
  • cat /etc/passwd (文件格式是:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell)
  • cat /etc/group (文件格式是: 組名:口令:組標識號:組內用戶列表)

       2. 用戶操作(添加,刪除,修改)

       2.1 添加 useradd

  格式:useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

  主要參數

  -c:加上備注文字,備注文字保存在passwd的備注欄中。

  -d:指定用戶登入時的主目錄,替換系統默認值/home/<用戶名>

  -D:變更預設值。

  -e:指定賬號的失效日期,日期格式為MM/DD/YY,例如06/30/12。缺省表示永久有效。

  -f:指定在密碼過期后多少天即關閉該賬號。如果為0賬號立即被停用;如果為-1則賬號一直可用。默認值為-1.

  -g:指定用戶所屬的群組。值可以使組名也可以是GID。用戶組必須已經存在的,期默認值為100,即users。

  -G:指定用戶所屬的附加群組。

  -m:自動建立用戶的登入目錄。

  -M:不要自動建立用戶的登入目錄。

  -n:取消建立以用戶名稱為名的群組。

  -r:建立系統賬號。

  -s:指定用戶登入后所使用的shell。默認值為/bin/bash。

  -u:指定用戶ID號。該值在系統中必須是唯一的。0~499默認是保留給系統用戶賬號使用的,所以該值必須大於499。

  特例:無法使用shell,且其用戶目錄至/var/servlet/service 

     useradd tomcat  -d /var/servlet/service -s /sbin/nologin

  2.2 刪除用戶

  • userdel username
  • userdel -f  username 連同用戶目錄一並刪除

  2.3 用戶權限和用戶組修改

  文件用戶和用戶組修改:chown

  權限修改:chmod

  1. -a|--append  ##把用戶追加到某些組中,僅與-G選項一起使用 
  2. -c|--comment ##修改/etc/passwd文件第五段comment 
  3. -d|--home    ##修改用戶的家目錄通常和-m選項一起使用 
  4. -e|--expiredate  ##指定用戶帳號禁用的日期,格式YY-MM-DD 
  5. -f|--inactive    ##用戶密碼過期多少天后采用就禁用該帳號,0表示密碼已過期就禁用帳號,-1表示禁用此功能,默認值是-1 
  6. -g|--gid     ##修改用戶的gid,改組一定存在
  7. -G|--groups  ##把用戶追加到某些組中,僅與-a選項一起使用 
  8. -l|--login   ##修改用戶的登錄名稱 
  9. -L|--lock    ##鎖定用戶的密碼 
  10. -m|--move-home   ##修改用戶的家目錄通常和-d選項一起使用 
  11. -s|--shell   ##修改用戶的shell 
  12. -u|--uid     ##修改用戶的uid,該uid必須唯一 
  13. -U|--unlock  ##解鎖用戶的密碼

  三, CDH 中用戶信息

  1. 按照功能匯總

用戶名

密碼

說明

cloudera-scm

cloudera-scm-server服務的用戶

admin

自定義

cloudera manager管理員用戶

scm

自定義

cm數據庫的用戶名和密碼

自定義

Kerberos 數據庫

admin/admin@HADOOP.COM

(自定義)

自定義

Kerberos database管理員

cloudera-scm/admin@HADOOP.COM(自定義)

自定義

Cloudera manager管理kerberos的

自定義

Ldap數據庫

Flume,hdfs,solr zookeeper,llama,httpfs,mapred,sqoop,yarn,kms,hive,sqoop2,oozie,hbase,sentry,impala,spark,hue,ldap

大數據集群中各服務用戶

hdfs@HADOOP.COM和hive@HADOOP.COM

自定義

大數據集群的超級用戶(權限管理使用)

duan(自定義)

大數據集群普通用戶,用戶ID>=1000

duan@HADOOP.COM

自定義

Kerberos創建用戶

  2. 官網文檔:https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_network_and_security_requirements.html

 

 四,創建普通用戶 

  1. 系統介紹  

  • 操作系統:CentOs 7
  • Hadoop版本:CDH5.12.2
  • JDK版本:1.8.0_101
  • OpenLDAP 版本:2.4.44
  • Kerberos 版本:1.15.1-19.el7
  • sentry 版本

           2. 創建用戶

 說明:每個帳戶的用戶ID必須大於或等於1000.在/etc/hadoop/conf/taskcontroller.cfg文件中,banned.users屬性的默認設置是mapred,hdfs和bin,以防止作業 從這些用戶帳戶提交。 min.user.id屬性的默認設置是1000,以防止使用小於1000的用戶ID提交作業,這些用戶ID通常是Unix超級用戶。

2.1 堡壘機節點創建test1 用戶和用戶組

useradd test1  -u 1001

 usermod -a -G duan test1(duan是普通用戶組)

2.2 ldap增加賬戶及賬戶組(待驗證)

grep -E "dsp:|dmp:" /etc/passwd  >/opt/passwd.txt      
/usr/share/migrationtools/migrate_passwd.pl /opt/passwd.txt /opt/passwd.ldif  
ldapadd -x -D "uid=ldapadmin,ou=people,dc=yeahmobi,dc=com" -w secret -f /opt/passwd.ldif  
grep -E "dsp:|dmp:" /etc/group  >/opt/group.txt  
/usr/share/migrationtools/migrate_group.pl /opt/group.txt /opt/group.ldif  
ldapadd -x -D "uid=ldapadmin,ou=people,dc=yeahmobi,dc=com" -w secret -f /opt/group.ldif  
ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=dsp,ou=people,dc=yeahmobi,dc=com" -S    
ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=dmp,ou=people,dc=yeahmobi,dc=com" -S     
ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=bi,ou=people,dc=yeahmobi,dc=com" -S 

2.3 kerberos 生成用戶

kadmin.local
kadmin.local: addprinc test1 (密碼是####)
kadmin.local: xst -k /tmp/keytab/test1.keytab  -norandkey test1   說明:-norandkey參數是生成不變的密碼。

2.4 hadoop中增加相應用戶的目錄及權限

hadoop fs -mkdir /user/test1  
hadoop fs -chmod -R 755 /user/test1  
hadoop fs -chown -R test1:test1/user/test1

2.4 sentry 基於角色賦予權限,所以

sentry安裝后需要和hive,impala等組件集成,詳見其他材料。本文只介紹用戶角色權限。

集成后,需要創建hive管理賬號。

kadmin.local
kadmin.local: addprinc hive (密碼是####)
kadmin.local: xst -k /tmp/keytab/hive.keytab  -norandkey hive   說明:-norandkey參數是生成不變的密碼。
kinit hive
Beeline
>!connect jdbc:hive2://duan139:10000/default;principal=hive/duan139@HADOOP.COM
>create role admin;
>grant all on server server1 to role admin;
>grant role admin to group hive;

創建普通用戶(hive用戶beeline登陸)

>create role duan ;
>grant all on database default to role duan with grant option;
>grant role duan to group duan;

此處有個邏輯:test1屬於duan用戶組,上述步驟創建了duan角色,並賦予default數據庫全部權限,然后授予到duan 用戶組,即duan 用戶組中的用戶成員就有default數據庫全部權限了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM