开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术:配置 HDFS-启动 HDFS 测试】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/708/detail/12566
配置 HDFS-启动 HDFS 测试
启动 HDFS 测试
1、启动 Namenode
认证 namenode 对应的 Kerberos 的账户
(1)向 Kerberos 认证 namenode 对应的账户:nn/cdh.itcast.cn@ITCAST.CN
得到认证才可以对 namenode 进行操作
首先切换到 hdfs 账户:su-hdfs
输入: kinit -kt jetc/security/keytabs/nn.service.keytab nn/cdh0.itcast.cn
(认证)
会发现认证直接成功了,不需要验证密码,输入 klist 查看认证结果,正常如下:
[hdfseedhe ~1$ klist
Ticket cache: FILE:/tmp/krb5cc_505
Default principal:nn/cdhitcast.cn@ITCAST.CN
Valid starting Expires Service principal
09/26/19 11:59:08 09/27/19 11:59:08 krbtgt/ITCASTCNITCAST.CN
renew until 09/26/19 11:59:08
(2)格式化 namenode
执行 hadoop namenode -format
,会发现 format 成功了
接下来启动 namenode 和 secondarynamenode
执行:hadoop-daemon.sh start namenade
为了确保安全,到 logs/hdfs 看一下路径和日志,看有没有报错。
接下来执行 hadoop-daemon.sh start secondarynamenode
,启动后 jps 看一下,会发现 jps 没有启动成功,再来看一下 secondarynamenode 的日志,这里看到:
再去 cd /etc/security/keytabs/里看一下,因为没有创建 sn 对应的账户,再回到日常用户 klist 看一下
当前还是 admin 权限,再 kadmin 来执行 admin 账户的密码,输入之后在添加一下 addprinc -rankey sn/cdh0.itcast.cn@ITCAST.CN,创建完成之后得到了 randkey 的账户,同样创建 dtable 文件:
ktadd -k/etc/security/keytabs/sn.service.keytab sn/cdh0.itcast.cn@ITCAST.CN,运行后会发现多了 sn。
同样改下权限:chmod 400 sn.service.keytab
chown hdfs:hadoop sn.service.keytab
没问题后回到 hdf 账户上,看到 klist 的认证还在,再来启动一下 secondarynamenode,再 jbs 一下,查看日志,确保没有问题,启动完成后打开 namenode 网站看一下(必须带S的安全才能访问)
以下就是 https 的网站,如图:
2、启动 Datanode
切换到 hdfs 账户
在 cdh1cdh2上分别执行下面的流积
认证 datanode 对应的 Kerberos 账户
执行:kinit -kt /etc/security/keytabs/dn.service.keytab dn/cdh1.itcast.cn@ITCAST.CN
(认证)
上面的 cdhi 在 cdh2执行的时候换成 cdh2
执行 klist 直看是否认证成功
https 本地用户就有权限来操作 namenode了,
直接执行 hadoop-daemon.sh start datanode
,进行检查,没有问题对 cdh2进行操作,认证成功以后会发现正常的且认证好 dn/cdh2.itcast.cn@ITCAST.CN,这个时候 hdfs 就有权限操作 Datanode 了,进行检查,再回到链接里进行刷新,会发现 live nodes 就有两个了,hdfs 正确的启动了起来。
(1)上传文件测试 hdfs
切换到 hdfs 下,会看到 LICENSE.txt,把他上传到 Hadoop,上传到 a.txt
su-hdfs
kinit-kt jetc/securitv/kevtabs/nn.service.kevtab nn/cdhe.itcast.cn
cd /bigdata/hadoop-268-cdh5.14.4
hadoop fs=put/READMEtxt/readme.txt
[hdfs@cdh hadoop-2.6.0-cdh1441$ hadoop fs-1s/
Found 1 items
-rw-r--"-- 3 hdfs hdfs 1366 2019-09-26 13:57 /readme.txt
hadoop fs -cat /readme.txt
没有问题,说明 Hadoop 是可以正常工作的
(2)创建相应的 hdfs 目录,并设置权限
先改一下根目录的权限,改为 adf 账户才有根目录权限,创建 tmp 文件夹,把 tmp 文件夹权限改为 adf 账户,文件夹是临时的,都可以用,将他改为777的权限,同样创建一个 user 的目录,把 user 的所属改为 hdfs 账户,把 user 改为775的权限,在创建 mr-data,把他的权限改为 mapred 这个账户,在 tmp 底下创建个 hadoop-yarn,跑 yarn 时会有一些临时路径在这里
hadoop fs -chown hdfs:hadoop /
hadoop fs -mkdir /tmp I
hadoop fs -chown hdfs:hadoop /tmp
hadoop fs -chmod 777 /tmp
hadoop fs -mkdir juser
hadoop fs -chown hdfs:hadoop /user
hadoop fs -chmod 775 /user
hadoop fs -mkdir /mr-data
hadoop fs -chown mapred:hadoop imr-data
hadoop fs -mkdir /tmp/hadoop-yarn
hadoop fs -chmod 770 /tmp/hadoop-yarn
以上没有问题 hdfs 配置就完成了。