HDFS

0432-什么是HDFS的纠删码

风流意气都作罢 提交于 2020-02-18 21:46:36
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 Fayson在前面的文章中介绍过CDH6,参考《Cloudera Enterprise 6正式发布》和《如何在Redhat7.4安装CDH6.0》。CDH6主要集成打包了Hadoop3,包括Hadoop3的一些新特性的官方支持,比如NameNode联邦,纠删码等。纠删码可以将HDFS的存储开销降低约50%,同时与三分本策略一样,还可以保证数据的可用性。本文Fayson主要介绍纠删码的工作原理。 默认情况下,HDFS的数据块都会保存三个副本。副本提供了一种简单而健壮的冗余方式来最大化保证数据的可用性。数据的多副本同时可以尽量保证计算任务的本地化。 但副本方式成本是较高的:默认情况下三副本方式会在存储空间或其他资源(比如写入数据时的网络带宽)中产生200%的开销。对于较少访问的数据集(对集群的I/O影响相对不大),它们的第二个或者第三个副本会比较少访问,但是仍会消耗相同的存储空间。 因此可以使用纠删码(ErasureCoding)来代替多副本的方式,它使用更少的存储却可以保证相同级别的容错。在典型配置下,与三副本方式相比,EC可以将存储成本降低约50%

【科普杂谈】一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了

三世轮回 提交于 2020-02-18 14:38:06
大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。 你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。 大数据,首先你要能存的下大数据。 传统的文件系统是单机的,不能横跨不同的机器。HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,但是你看到的是一个文件系统而不是很多文件系统。比如你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样。HDFS为你管理这些数据。 存的下数据之后,你就开始考虑怎么处理数据。 虽然HDFS可以为你整体管理不同机器上的数据,但是这些数据太大了。一台机器读取成T上P的数据(很大的数据哦,比如整个东京热有史以来所有高清电影的大小甚至更大),一台机器慢慢跑也许需要好几天甚至好几周。对于很多公司来说,单机处理是不可忍受的,比如微博要更新24小时热博,它必须在24小时之内跑完这些处理。那么我如果要用很多台机器处理,我就面临了如何分配工作

一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了

南笙酒味 提交于 2020-02-18 11:27:16
转载: 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。 你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。 大数据,首先你要能存的下大数据。 传统的文件系统是单机的,不能横跨不同的机器。HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,但是你看到的是一个文件系统而不是很多文件系统。比如你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样。HDFS为你管理这些数据。 存的下数据之后,你就开始考虑怎么处理数据。 虽然HDFS可以为你整体管理不同机器上的数据,但是这些数据太大了。一台机器读取成T上P的数据(很大的数据哦,比如整个东京热有史以来所有高清电影的大小甚至更大),一台机器慢慢跑也许需要好几天甚至好几周。对于很多公司来说,单机处理是不可忍受的,比如微博要更新24小时热博,它必须在24小时之内跑完这些处理。那么我如果要用很多台机器处理

一文教你看懂大数据的技术生态圈:Hadoop,hive,spark

左心房为你撑大大i 提交于 2020-02-18 11:17:29
转自:https://www.cnblogs.com/reed/p/7730360.html 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。 大数据,首先你要能存的下大数据。 传统的文件系统是单机的,不能横跨不同的机器。HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,但是你看到的是一个文件系统而不是很多文件系统。比如你说我要获取/hdfs /tmp/file1的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样。HDFS为你管理这些数据。 存的下数据之后,你就开始考虑怎么处理数据。虽然HDFS可以为你整体管理不同机器上的数据,但是这些数据太大了。一台机器读取成T上P的数据(很大的数据哦,比如整个东京热有史以来所有高清电影的大小甚至更大),一台机器慢慢跑也许需要好几天甚至好几周。对于很多公司来说,单机处理是不可忍受的,比如微博要更新24小时热博

hadoop伪分布式安装

