国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hadoop集成Kerberos安全服務(wù)器

這篇具有很好參考價值的文章主要介紹了Hadoop集成Kerberos安全服務(wù)器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

公司里要給Hadoop配置Kerberos,記錄一下過程中遇到的問題。

共有三臺服務(wù)器:Hadoop102,Hadoop103,Hadoop104

Hadoop節(jié)點(diǎn)分布如下(后續(xù)配置Kerberos的一些文件夾時要嚴(yán)格按照自身Hadoop集群中的節(jié)點(diǎn)情況,我這里只是舉個例子):

Hadoop102:????????DataNode,????????NameNode,????????ResourceManager,????????NodeManager

Hadoop103:????????DataNode,????????NodeManager,????????SecondaryNameNode

Hadoop104:? ? ? ? DataNode,????????NodeManager

Kerberos部署

需要配置Kerberos服務(wù)端和客戶端,我這里選擇Hadoop102作為服務(wù)端

安裝Kerberos服務(wù)

Hadoop102:

yum install -y krb5-server

Hadoop102,Hadoop103,Hadoop104都需要安裝客戶端:

yum install -y krb5-workstation krb5-libs

修改配置文件

接下來到了非常關(guān)鍵的步驟,修改配置文件

Hadoop102獨(dú)有的/var/kerberos/krb5kdc/kdc.conf

修改如下內(nèi)容

