您好,登錄后才能下訂單哦!
在CM管理界面上要開啟一些選項,這里不做詳細說明,網上一查都有,推薦文章http://www.jianshu.com/p/055c40dcb8c5
但僅限于看配置的內容,至于下面的,作者沒有詳細解釋
sentry的權限設置是在hive sql中完成的,需要用Beeline登錄,如beeline -u jdbc:hive2://hiveIP:10000 -n user -p passwd
用戶名密碼屬于hive所在的OS服務器,也就是說你要在hiveserver2上建立一個用戶并且設置密碼才可以登錄,進去后默認這幾個用戶組有admin權限,即進行grant role,show role等
建議服務器上建立一個admin組,然后增加一個用戶加入這個組,因為上面幾個組可能已經在服務器上存在,且大部分是/bin/false狀態,自建用戶和組最好
權限設置方法參考https://www.cloudera.com/documentation/enterprise/5-9-x/topics/sg_hive_sql.html#concept_c2q_4qx_p4__section_gpy_pg4_rp
在hive sql里創建的role需要加入group,這個group就是os服務器的group。到這里已經可以針對hive進行權限的設置,但有點麻煩,因為如果有多臺hiveserver2
那不是每天機器都要創建一遍用戶名和組嗎,這個時候就要用ldap進行用戶登錄,openldap安裝方法很多,這里不做詳細說明。但是用了ldap后,鑒權的用戶和組還是在os服務器上
這里就需要用到sssd和nslcd,做ldap的mapping,原理就是把ldap上的用戶緩存到本地,這樣不用給ldap過多請求壓力,使用命令getent passwd | getent group
可以看出1000開始的uid是ldap上的,本地不用建立,但是本地也有了這個用戶,當然這些用戶是無法登錄的,可以放心
ldap mapping的配置方法參考http://maxshu.lofter.com/post/6c7b3_93f73,作者寫的很詳細,按照他來不會錯
ldap這邊我用了雙機互為熱備模式,貼出部分配置,slapd.conf
###sync###
index entryCSN,entryUUID eq
overlay syncprov
syncprov-checkpoint 1 1 有一天同步一條記錄
syncprov-sessionlog 100
serverID 001 兩臺機器ID要不一樣
syncrepl rid=000
provider=ldap://另一臺IP:389
bindmethod=simple
binddn="cn=Manager,dc=yonghui,dc=cn"
credentials=wangjing3344 ldap登錄的密碼
searchbase="dc=example,dc=cn" dn
schemachecking=off
type=refreshAndPersist
retry="60 +"
mirrormode on
hue類似,開啟后可以在hue上直接設置hive權限
如果hue也結合了ldap,但是原來已經建立了一些用戶怎么辦?在cm里搜索Hue Service Advanced Configuration Snippet (Safety Valve) for hue_safety_valve.ini 增加內容
[desktop]
[[auth]]
backend=desktop.auth.backend.LdapBackend,desktop.auth.backend.PamBackend,desktop.auth.backend.AllowFirstUserDjangoBackend
這樣2種方式建立的用戶就都可以登錄了,但是要注意,原先在hue上建立的用戶也要在ldap上配置,不然他在hive sql里是看不到任何數據庫的
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。