设为首页 收藏本站
查看: 767|回复: 0

[经验分享] HDFS的基础组成部分及基础操作

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-21 12:44:19 | 显示全部楼层 |阅读模式
HDFS组件结构图解说:
QQ截图20161121124407.png
1、如图所示中,NameNode充当master角色,职责包括:管理文档系统的命名空间(namespace);调节客户端访问到需要的文件(存储在DateNode中的文件)
2、DataNodes充当slaves角色,通常情况下,一台机器只部署一个Datenode,用来存储MapReduce程序需要的数据
3、Namenode会定期从DataNodes那里收到Heartbeat和Blockreport反馈
4、Heartbeat反馈用来确保DataNode没有出现功能异常;
5、Blockreport包含DataNode所存储的Block集合
二、HDFS设计原则
1、文件以块(block)方式存储
2、每个块带下远比多数文件系统来的大(预设64M)
3、通过副本机制提高可靠度和读取吞吐量
4、每个区块至少分到三台DataNode上(一般,对namenode进行raid1配置,对datanode进行raid5配置)
5、单一 master (NameNode)来协调存储元数据(metadata)
6、客户端对文件没有缓存机制 (No data caching)


三、NameNode(NN)
NameNode主要功能提供名称查询服务,它是一个jetty服务器(一个开源的servlet容器,嵌入式的web服务器)
NameNode保存metadate信息包括
文件owership和permissions
文件包含哪些块
Block保存在哪个DataNode(由DataNode启动时上报)
1、NameNode的metadate信息在启动后会加载到内存
2、metadata存储到磁盘文件名为”fsimage”
Block的位置信息不会保存到fsimage
四.DataNode(DN)
保存Block
启动DN线程的时候会向NN汇报block信息

hadoop fs -cmd
cmd :为具体的操作,基本上于UNIX的命令相同
args:参数
hdfs资源URL格式:scheme://bigdata/path
scheme:协议名,file或hdfs
bigdata:namenode主机名
path:路径
eg:hdfs://localhost:9000/user/chunk/test.txt
假设已经在core-site.xml设置了fs.default.name=hdfs://localhost:9000,
则仅使用/user/chunk/test.txt即可
hdfs命令示例:存放的数据以文件的形式存储,使用绝对路径来区分每个资源,在创建目录来存储资源时候要加/
#创建目录
hadoop fs -mkidr /myFirstDir
#查看创建的目录
hadoop fs -ls /myFirstDir #返回为空,目前还没存放数据
#对当前创建目录存放文件
hadoop fs -put /etc/shadow /myFirstDir
#查看目录下的文件
hadoop fs -ls /myFirstDir
#复制文件到指定的位置
hadoop fs -get /hadoop目下的文件  /本地文件路径
hadoop fs -get /myFirstDir/shadow /home/#下载shadow到/home目录下
#新建一个空文件
hadoop fs -touchz /myFirstDir/newFile.txt
#将hadoop上某个文件重命名
hadoop fs -mv /myFirstDir/newFile.txt /myFirstDir/bigdata.txt
#将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hadoop dfs -getmerge /myFirstDir/bigdata.txt /home/a
#查看文件里的内容
hadoop fs -cat /myFirstDir/shadow
#查看最后1000字节数据
hadoop fs -tail /myFirsDir/shadow
#删除文件\目录
hadoop fs -rm -R /myFirstDir/shadow
hadoop fs -rm -R /myFirstDir/Secondary
#查看HDFS下的文件
hadoop fs -ls /
#查看集群数据的信息,登陆master节点查看
http://192.168.1.114:50070
管理与更新
#查看HDFS的基本统计信息
hadoop dfsadmin -report
#进出安全模式
hadoop dfsadmin -safemode enter
hadoop dfsadmin -safemode leave
#节点添加
添加一个新的DataNode节点,先在新加节点上安装好Hadoop,
要和NameNode使用相同的配置(可以直接从NameNode复制),修改$HADOOP_HOME/conf/master文件,加入NameNode主机名。
然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:
/bin/start-all.sh
#负载均衡
HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。
新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。
用户可以使用命令重新平衡DataNode上的数据块的分布:
start-balancer.sh


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303450-1-1.html 上篇帖子: Centos安装升级python,ipython,pip 下篇帖子: Linux根目录下的文件结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表