[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88

[realms]
EXAMPLE.COM = {
 #master_key_type = aes256-cts
 acl_file = /var/kerberos/krb5kdc/kadm5.acl
 dict_file = /usr/share/dict/words
 admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
 supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal    arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

注意這里要修改的只有最后一行supported_enctypes,只需要刪除aes256-cts:normal,刪除的原因是留著它,需要java新導(dǎo)入一個包,這個坑不是我親自踩的,網(wǎng)上找來的,因此不去驗證它的有效性,不耽誤后續(xù)操作。

三臺服務(wù)器都有的 /etc/krb5.conf

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = HADOOP.COM
 #default_ccache_name = KEYRING:persistent:%{uid}
 udp_preference_limit=1

[realms]
 HADOOP.COM = {
  kdc = hadoop102
  admin_server = hadoop102
 }

[domain_realm]
 .example.com = HADOOP.COM
 example.com = HADOOP.COM

這里主要注意hadoop kerberos,hadoop,大數(shù)據(jù),分布式

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

初始化數(shù)據(jù)庫

在服務(wù)端主機(jī) (hadoop102) 執(zhí)行以下命令,并根據(jù)提示輸入密碼。

kdb5_util create -s

修改管理員權(quán)限配置文件

在服務(wù)端主機(jī) (hadoop102) 修改 /var/kerberos/krb5kdc/kadm5.acl 文件,內(nèi)容如下
*/admin@HADOOP.COM *

啟動 Kerberos 相關(guān)服務(wù)

在主節(jié)點(diǎn) (hadoop102) 啟動KDC,并配置開機(jī)自啟

[root@hadoop102 ~]# systemctl start krb5kdc
[root@hadoop102 ~]# systemctl enable krb5kdc


?
在主節(jié)點(diǎn) (hadoop102) 啟動 Kadmin,該服務(wù)為 KDC 數(shù)據(jù)庫訪問入口

[root@hadoop102 ~]# systemctl start kadmin
[root@hadoop102 ~]# systemctl enable kadmin

創(chuàng)建 Kerberos 管理員用戶

在 KDC 所在主機(jī) (hadoop102),執(zhí)行以下命令,并按照提示輸入密碼

[root@hadoop102 ~]# kadmin.local -q "addprinc admin/admin"

之后admin就作為KDC服務(wù)器的管理員,KDC的邏輯是這樣的,如果輸入如上命令,就會生成你自己設(shè)置密碼的用戶,而還有一種寫法你自己不知道密碼,隨機(jī)密碼,將密碼文件寫入/etc/security/krb5

Hadoop Kerberos 配置

注意:以下所有配置,如果沒有指定是哪臺服務(wù)器做的,例如如下開頭,則需要在所有服務(wù)器上進(jìn)行操作,并且注意配置文件的分發(fā)。

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

?文章來源地址http://www.zghlxwxcb.cn/news/detail-758134.html

創(chuàng)建 Hadoop 系統(tǒng)用戶?

為 Hadoop 開啟 Kerberos,需為不同服務(wù)準(zhǔn)備不同的用戶,啟動服務(wù)時需要使用相應(yīng)的用戶。

以下操作每臺服務(wù)器都要做

創(chuàng)建hadoop組

groupadd hadoop


創(chuàng)建各用戶并設(shè)置密碼

useradd hdfs -g hadoop
echo hdfs | passwd --stdin ?hdfs

useradd yarn -g hadoop
echo yarn | passwd --stdin yarn

useradd mapred -g hadoop
echo mapred | passwd --stdin mapred

為 Hadoop 各服務(wù)創(chuàng)建 Kerberos 主體

主體格式如下:ServiceName/HostName@REALM,例如?dn/hadoop102@EXAMPLE.COM

各服務(wù)所需主體如下

環(huán)境:3臺節(jié)點(diǎn),主機(jī)名分別為hadoop102,hadoop103,hadoop104

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

創(chuàng)建主體?

在所有節(jié)點(diǎn)創(chuàng)建 keytab 文件目錄,這個keytab目錄就是上面所說的存放你沒有指定密碼但是KDC服務(wù)自動生成密碼的密碼文件的所在目錄,每臺服務(wù)器都要運(yùn)行

mkdir /etc/security/keytab/
chown -R root:hadoop /etc/security/keytab/
chmod 770 /etc/security/keytab/

以下命令在 hadoop102 節(jié)點(diǎn)執(zhí)行

NameNode (hadoop102)

[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey nn/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/nn.service.keytab nn/hadoop102"
DataNode (hadoop102)
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey dn/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/dn.service.keytab dn/hadoop102"
NodeManager (hadoop102)
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey nm/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/nm.service.keytab nm/hadoop102"
JobHistory Server (hadoop102)
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey jhs/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/jhs.service.keytab jhs/hadoop102"
Web UI (hadoop102)
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey HTTP/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/spnego.service.keytab HTTP/hadoop102"

?以下命令在 hadoop103 執(zhí)行

ResourceManager (hadoop103)
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey rm/hadoop103"
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/rm.service.keytab rm/hadoop103"
DataNode (hadoop103)
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey dn/hadoop103"
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/dn.service.keytab dn/hadoop103"
NodeManager (hadoop103)
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey nm/hadoop103"
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/nm.service.keytab nm/hadoop103"
Web UI (hadoop103)
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey HTTP/hadoop103"
[root@hadoop103 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/spnego.service.keytab HTTP/hadoop103"

以下命令在 hadoop104 執(zhí)行

DataNode(hadoop104)

[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey dn/hadoop104"
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/dn.service.keytab dn/hadoop104"
Secondary NameNode (hadoop104)
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey sn/hadoop104"
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/sn.service.keytab sn/hadoop104"
NodeManager (hadoop104)
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey nm/hadoop104"
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/nm.service.keytab nm/hadoop104"
Web UI (hadoop104)
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey HTTP/hadoop104"
[root@hadoop104 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/spnego.service.keytab HTTP/hadoop104"

修改所有節(jié)點(diǎn) keytab 文件的所有者和訪問權(quán)限

chown -R root:hadoop /etc/security/keytab/
chmod 660 /etc/security/keytab/*

修改 Hadoop 配置文件

需要修改的內(nèi)容如下,修改完畢需要分發(fā)所改文件,建議在Hadoop102上修改之后通過scp -r Hadoop103/104:$PWD命令進(jìn)行分發(fā)

core-site.xml

[root@hadoop102 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
增加以下內(nèi)容
<!-- Kerberos主體到系統(tǒng)用戶的映射機(jī)制 -->
<property>
  <name>hadoop.security.auth_to_local.mechanism</name>
  <value>MIT</value>
</property>

<!-- Kerberos主體到系統(tǒng)用戶的具體映射規(guī)則 -->
<property>
  <name>hadoop.security.auth_to_local</name>
  <value>
    RULE:[2:$1/$2@$0]([ndj]n\/.*@EXAMPLE\.COM)s/.*/hdfs/
    RULE:[2:$1/$2@$0]([rn]m\/.*@EXAMPLE\.COM)s/.*/yarn/
    RULE:[2:$1/$2@$0](jhs\/.*@EXAMPLE\.COM)s/.*/mapred/
    DEFAULT
  </value>
</property>

<!-- 啟用Hadoop集群Kerberos安全認(rèn)證 -->
<property>
  <name>hadoop.security.authentication</name>
  <value>kerberos</value>
</property>

<!-- 啟用Hadoop集群授權(quán)管理 -->
<property>
  <name>hadoop.security.authorization</name>
  <value>true</value>
</property>

<!-- Hadoop集群間RPC通訊設(shè)為僅認(rèn)證模式 -->
<property>
  <name>hadoop.rpc.protection</name>
  <value>authentication</value>
</property>

hdfs-site.xml

[root@hadoop102 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
增加以下內(nèi)容
<!-- 訪問DataNode數(shù)據(jù)塊時需通過Kerberos認(rèn)證 -->
<property>
  <name>dfs.block.access.token.enable</name>
  <value>true</value>
</property>

<!-- NameNode服務(wù)的Kerberos主體,_HOST會自動解析為服務(wù)所在的主機(jī)名 -->
<property>
  <name>dfs.namenode.kerberos.principal</name>
  <value>nn/_HOST@EXAMPLE.COM</value>
</property>

<!-- NameNode服務(wù)的Kerberos密鑰文件路徑 -->
<property>
  <name>dfs.namenode.keytab.file</name>
  <value>/etc/security/keytab/nn.service.keytab</value>
</property>

<!-- Secondary NameNode服務(wù)的Kerberos主體 -->
<property>
  <name>dfs.secondary.namenode.keytab.file</name>
  <value>/etc/security/keytab/sn.service.keytab</value>
</property>

<!-- Secondary NameNode服務(wù)的Kerberos密鑰文件路徑 -->
<property>
  <name>dfs.secondary.namenode.kerberos.principal</name>
  <value>sn/_HOST@EXAMPLE.COM</value>
</property>

<!-- NameNode Web服務(wù)的Kerberos主體 -->
<property>
  <name>dfs.namenode.kerberos.internal.spnego.principal</name>
  <value>HTTP/_HOST@EXAMPLE.COM</value>
</property>

<!-- WebHDFS REST服務(wù)的Kerberos主體 -->
<property>
  <name>dfs.web.authentication.kerberos.principal</name>
  <value>HTTP/_HOST@EXAMPLE.COM</value>
</property>

<!-- Secondary NameNode Web UI服務(wù)的Kerberos主體 -->
<property>
  <name>dfs.secondary.namenode.kerberos.internal.spnego.principal</name>
  <value>HTTP/_HOST@EXAMPLE.COM</value>
</property>

<!-- Hadoop Web UI的Kerberos密鑰文件路徑 -->
<property>
  <name>dfs.web.authentication.kerberos.keytab</name>
  <value>/etc/security/keytab/spnego.service.keytab</value>
</property>

<!-- DataNode服務(wù)的Kerberos主體 -->
<property>
  <name>dfs.datanode.kerberos.principal</name>
  <value>dn/_HOST@EXAMPLE.COM</value>
</property>

<!-- DataNode服務(wù)的Kerberos密鑰文件路徑 -->
<property>
  <name>dfs.datanode.keytab.file</name>
  <value>/etc/security/keytab/dn.service.keytab</value>
</property>

<!-- 配置NameNode Web UI 使用HTTPS協(xié)議 -->
<property>
  <name>dfs.http.policy</name>
  <value>HTTPS_ONLY</value>
</property>

<!-- 配置DataNode數(shù)據(jù)傳輸保護(hù)策略為僅認(rèn)證模式 -->
<property>
  <name>dfs.data.transfer.protection</name>
  <value>authentication</value>
</property>

yarn-site.xml

[root@hadoop102 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml
增加以下內(nèi)容
<!-- Resource Manager 服務(wù)的Kerberos主體 -->
<property>
  <name>yarn.resourcemanager.principal</name>
  <value>rm/_HOST@EXAMPLE.COM</value>
</property>

<!-- Resource Manager 服務(wù)的Kerberos密鑰文件 -->
<property>
  <name>yarn.resourcemanager.keytab</name>
  <value>/etc/security/keytab/rm.service.keytab</value>
</property>

<!-- Node Manager 服務(wù)的Kerberos主體 -->
<property>
  <name>yarn.nodemanager.principal</name>
  <value>nm/_HOST@EXAMPLE.COM</value>
</property>

<!-- Node Manager 服務(wù)的Kerberos密鑰文件 -->
<property>
  <name>yarn.nodemanager.keytab</name>
  <value>/etc/security/keytab/nm.service.keytab</value>
</property>

mapred-site.xml

[root@hadoop102 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml
增加以下內(nèi)容
<!-- 歷史服務(wù)器的Kerberos主體 -->
<property>
  <name>mapreduce.jobhistory.keytab</name>
  <value>/etc/security/keytab/jhs.service.keytab</value>
</property>

<!-- 歷史服務(wù)器的Kerberos密鑰文件 -->
<property>
  <name>mapreduce.jobhistory.principal</name>
  <value>jhs/_HOST@EXAMPLE.COM</value>
</property>

配置HDFS使用 HTTPS 安全傳輸協(xié)議

生成 keystore 的密碼及相應(yīng)信息的密鑰庫

[root@hadoop102 ~]# keytool -keystore /etc/security/keytab/keystore -alias jetty -genkey -keyalg RSA

輸入密鑰庫口令:  
再次輸入新口令: 
您的名字與姓氏是什么?
  [Unknown]:  
您的組織單位名稱是什么?
  [Unknown]:  
您的組織名稱是什么?
  [Unknown]:  
您所在的城市或區(qū)域名稱是什么?
  [Unknown]:  
您所在的省/市/自治區(qū)名稱是什么?
  [Unknown]:  
該單位的雙字母國家/地區(qū)代碼是什么?
  [Unknown]:  
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正確?
  [否]:  y

輸入 <jetty> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):  
再次輸入新口令:

修改 keystore文件的所有者和訪問權(quán)限

[root@hadoop102 ~]# chown -R root:hadoop /etc/security/keytab/keystore
[root@hadoop102 ~]# chmod 660 /etc/security/keytab/keystore

將該證書分發(fā)到集群中的每臺節(jié)點(diǎn)的相同路徑

[root@hadoop102 ~]# xsync /etc/security/keytab/keystore

修改hadoop配置文件ssl-server.xml.example

該文件位于?$HADOOP_HOME/etc/hadoop目錄
修改文件名為 ssl-server.xml

[root@hadoop102 ~]# mv $HADOOP_HOME/etc/hadoop/ssl-server.xml.example $HADOOP_HOME/etc/hadoop/ssl-server.xml

修改以下內(nèi)容?

[root@hadoop102 ~]# vim $HADOOP_HOME/etc/hadoop/ssl-server.xml
<!-- SSL密鑰庫路徑 -->
<property>
  <name>ssl.server.keystore.location</name>
  <value>/etc/security/keytab/keystore</value>
</property>

<!-- SSL密鑰庫密碼 -->
<property>
  <name>ssl.server.keystore.password</name>
  <value>123456</value>
</property>

<!-- SSL可信任密鑰庫路徑 -->
<property>
  <name>ssl.server.truststore.location</name>
  <value>/etc/security/keytab/keystore</value>
</property>

<!-- SSL密鑰庫中密鑰的密碼 -->
<property>
  <name>ssl.server.keystore.keypassword</name>
  <value>123456</value>
</property>

<!-- SSL可信任密鑰庫密碼 -->
<property>
  <name>ssl.server.truststore.password</name>
  <value>123456</value>
</property>

?

分發(fā)ssl-server.xml文件

[root@hadoop102 ~]# xsync $HADOOP_HOME/etc/hadoop/ssl-server.xml

配置 Yarn 使用 LinuxContainerExecutor

修改所有節(jié)點(diǎn)的container-executor所有者和權(quán)限

要求其所有者為 root,所有組為 hadoop (啟動 NodeManger 的 yarn 用戶的所屬組),權(quán)限為 6050。其默認(rèn)路徑為?$HADOOP_HOME/bin

chown root:hadoop /opt/module/hadoop-3.1.3/bin/container-executor
chmod 6050 /opt/module/hadoop-3.1.3/bin/container-executor

修改所有節(jié)點(diǎn)的 container-executor.cfg文件的所有者和權(quán)限

要求該文件及其所有的上級目錄的所有者均為 root,所有組為 hadoop(啟動NodeManger 的 yarn 用戶的所屬組),權(quán)限為 400。其默認(rèn)路徑為$HADOOP_HOME/etc/hadoop

chown root:hadoop /opt/module/hadoop-3.1.3/etc/hadoop/container-executor.cfg
chown root:hadoop /opt/module/hadoop-3.1.3/etc/hadoop
chown root:hadoop /opt/module/hadoop-3.1.3/etc
chown root:hadoop /opt/module/hadoop-3.1.3
chown root:hadoop /opt/module
chmod 400 /opt/module/hadoop-3.1.3/etc/hadoop/container-executor.cfg

修改$HADOOP_HOME/etc/hadoop/container-executor.cfg

[root@hadoop102 ~]# vim $HADOOP_HOME/etc/hadoop/container-executor.cfg
內(nèi)容如下
yarn.nodemanager.linux-container-executor.group=hadoop
banned.users=hdfs,yarn,mapred
min.user.id=1000
allowed.system.users=feature.tc.enabled=false

修改$HADOOP_HOME/etc/hadoop/yarn-site.xml文件

[root@hadoop102 ~]# vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
增加以下內(nèi)容
<!-- 配置Node Manager使用LinuxContainerExecutor管理Container -->
<property>
  <name>yarn.nodemanager.container-executor.class</name>
  <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value>
</property>

<!-- 配置Node Manager的啟動用戶的所屬組 -->
<property>
  <name>yarn.nodemanager.linux-container-executor.group</name>
  <value>hadoop</value>
</property>

<!-- LinuxContainerExecutor腳本路徑 -->
<property>
  <name>yarn.nodemanager.linux-container-executor.path</name>
  <value>/opt/module/hadoop-3.1.3/bin/container-executor</value>
</property>

分發(fā)container-executor.cfg和yarn-site.xml文件

[root@hadoop102 ~]# xsync $HADOOP_HOME/etc/hadoop/container-executor.cfg
[root@hadoop102 ~]# xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml

安全模式下啟動 Hadoop 集群

修改特定本地路徑權(quán)限

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

$HADOOP_LOG_DIR (所有節(jié)點(diǎn))

該變量位于?hadoop-env.sh?文件,默認(rèn)值為?${HADOOP_HOME}/logs

chown hdfs:hadoop /opt/module/hadoop-3.1.3/logs/

chmod 775 /opt/module/hadoop-3.1.3/logs/?

dfs.namenode.name.dir (NameNode節(jié)點(diǎn))

該參數(shù)位于?hdfs-site.xml 文件,默認(rèn)值為?file://${hadoop.tmp.dir}/dfs/name

[root@hadoop102 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/name/
[root@hadoop102 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/name/

dfs.datanode.data.dir (DataNode節(jié)點(diǎn))

該參數(shù)為于 hdfs-site.xml 文件,默認(rèn)值為?file://${hadoop.tmp.dir}/dfs/data?

chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/data/

chmod 700 /opt/module/hadoop-3.1.3/data/dfs/data/?

dfs.namenode.checkpoint.dir (SecondaryNameNode節(jié)點(diǎn))?

該參數(shù)位于 hdfs-site.xml 文件,默認(rèn)值為file://${hadoop.tmp.dir}/dfs/namesecondary

[root@hadoop104 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/namesecondary/
[root@hadoop104 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/namesecondary/

yarn.nodemanager.local-dirs (NodeManager節(jié)點(diǎn))?

該參數(shù)位于yarn-site.xml文件,默認(rèn)值為file://${hadoop.tmp.dir}/nm-local-dir?

chown -R yarn:hadoop /opt/module/hadoop-3.1.3/data/nm-local-dir/
chmod -R 775 /opt/module/hadoop-3.1.3/data/nm-local-dir/?

yarn.nodemanager.log-dirs (NodeManager節(jié)點(diǎn))

該參數(shù)位于 yarn-site.xml 文件,默認(rèn)值為?$HADOOP_LOG_DIR/userlogs

chown yarn:hadoop /opt/module/hadoop-3.1.3/logs/userlogs/

chmod 775 /opt/module/hadoop-3.1.3/logs/userlogs/?

啟動 HDFS

需要注意的是,啟動不同服務(wù)時需要使用對應(yīng)的用戶

(1)在主節(jié)點(diǎn) (hadoop102) 配置hdfs用戶到所有節(jié)點(diǎn)的免密登錄。
(2)修改主節(jié)點(diǎn) (hadoop102) 節(jié)點(diǎn)的$HADOOP_HOME/sbin/start-dfs.sh腳本,在頂部增加以下環(huán)境變量。

[root@hadoop102 ~]# vim $HADOOP_HOME/sbin/start-dfs.sh
在頂部增加如下內(nèi)容
HDFS_DATANODE_USER=hdfs
HDFS_NAMENODE_USER=hdfs
HDFS_SECONDARYNAMENODE_USER=hdfs

注:$HADOOP_HOME/sbin/stop-dfs.sh也需在頂部增加上述環(huán)境變量才可使用。

以 root 用戶執(zhí)行群起腳本,即可啟動 HDFS 集群。

[root@hadoop102 ~]# start-dfs.sh

查看HFDS web頁面

訪問地址為https://hadoop102:9871

修改 HDFS 特定路徑訪問權(quán)限

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

?

若上述路徑不存在,需手動創(chuàng)建

創(chuàng)建 hdfs/hadoop 主體,執(zhí)行以下命令并按照提示輸入密碼

[root@hadoop102 ~]# kadmin.local -q "addprinc hdfs/hadoop"

認(rèn)證 hdfs/hadoop 主體,執(zhí)行以下命令并按照提示輸入密碼

[root@hadoop102 ~]# kinit hdfs/hadoop

按照上述要求修改指定路徑的所有者和權(quán)限

修改/、/tmp、/user路徑

[root@hadoop102 ~]# hadoop fs -chown hdfs:hadoop / /tmp /user
[root@hadoop102 ~]# hadoop fs -chmod 755 /
[root@hadoop102 ~]# hadoop fs -chmod 1777 /tmp
[root@hadoop102 ~]# hadoop fs -chmod 775 /user

參數(shù) yarn.nodemanager.remote-app-log-dir 位于 yarn-site.xml 文件,默認(rèn)值 /tmp/logs

[root@hadoop102 ~]# hadoop fs -chown yarn:hadoop /tmp/logs
[root@hadoop102 ~]# hadoop fs -chmod 1777 /tmp/logs

參數(shù) mapreduce.jobhistory.intermediate-done-dir 位于 mapred-site.xm l文件,默認(rèn)值為 /tmp/hadoop-yarn/staging/history/done_intermediate,需保證該路徑的所有上級目錄(除/tmp) 的所有者均為mapred,所屬組為hadoop,權(quán)限為770

[root@hadoop102 ~]# hadoop fs -chown -R mapred:hadoop /tmp/hadoop-yarn/staging/history/done_intermediate
[root@hadoop102 ~]# hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate

[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/history/
[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/
[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/

[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/history/
[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/
[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/

參數(shù) mapreduce.jobhistory.done-dir 位于 mapred-site.xml 文件,默認(rèn)值為 /tmp/hadoop-yarn/staging/history/done ,需保證該路徑的所有上級目錄 (除/tmp) 的所有者均為 mapred,所屬組為 hadoop,權(quán)限為 770

[root@hadoop102 ~]# hadoop fs -chown -R mapred:hadoop /tmp/hadoop-yarn/staging/history/done
[root@hadoop102 ~]# hadoop fs -chmod -R 750 /tmp/hadoop-yarn/staging/history/done


[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/history/
[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/
[root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/

[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/history/
[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/
[root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/

啟動 Yarn

(1) 在Yarn主節(jié)點(diǎn) (hadoop103) 配置 yarn 用戶到所有節(jié)點(diǎn)的免密登錄。
(2) 修改主節(jié)點(diǎn) (hadoop103) 的?$HADOOP_HOME/sbin/start-yarn.sh,在頂部增加以下環(huán)境變量。

[root@hadoop103 ~]# vim $HADOOP_HOME/sbin/start-yarn.sh

在頂部增加如下內(nèi)容

YARN_RESOURCEMANAGER_USER=yarn
YARN_NODEMANAGER_USER=yarn

?注:stop-yarn.sh也需在頂部增加上述環(huán)境變量才可使用。

以 root 用戶執(zhí)行?$HADOOP_HOME/sbin/start-yarn.sh腳本即可啟動yarn集群。

[root@hadoop103 ~]# start-yarn.sh

訪問 Yarn web 頁面

訪問地址為 http://hadoop103:8088

啟動 HistoryServer

啟動歷史服務(wù)器

[root@hadoop102 ~]# sudo -i -u mapred mapred --daemon start historyserver

查看歷史服務(wù)器 web 頁面

訪問地址為 http://hadoop102:19888

安全集群使用

具體要求

以下使用說明均基于普通用戶,安全集群對用戶有以下要求:

  • 集群中的每個節(jié)點(diǎn)都需要創(chuàng)建該用戶
  • 該用戶需要屬于hadoop用戶組
  • 需要創(chuàng)建該用戶對應(yīng)的Kerberos主體

此處以 fancy 用戶為例,具體操作如下

創(chuàng)建用戶 (存在可跳過),須在所有節(jié)點(diǎn)執(zhí)行

useradd fancy

echo fancy | passwd --stdin fancy

加入 hadoop 組,須在所有節(jié)點(diǎn)執(zhí)行

usermod -a -G hadoop fancy

?創(chuàng)建主體

kadmin -p admin/admin -wadmin -q"addprinc -pw fancy fancy"

Shell 命令
A、認(rèn)證

[fancy@hadoop102 ~]$ kinit fancy

B、查看當(dāng)前認(rèn)證用戶

[fancy@hadoop102 ~]$ kinit fancy

C、執(zhí)行命令

[fancy@hadoop102 ~]$ hadoop fs -ls /

D、注銷認(rèn)證

[fancy@hadoop102 ~]$ kdestroy

E、再次執(zhí)行查看命令

[fancy@hadoop102 ~]$ hadoop fs -ls /

Kerberos客戶端

安裝 Kerberos 客戶端

下載地址:http://web.mit.edu/kerberos/dist/kfw/4.1/kfw-4.1-amd64.msi 
下載之后按照提示安裝

編輯 C:\ProgramData\MIT\Kerberos5\krb5.ini 文件,內(nèi)容如下

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = HADOOP.COM
 udp_preference_limit=1

[realms]
 HADOOP.COM = {
  kdc = hadoop102
  admin_server = hadoop102
 }

[domain_realm]
 .hadoop.com = HADOOP.COM
 hadoop.com = HADOOP.COM

配置火狐瀏覽器

打開瀏覽器,在地址欄輸入 “about:config” ,點(diǎn)擊回車

搜索 “network.negotiate-auth.trusted-uris” ,修改值為要訪問的主機(jī)名(hadoop102)


搜索 “network.auth.use-sspi”,雙擊將值變?yōu)?false


C、認(rèn)證

啟動 Kerberos 客戶端,點(diǎn)擊 Get Ticket

輸入主體名和密碼,點(diǎn)擊OK,即可正常訪問Hadoop

注意點(diǎn):

Kerberos配置文件問題:Kerberos所有配置配件必須逐條檢查,按照實際業(yè)務(wù)配置

文件夾權(quán)限問題:由于實際啟動Hadoop服務(wù)時需要不同的用戶,因此用戶對于文件夾的訪問權(quán)限非常關(guān)鍵,必須配置好

踩坑:

  • kadmin.local {本地登錄(無需認(rèn)證)}直接進(jìn)入后臺 kadmin是KDC數(shù)據(jù)庫的訪問入口
  • kadmin {遠(yuǎn)程登錄(需要主體認(rèn)證)}
  • listprincs 查看后臺用戶
  • addprinc root/admin@EXAMPLE.COM
  • server端進(jìn)行用戶的創(chuàng)建 kadmin.local -q"addprinc test"
  • client端可以進(jìn)行用戶的 連接 kinit test 再輸入密碼 、klist查看
  • 注意在client端,只能執(zhí)行kadmin
  • 如果想要使用kerberos,就要用https進(jìn)行托管,給https創(chuàng)建一個kerberos賬戶
  • 預(yù)計使用Kerberos的服務(wù):namenode\secondarynamenode\datanode\resourcemanager\nodemanager\job hostoryserver\https\hive
  • jhs(MapReduce JobHistory Server)/HTTP/hive
  • namenode會使用nn/ds01@EXAMPLE.COM賬戶來管理自己
  • 想要namenode成功運(yùn)行,必須認(rèn)證賬戶后才可以操作namenode

以子用戶進(jìn)行kerberos的配置

以root用戶配置kerberos,但hadoop是dolphinscheduler用戶建立的,后續(xù)可能會出現(xiàn)問題

子用戶、root用戶等權(quán)限的問題

hadoop kerberos,hadoop,大數(shù)據(jù),分布式

把hadoop的logs和data文件刪掉了,后續(xù)Kerberos配置也用到了這個路徑

改了配置文件的權(quán)限

問題+解決:

重建keystore

?

到了這里,關(guān)于Hadoop集成Kerberos安全服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 用三臺云服務(wù)器搭建hadoop完全分布式集群

    用三臺云服務(wù)器搭建hadoop完全分布式集群

    本次利用云服務(wù)器搭建Hadoop集群, 在開始之前,你需要3臺云服務(wù)器,可以在同一家購買也可以在不同家購買。此次教程采用百度云產(chǎn)品,可以換不同賬號新手免費(fèi)試用幾個月,具體配置如下: 服務(wù)器名稱 配置 磁盤容量 master 2cpu 內(nèi)存4GB 40G slave1 1cpu 內(nèi)存2GB 60G slave2 1cpu 內(nèi)存

    2024年02月04日
    瀏覽(87)
  • 阿里云服務(wù)器部署安裝hadoop與elasticsearch踩坑筆記

    阿里云服務(wù)器部署安裝hadoop與elasticsearch踩坑筆記

    2023-09-12 14:00——2023.09.13 20:06 目錄 00、軟件版本 01、阿里云服務(wù)器部署hadoop 1.1、修改四個配置文件 1.1.1、core-site.xml 1.1.2、hdfs-site.xml 1.1.3、mapred-site.xml 1.1.4、yarn-site.xml 1.2、修改系統(tǒng)/etc/hosts文件與系統(tǒng)變量 1.2.1、修改主機(jī)名解析文件/etc/hosts 1.2.2、修改系統(tǒng)環(huán)境變量/etc/profil

    2024年02月08日
    瀏覽(48)
  • 華為云耀云服務(wù)器L實例-大數(shù)據(jù)學(xué)習(xí)-hadoop 正式部署

    華為云耀云服務(wù)器L實例-大數(shù)據(jù)學(xué)習(xí)-hadoop 正式部署

    產(chǎn)品官網(wǎng): 云耀云服務(wù)器L實例 _【最新】_輕量云服務(wù)器_輕量服務(wù)器_輕量應(yīng)用服務(wù)器-華為云 今天我們采用 可靠更安全、智能不卡頓、價優(yōu)隨心用、上手更簡單、管理特省心 的 華為 云耀云服務(wù)器L實例 為例, 演示 單臺服務(wù)器模擬配置hadoop集群 Hadoop?是一個開源的分布式存

    2024年02月02日
    瀏覽(97)
  • 在阿里云和騰訊云的輕量應(yīng)用服務(wù)器上搭建Hadoop集群

    本文在兩臺2核2g的云服務(wù)器上搭建了Hadoop集群,兩臺云服務(wù)器分別是阿里云(hjm)和騰訊云(gyt),集群部署規(guī)劃如下: hjm gyt HDFS NameNodeSecondaryNameNodeDataNode DataNode YARN ResourceManagerNodeManager NodeManager 經(jīng)實驗,目前可以正常實現(xiàn)文件上傳下載,但跑mapreduce程序還出現(xiàn)服務(wù)器資

    2024年02月08日
    瀏覽(21)
  • hadoop集群中增加新節(jié)點(diǎn)服務(wù)器(DataNode + NodeManager)方案及驗證

    hadoop集群中增加新節(jié)點(diǎn)服務(wù)器(DataNode + NodeManager)方案及驗證

    現(xiàn)根據(jù)業(yè)務(wù)需要,需要在原有的3臺完全分布式的集群(hadoop1、hadoop2、hadoop3仨節(jié)點(diǎn))增設(shè)一臺新的服務(wù)器節(jié)點(diǎn)(hadoop4),以下是在原有的完全分布式hadoop集群中增設(shè)新節(jié)點(diǎn)( DataNode + NodeManager )的部署步驟。 基礎(chǔ)服務(wù)配置 hadoop4上依次執(zhí)行以下步驟: 1)用戶:重置root用戶密

    2024年01月19日
    瀏覽(37)
  • Hadoop3.3.5云耀云服務(wù)器安裝教程-單機(jī)/偽分布式配置

    Hadoop3.3.5云耀云服務(wù)器安裝教程-單機(jī)/偽分布式配置

    華為云耀云服務(wù)器試用領(lǐng)取 領(lǐng)取的試用云耀云服務(wù)器在哪 阿里云服務(wù)器免費(fèi)試用領(lǐng)取 Hadoop3.3.5云耀云服務(wù)器安裝教程-單機(jī)/偽分布式配置 阿里云服務(wù)器ECS安裝圖形界面 本篇文章是基于上一篇所配置好的云服務(wù)器進(jìn)行實驗軟件安裝,該系列文章是根據(jù)林子雨所講述的課程就在

    2024年01月21日
    瀏覽(54)
  • 三臺異構(gòu)服務(wù)器搭建hadoop HA集群史上最詳細(xì)方案(HDFS+YARN)

    三臺異構(gòu)服務(wù)器搭建hadoop HA集群史上最詳細(xì)方案(HDFS+YARN)

    ?一、系統(tǒng)基礎(chǔ)服務(wù)配置 主機(jī)名 IP 操作系統(tǒng) CPU 內(nèi)存 磁盤 Hive01 10.86.102.104 Centos 7.9.2009 Xeon 4208 X16 192G 46T Hive02 10.86.102.102 Centos 7.9.2009 Xeon 4208 X16 192G 46T Hive03 10.86.102.105 Centos 7.9.2009 Xeon 8260 X48 256G ? ? ? ? 11T 最終組成的是一個雙副本56T的集群,設(shè)置YARN內(nèi)存共400GB(可調(diào)) 3臺服務(wù)

    2024年02月07日
    瀏覽(19)
  • 華為云云耀云服務(wù)器L實例評測|偽分布式環(huán)境下部署hadoop2.10.1

    華為云云耀云服務(wù)器L實例評測|偽分布式環(huán)境下部署hadoop2.10.1

    #【中秋征文】程序人生,中秋共享# 這是Maynor創(chuàng)作的華為云云耀云服務(wù)器L實例測評的第二篇,上篇傳送門: 華為云云耀云服務(wù)器L實例評測|單節(jié)點(diǎn)環(huán)境下部署ClickHouse21.1.9.41數(shù)據(jù)庫 云耀云服務(wù)器L實例簡介 ? 云耀云服務(wù)器L實例 是新一代的輕量應(yīng)用云服務(wù)器,專門為中小企業(yè)

    2024年02月07日
    瀏覽(23)
  • 大數(shù)據(jù):Hadoop HDFS,基礎(chǔ)架構(gòu),去中心化,中心化模式,HDFS基礎(chǔ)架構(gòu),虛擬機(jī)和云服務(wù)器部署HDFS

    大數(shù)據(jù):Hadoop HDFS,基礎(chǔ)架構(gòu),去中心化,中心化模式,HDFS基礎(chǔ)架構(gòu),虛擬機(jī)和云服務(wù)器部署HDFS

    2022找工作是學(xué)歷、能力和運(yùn)氣的超強(qiáng)結(jié)合體,遇到寒冬,大廠不招人,可能很多算法學(xué)生都得去找開發(fā),測開 測開的話,你就得學(xué)數(shù)據(jù)庫,sql,oracle,尤其sql要學(xué),當(dāng)然,像很多金融企業(yè)、安全機(jī)構(gòu)啥的,他們必須要用oracle數(shù)據(jù)庫 這oracle比sql安全,強(qiáng)大多了,所以你需要學(xué)

    2024年02月17日
    瀏覽(102)
  • hadoop之kerberos權(quán)限配置(ranger基礎(chǔ)上)(三)

    hadoop之kerberos權(quán)限配置(ranger基礎(chǔ)上)(三)

    上傳kerberos安裝包到/opt/rpm 安裝:rpm -Uvh --force --nodeps *.rpm 修改配置:vi /var/kerberos/krb5kdc/kdc.conf 修改配置:vi /etc/krb5.conf 初始化數(shù)據(jù)庫:/usr/sbin/kdb5_util create -s -r HADOOP.COM。密碼設(shè)為:ffcsict1234!#% 查看生成文件:cd /var/kerberos/krb5kdc -- ls 創(chuàng)建數(shù)據(jù)庫管理員:/usr/sbin/kadmin.local -q “

    2024年02月08日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包