初识hadoop之分布式文件系统(HDFS)
Hadoop常用发行版:
Apache Hadoop
CDH Cloudera Distributed Hadoop
HDP Hortonworks Data Platfrom
分布式文件系统(HDFS)
HDFS架构
1个master(NameNode/NN)带n个slaves(DataNode/DN)
HDFS/YARN/HBase都是类似结构
一个文件会被拆分成多个Block
blocksize:128M
130M ==> 2个Block:128M和2M
NN:
1)负责客户端请求的响应
2)负责元数据(文件的名称、副本系数、Block存放的DN)的管理
DN:
1)存储用户的文件对应的数据块(Block)
2)要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况
A typical deployment has a dedicated machine that runs only
the NameNode software. Each of the other machines in the cluster runs one
instance of the DataNode software.
NameNode + N个DataNode
建议:NN和DN部署在不同的节点上
replication factor:副本系数、副本因子
HDFS环境搭建
使用版本:hadoop-2.6.0-cdh5.7.0
Hadoop伪分布式安装步骤
1) jdk安装
解压:tar –zxvf jdk-7u79-linux-x64.tar.gz –C
~/app
添加到系统环境变量:~/.bash_profile
export
JAVA_HOME=/home/hadoop/app/jdk1.7.0_79
eport
PATH=$JAVA_HOME/bin:$PATH
使得环境变量生效:source ~/.bash_profile
验证java是否配置成功:java –version
2) 安装ssh
sudo
yum install ssh
ssh-keygen
-t rsa
cp
~/.ssh/id_rsa.pub ~/.ssh/authorizes_keys
3) 下载并解压hadoop
下载:直接在cdh网站下载
解压:tar –zxvf Hadoop-2.6.0-cdh5.7.0.tar.gz –C ~/app
4) hadoop配置文件的修改(hadoop_home/etc/hadoop)
hadoop-evn.sh
export JAVA_HOME=/home/Hadoop/app/jdk1.7.0_79
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
slaves(配置DN的个数)添加主机名称
5) 启动hfds
格式化文件系统(仅第一次执行即可,不要重复执行,在bin目录下执行,即在客户端执行):
hdfs
namenode –format
启动hdfs:sbin/start-dfs.sh
验证是否启动成功:
jps
DataNode
SecondaryNameNode
NameNode
浏览器访问方式:http://hadoop000:50070
6) 停止hdfs
sbin/stop-dfs.sh
将hadoop的bin目录配置到环境变量当中
vi ~/.bash_profile
export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
环境变量生效:
source ~/.bash_profile
查看环境变量:
echo $HADOOP_HOME
hdfs常用操作命令:
hdfs dfs(hadoop fs) +
-ls + / 查看根目录下的文件和文件夹
-mkdir + /test 在根目录下创建test文件夹
-put 文件名 + /
将文件上传到根目录当中(拷贝文件)
-copyFromLocal hello.txt + /test/a/b/h.txt 将文件拷贝到指定路径中
-text(-cat) + /文件名 查看文件的内容
-mkdir –p + /test/a/b 递归创建文件夹
-lsr + / 递归展示文件夹(-ls –R + /)
-get + /test/a/b/h.txt 将文件拷贝到本地
-rm + /hello.txt 删除文件
-rm + -R /test 删除文件夹
初识hadoop之分布式文件系统(HDFS)的更多相关文章
- Hadoop 分布式文件系统 - HDFS
当数据集超过一个单独的物理计算机的存储能力时,便有必要将它分不到多个独立的计算机上.管理着跨计算机网络存储的文件系统称为分布式文件系统.Hadoop 的分布式文件系统称为 HDFS,它 是为 以流式数 ...
- Hadoop分布式文件系统--HDFS结构分析
转自:http://blog.csdn.net/androidlushangderen/article/details/47377543 HDFS系列:http://blog.csdn.net/And ...
- 【转载】Hadoop分布式文件系统HDFS的工作原理详述
转载请注明来自36大数据(36dsj.com):36大数据 » Hadoop分布式文件系统HDFS的工作原理详述 转注:读了这篇文章以后,觉得内容比较易懂,所以分享过来支持一下. Hadoop分布式文 ...
- 大数据 --> 分布式文件系统HDFS的工作原理
分布式文件系统HDFS的工作原理 Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数 ...
- 大数据技术原理与应用——分布式文件系统HDFS
分布式文件系统概述 相对于传统的本地文件系统而言,分布式文件系统(Distribute File System)是一种通过网络实现文件在多台主机上进行分布式存储的文件系统.分布式文件系统的设计一般采用 ...
- 你想了解的分布式文件系统HDFS,看这一篇就够了
1.分布式文件系统 计算机集群结构 分布式文件系统把文件分布存储到多个节点(计算机)上,成千上万的计算机节点构成计算机集群. 分布式文件系统使用的计算机集群,其配置都是由普通硬件构成的,与用多个处理器 ...
- Hadoop分布式文件系统HDFS详解
Hadoop分布式文件系统即Hadoop Distributed FileSystem. 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区(Partition)并 ...
- Hadoop分布式文件系统HDFS的工作原理
Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应 ...
- Hadoop分布式文件系统HDFS
HDFS的探究: HDFS HDFS是 Hadoop Distribute File System的缩写,是谷歌GFS分布式文件系统的开源实现,Apache Hadoop的一个子项目,HDFS基于流数 ...
随机推荐
- N点虚拟主机管理系统如何使用?
有朋友问起N点虚拟主机管理系统怎么用呢?下面大概整理下他的使用方法,咱们来看看吧. 在讲如何使用N点虚拟主机管理系统之前,我们先来了解一下N点虚拟主机管理系统的介绍. N ...
- CAGradientLayer实现图片渐变透明效果
CAGradientLayer实现图片渐变透明效果 要实现的效果如下: 源码: // // RootViewController.m // CAGradientLayer // // Copyrigh ...
- HTTP协议图--HTTP 协议报文结构
1.HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文.请求端(客户端)的 HTTP 报文叫做请求报文:响应端(服务器端)的叫做响应报文.HTTP 报文本身是由多行(用 CR[car ...
- linux性能系列--内存
一.啥是内存呢? 回答:内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁.计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大. 内存(Memory)也被称为内存储器, ...
- Hive安装报错
安装好hive后在bin路径下输入hive报错: [ERROR] Terminal initialization failed; falling back to unsupported 原因是hado ...
- jQueryeasyUI+Hibernate+struts2实现商城后台管理之复合类别
一.在Category.java中添加父类别和子类别两个变量,并生成get/set方法
- 快速搭建redis单机版和redis集群版
单机版 第一步:需要安装redis所需的C语言环境,若虚拟机联网,则执行 yum install gcc-c++ 第二步:redis的源码包上传到linux系统 第三步:解压缩redis tar ...
- 【[APIO2007]动物园】
我好\(sb\)啊,把\(>>\)打成\(<<\)结果就写了两节课 那个一个人只能看到五个动物显然很鬼畜 那我们就可以压这一维了 \(dp[i][s]\)表示从第\(i\)个位 ...
- iOS获取当前连接的wifi信息
导入框架CaptiveNetwork #import <SystemConfiguration/CaptiveNetwork.h> 获取当前连接的wifi信息 // 只能获取当前的SSID ...
- VC++获取一个GB级大文件的字节大小
常规的获得小文件(2.1GB以下)的字节大小可以使用ftell,函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数.使用fseek函数后再调用函数ftell()就能非常容易地确定文 ...