天天看點

Zookeeper配置Kerberos認證1. 配置 ZooKeeper Server1.1 生成 keytab2. 配置 ZooKeeper Client2.1 生成 keytab

關于 hadoop 叢集上配置 kerberos 以及 ldap 的過程請參考本部落格以下文章:

hdfs配置kerberos認證

yarn配置kerberos認證

hive配置kerberos認證

impala配置kerberos認證

hadoop配置ldap內建kerberos

參考 使用yum安裝cdh hadoop叢集 安裝 hadoop 叢集,叢集包括三個節點,每個節點的ip、主機名和部署的元件配置設定如下:

在 cdh1 節點,即 kdc server 節點上執行下面指令:

拷貝 zookeeper.keytab 檔案到其他節點的 /etc/zookeeper/conf 目錄:

并設定權限,分别在 cdh1、cdh2、cdh3 上執行:

由于 keytab 相當于有了永久憑證,不需要提供密碼(如果修改 kdc 中的 principal 的密碼,則該 keytab 就會失效),是以其他使用者如果對該檔案有讀權限,就可以冒充 keytab 中指定的使用者身份通路 hadoop,是以 keytab 檔案需要確定隻對 owner 有讀權限(0400)

在 cdh1 節點上修改 /etc/zookeeper/conf/zoo.cfg 檔案,添加下面内容:

将修改的上面檔案同步到其他節點:cdh2、cdh3:

在 cdh1 的配置檔案目錄建立 jaas.conf 檔案,内容如下:

同樣,在 cdh2 和 cdh3 節點也建立該檔案,注意每個節點的 principal 有所不同。

然後,在 /etc/zookeeper/conf/ 目錄建立 java.env,内容如下:

并将該檔案同步到其他節點:

依次重新開機,并觀察日志:

拷貝 zkcli.keytab 檔案到其他節點的 /etc/zookeeper/conf 目錄:

在 cdh1 的配置檔案目錄 /etc/zookeeper/conf/ 建立 client-jaas.conf 檔案,内容如下:

同步到其他節點:

然後,在 /etc/zookeeper/conf/ 目錄建立或者修改 java.env,内容如下:

如果,zookeeper-client 和 zookeeper-server 安裝在同一個節點上,則 java.env 中的 <code>java.security.auth.login.config</code> 參數會被覆寫,這一點從 zookeeper-client 指令啟動日志可以看出來。

啟動用戶端:

建立一個 znode 節點:

驗證該節點是否建立以及其 acl:

繼續閱讀