HDFS文件权限
1、与linux文件权限类型
r:read w:write x:execute权限x对于文件忽略,对于文件夹表示是否允许访问其内容
2、如果linux系统用户sanglp使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是sanglp
3、HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。
安全模式
1、 namenode启动的时候,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作。
2、 一旦在内存中成功建立文件系统元数据的映射,则创建一个新的fsimage文件(这个操作不需要SecondaryNameNode)和一个空的编辑日志。
3、 此刻namenode运行在安全模式。即namenode的文件系统对于客户端来说是只读的(显示目录、显示文件内容等。写、删除、重命名都会失败)
4、 在此阶段Namenode手机各个datanode的报告,当数据块达到最小副本数以上时,会被认为是“安全”的,在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束
5、 当检测到副本数不足的数据块时,该块会被复制直到最小副本数,系统中数据块的位置并不是由namenode维护的,而是以块列表示形式存储在datanode中。
HDFS安装
1、 伪分布式安装
2、 完全分布式安装
- 下载
- 解压
- 检查java和ssh的免密码登陆
- 修改core-site.xml
- 修改hdfs-site.xml
- 修改master文件和slaves文件
- 格式化namenode
- start-hdfs.sh启动
3、 按照文档安装
编辑core-site.xml (默认core-default.xml里有使用到的变量 fs.default.name配置的是NameNode的主机和入口)
编辑hdfs-site.xml(副本数是小于或等于DataNode的节点数的 hdfs-default.xml)
编辑slaves(配置datanode的ip信息)
修改masters(配置secondary NameNode 配置主机名或ip )
配置免密登陆是为了在任何一台机器上可以操作所有的节点
只启动hdfs的时候使用start-dfs.sh
需要在hadoop/conf/Hadoop-env.sh中配置JAVA_HOME
如果namenode启动的时候显示别的dataNode已经启动,但是别的主机上jps没有启动则关闭防火墙重新启动。
之后访问http://node1:50070查看详情NameNode DataNode等信息