两盒软妹~` 提交于 2020-02-18 08:20:54
hadoop伪分布式安装笔记 参考 https://www.cnblogs.com/zhangyinhua/p/7647686.html https://blog.csdn.net/javastart/article/details/47187733 一、Hadoop的三种运行模式(启动模式) 1.1、单机模式(独立模式)(Local或Standalone Mode)   -默认情况下,Hadoop即处于该模式,用于开发和调式。   -不对配置文件进行修改。   -使用本地文件系统,而不是分布式文件系统。   -Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。   -用于对MapReduce程序的逻辑进行调试,确保程序的正确。 1.2、伪分布式模式(Pseudo-Distrubuted Mode)   -Hadoop的守护进程运行在本机机器,模拟一个小规模的集群    -在一台主机模拟多主机。   -Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。   -在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务

Flume怎么操作

▼魔方 西西 提交于 2020-02-17 22:43:12
先来个小简例 我们将本地文件的内容用flume搞到HDFS上面去。 直接上配置文件吧 # example . conf : A single - node Flume configuration # Name the components on this agent a1 . sources = r1 a1 . sinks = k1 a1 . channels = c1 # 我们Source定义了从本地文件secure末尾读取数据 # Describe / configure the source a1 . sources . r1 . type = exec a1 . sources . r1 . command = tail - F / root / secure #这个Sink定义将数据送到hdfs # Describe the sink a1 . sinks . k1 . type = hdfs a1 . sinks . k1 . hdfs . path = hdfs : / / 114.116 .206 .19 : 5009 / flumehdfs / data a1 . sinks . hdfssink . filePrefix = alert - a1 . sinks . hdfssink . hdfs . useLocalTimeStamp = true a1 .

Centos7 调整磁盘空间

耗尽温柔 提交于 2020-02-17 22:36:42
1. 查看磁盘空间占用情况: df -h 可以看到 /home 有很多剩余空间, 而节点较少。 2. 备份 /home 下的内容: cp -r /home/ homebak/ 3. 关闭home进程: fuser -m -v -i -k /home 4. 卸载 /home: umount /home 5. 删除 /home 所在的lv : lvremove /dev/mapper/centos-home 6. 扩展 /root 所在的lv,增加120G : lvextend -L +120G /dev/mapper/centos-root 7. 扩展 /root 文件系统 : xfs_growfs /dev/mapper/centos-root 8. 查看有多少可分配空间: vgdisplay 9. 重新创建 home lv : lvcreate -L 21G -n home centos 10. 创建文件系统: mkfs.xfs /dev/centos/home 11. 挂载 home : mount /dev/centos/home /home 12. 恢复备份文件: cp -r homebak/* /home/ 13. 调整完成后,/home 下面的用户目录的权限变成了 root,切换到相应用户时,会出现类似下面的错误: 14. 需要更改相应用户目录的权限 chown -R

reading a file in hdfs from pyspark

余生长醉 提交于 2020-02-17 13:33:54
问题 I'm trying to read a file in my hdfs. Here's a showing of my hadoop file structure. hduser@GVM:/usr/local/spark/bin$ hadoop fs -ls -R / drwxr-xr-x - hduser supergroup 0 2016-03-06 17:28 /inputFiles drwxr-xr-x - hduser supergroup 0 2016-03-06 17:31 /inputFiles/CountOfMonteCristo -rw-r--r-- 1 hduser supergroup 2685300 2016-03-06 17:31 /inputFiles/CountOfMonteCristo/BookText.txt Here's my pyspark code: from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName("myFirstApp")

reading a file in hdfs from pyspark

て烟熏妆下的殇ゞ 提交于 2020-02-17 13:32:59
问题 I'm trying to read a file in my hdfs. Here's a showing of my hadoop file structure. hduser@GVM:/usr/local/spark/bin$ hadoop fs -ls -R / drwxr-xr-x - hduser supergroup 0 2016-03-06 17:28 /inputFiles drwxr-xr-x - hduser supergroup 0 2016-03-06 17:31 /inputFiles/CountOfMonteCristo -rw-r--r-- 1 hduser supergroup 2685300 2016-03-06 17:31 /inputFiles/CountOfMonteCristo/BookText.txt Here's my pyspark code: from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName("myFirstApp")

reading a file in hdfs from pyspark

浪子不回头ぞ 提交于 2020-02-17 13:32:07
问题 I'm trying to read a file in my hdfs. Here's a showing of my hadoop file structure. hduser@GVM:/usr/local/spark/bin$ hadoop fs -ls -R / drwxr-xr-x - hduser supergroup 0 2016-03-06 17:28 /inputFiles drwxr-xr-x - hduser supergroup 0 2016-03-06 17:31 /inputFiles/CountOfMonteCristo -rw-r--r-- 1 hduser supergroup 2685300 2016-03-06 17:31 /inputFiles/CountOfMonteCristo/BookText.txt Here's my pyspark code: from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName("myFirstApp")