1. 程式人生 > >給hadoop web監控介面加上安全機制

給hadoop web監控介面加上安全機制

當hadoop叢集安裝完成後,如果叢集是部署在區域網上,相對來講,可不考慮安全問題,但部署在網際網路上,需要對web控制介面進行安全機制設定。如果沒有設定時,在瀏覽器中輸入namenode的主機地址加上50070埠時,出現如下的介面:

注意,圖中有一名:Security is OFF,說明沒有設定安全機制,那如何設定安全機制呢?

1.修改檔案core-site.xml

<property>
  <name>hadoop.http.filter.initializers</name>
  <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
</property>
<property>
  <name>hadoop.http.authentication.type</name>
  <value>simple</value>
</property>
<property>
  <name>hadoop.http.authentication.token.validity</name>
  <value>3600</value>
</property>
<property>
  <name>hadoop.http.authentication.signature.secret.file</name>
  <value>/usr/local/hadoop1/hadoop-http-auth-signature-secret</value>
</property>
<property>
  <name>hadoop.http.authentication.cookie.domain</name>
  <value></value>
</property>
<property>
  <name>hadoop.http.authentication.simple.anonymous.allowed</name>
  <value>false</value>
</property>

2.在目錄/usr/local/hadoop1(我的hadoop目錄)下生成檔案hadoop-http-auth-signature-secret

命令:echo \"xcg\" > /usr/local/hadoop1/hadoop-http-auth-signature-secret

3.將生成的檔案複製到其他data節點主機對應目錄下,重啟叢集。

4.在位址列用http://192.168.1.101:50070(我的namenode節點主機)會401錯誤,但在地址後加上?user.name=xcg,xcg是剛才我在/hadoop-http-auth-signature-secret檔案中輸入的使用者名稱,這時可以正常訪問了。