集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > 大数据 >

成都大数据开发学习之HDFS讲解

发布者: 成都达内     浏览次数:     发布时间:2019-04-12 10:53:12

大数据就是对海量数据进行数据挖掘。已经有了很多框架方便使用,常用的有hadoop,storm,spark,flink等,辅助框架hive,kafka,es,sqoop,flume等。...

  成都大数据开发学习之HDFS讲解

  需要精通java开发,有一定linux基础。

  1、简介

  大数据就是对海量数据进行数据挖掘。

  已经有了很多框架方便使用,常用的有hadoop,storm,spark,flink等,辅助框架hive,kafka,es,sqoop,flume等。

  常见应用推荐系统,用户画像等。

  2、hadoop

  hadoop有三个核心组件:

  hdfs:分布式文件系统

  mapreduce:分布式运算编程框架

  yarn:分布式资源调度平台

  3、hdfs原理

  hdfs存放的就是文件,顶层目录是/,可以对文件进行增删改查移的操作。

  只是单机文件是存在一台主机中,而hdfs是存在多个机器中。

  hdfs的运行机制:一个hdfs系统,由一台运行了namenode的服务器,和N台运行了datanode的服务器组成。

  一个存储的hdfs上的文件会由客户端指定备份几个副本,然后这个文件会被切块,分布的存在多个机器上,datanode负责在多个机器上进行存储,而这些存储信息(也叫做元数据)就存在namenode里。

  成都大数据开发学习之HDFS讲解

  4、安装部署hdfs

  准备多台机器

  配置host和ip

  防火墙 jdk

  上传hadoop包

  修改hadoop-env.sh 指定JAVA_HOME

  修改core-site.xml 指定为hdfs namenode位置

  修改hdfs-site.xml 指定namenode存储元数据目录 datanode存放文件目录

  hdfs-site.xml还可以配切片大小和副本数量

  拷贝到各个机器

  在namenode机器上 :

  初始化namenode元数据目录hadoop namenode -format

  启动namenode hadoop-daemon.sh start namenode

  启动所有datanode hadoop-daemon.sh start datanode

  namenode datanode都是一个占用端口的软件进程,怎么启动都可以,一般会在第一台机器启动namenode,其他的启动节点datanode。

  有一个web页:50070

  5、hdfs客户端

  三种客户端模式:网页 命令行 还有api网络连接

  命令行:

  上传文件

  hadoop fs -put /本地文件 /hdfs路径

  hadoop fs -copyFromLocal /本地文件 /hdfs路径 这个相当于put

  hadoop fs -moveFromLocal /本地文件 /hdfs路径

  下载文件

  hadoop fs -get /hdfs中的路径 /本地磁盘目录

  hadoop fs -copyToLocal /hdfs中的路径 /本地磁盘路径 这个相当于get

  hadoop fs -moveToLocal /hdfs路径 /本地路径

  创建文件夹 hadoop fs -mkdir -p /目录名

  移动 hadoop fs -mv /hdfs的路径 /hdfs的另一个路径

  删除 hadoop fs -rm -r /文件或文件夹

  修改权限 hadoop fs -chown user:group /hdfs路径

   hadoop fs -chmod 744 /hdfs路径

  追加 hadoop fs -appendToFile /本地文件 /hdfs中的文件

  显示 hadoop fs -cat /hdfs中的文件

   hadoop fs -tail /hdfs中的文件

  hdfs的java客户端:

  windows下开发hadoop,需要下载window版本的hadoop安装包,配置环境变量HADOOP_HOME,这样才可以在windows本地进行对hadoop的开发。

  Configuration conf = new Configuration();

  FileSystem fs = FileSystem.get(new URI("hdfs://hdp-01:9000"),conf,"root");

  fs.copyFromLocalFile(new Path("本地路径"),new Path("hdfs的路径"));

  fs.copyToLocalFile(new Path("hdfs的路径"),new Path("本地路径"))

  成都大数据开发学习之HDFS讲解

  6、hdfs核心原理

  namenode管理的是元数据:hdfs目录结构,每一个文件的块信息(块的id,块的副本数量,块的存放位置)

  **namenode记录元数据原理:

   namenode的实时的完整的元数据存储在内存中;

   namenode还会在磁盘中(dfs.namenode.name.dir)存储内存数据在某个时间点上的镜像文件;

   namenode会把引起元数据变化的客户端操作记录在edits日志文件中。

  **checkpoint原理:

   secondarynamenode会定期从namenode上下载fsimage镜像和新生成的edits日志,然后加载fsimage 镜像到内存中,然后顺序解析edits文件,对内存中的元数据对象进行修改(整合)

  整合完成后,将内存元数据序列化成一个新的fsimage,并将这个fsimage镜像文件上传给namenode

  可以配置secondary namenode的启动位置和元数据保存目录

  写文件原理:向namenode请求,切块,建立连接,流入到指定datanode。

  读文件原理:向namenode请求,获取元数据信息,把所有块流下来。

  在这个世界上,最重要的不是你所处的位置,而是你前进的方向!

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56