HDFS

【10笔记】HBase基础

点点圈 提交于 2020-03-08 06:34:16
1、HBase概述 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。 是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,因此可以容错地存储海量稀疏的数据。 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 2、HBase特性 1. 海量存储 HBase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与HBase的极易扩展性息息相关。正式因为HBase良好的扩展性,才为海量数据的存储提供了便利。 2. 列式存储 HBase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。 3. 易扩展 HBase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。 通过横向添加RegionSever的机器,进行水平扩展,提升HBase上层的处理能力,提升HBase服务更多Region的能力。 RegionServer的作用是管理region、承接业务的访问,这个后面会详细的介绍通过横向添加Datanode的机器,进行存储层扩容

Hadoop HDFS命令行操作

纵饮孤独 提交于 2020-03-07 12:08:57
1、列出所有命令 hdfs dfs -help 2、查看某个一个命令的详细 hdfs dfs -help -put 3、ls 查看HDFS系统中文件和目录,例如查看根目录 hdfs dfs -ls / 列出所有目录和文件 hdfs dfs -ls -R / 4、put 将本地文件上传道HDFS系统中 hdfs dfs -put test.txt /input/ 5、moveFromLocal 命令将本地文件移动到HDFS系统中,可以移动多个文件,与put命令类似,不同的是移动后删除本地文件 hdfs dfs -moveFromLocal test.txt /iput/ 6、get 命令将HDFS系统中的文件下载到本地,下载时本地不能有同名文件,否则会提示文件已存在(确保本地存在写入权限) hdfs dfs -get /input/test.txt test1.txt 下载整个目录 hdfs dfs -get /input/ ./ 7、rm 删除HDFS系统的文件或者文件夹 删除指定文件 hdfs dfs -rm /input/test.txt 递归删除input目录以及改目录下全部内容 hdfs dfs -rm -r /input 8、mkdir 在HDFS系统中创建文件夹 hdfs dfs -mkdir /input/ 创建多级目录(自动创建父级不存在的目录) hdfs dfs

BigData<3>_HDFS原理

倖福魔咒の 提交于 2020-03-07 07:21:24
1.简介 HDFS具有分布式文件系统的特性,同时具有 高容错 、** 运行在廉价机器 、 高吞吐量 、 适应大数据集** 等特点,是apache的开源核心项目,地址:hadoop.apache.org 2.HDFS设计目标&&优点 快速检测机器故障,快速自动修复。「这是因为,Hadoop集群有数以千计的廉价机器节点,机器故障很常见」 流式数据访问。「HDFS要处理的数据规模大,应用程序一次需要访问大量数据,适用于批量处理而非用户交互式处理数据。HDFS更注重数据获取的高吞吐量而非低延时(low latency)」「流式读取最小化了硬盘的寻址开销,只需要寻址一次,然后就一直读啊读。毕竟每一个文件块都被划分为128M大小了,所以流式读取更加适合硬盘的本身特性。当然大文件的特点也更适合流式读取。与流数据访问对应的是随机数据访问,它要求定位、查询或修改数据的延迟较小,传统关系型数据库很符合这一点」 大数据集。 「支持超大文件的存储」 文件一次性写入,多次读取模式。文件在写入完成之后,只能在文件末尾添加或截断,而不能在文件任意位置添加或删除。这一点保证了数据访问的高吞吐量。 Moving Computing is Cheaper than Moving Data: 在数据存储位置的节点处(附近)进行计算是更为高效的,可以降低网络拥堵,提高系统整体的吞吐量。因此,将计算移动到数据存储节点(附近

第 5 节 Flink on yarn的两种方式

余生长醉 提交于 2020-03-07 04:37:46
上篇: 第 4 节 Flink standalone集群安装部署 如图所示: 1、Flink on Yarn 的两种使用方式 第一种【yarn-session.sh(开辟资源)+flink run(提交任务)】 (1)修改etc/hadoop/yarn-site.xml //添加参数 < property > < name > yarn . nodemanager . vmem - check - enabled < / name > < value > false < / value > < / property > (2)修改后的文件,拷贝文件到其他机器上 [ root @Flink105 hadoop - 2.7 .2 ] # scp - rq etc / hadoop / yarn - site . xml flink106 : / opt / hadoop / module / hadoop - 2.7 .2 / etc / hadoop / [ root @Flink105 hadoop - 2.7 .2 ] # scp - rq etc / hadoop / yarn - site . xml flink107 : / opt / hadoop / module / hadoop - 2.7 .2 / etc / hadoop / (3)启动hadoop集群 [

hdfs datanode decomission引发的block missing

自古美人都是妖i 提交于 2020-03-06 01:08:58
最近在帮公司下线离线计算集群的机器,逐台decomiss,下到第四台机器时,cdh告警来了,丢失块大于集群的1%,算了一下集群有400多台,下线一台不应该告警,以为下线步骤有问题,点了中止下线,后来看了下其实步骤是没问题的,由于下线的机器配置比较好,所以确实这台机器上存储了集群1%以上的block,于是终止了datanode的decomission,但是集群还是出现了14个 missing block,按照常理,hdfs上的文件丢失副本只要不是所有副本全丢,过段时间hdfs都会把这些副本从其他节点copy一份,但是这些block随着时间的增加永远不会恢复。 确认了下线步骤没有问题以后,选择原来的datanode继续decomission,但是这一步会一直卡住,不会完成,看了下datanode的日志,确实是在移动数据,但是看节点的io很小,完全达不到正常下线节点时的io。于是这个节点先略过,下线其他节点,发现也出现同样情况,看来继续下线是不行了。 看了一下clouddera社区的一个issue,这好像是cdh的一个bug,上面cdh的官方人员说要把datanode删掉再重新加回来就可以下线了。 于是我把datanode停了,通过cdh监控按到节点上的block全部复制完以后,直接把datanode删除掉了, 没有走正常decomission的流程。弄完之后去hdfs的监控看了下

分布式文件系统HDFS

微笑、不失礼 提交于 2020-03-05 21:52:49
HDFS全称为Hadoop Distributed File System,是整个Hadoop平台上的两大核心组件之一 HDFS用于解决海量数据的分布式存储问题 计算机集群结构 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群 与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销 机架内部的机器通过光纤高速交换机进行连接,机架和机架之间通过带宽更高的几个光纤交换机来完成彼此之间的交互和连接 分布式文件系统的结构 分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)一个作为主节点,其余作为从节点,主节点承担起数据目录(元数据)服务,从节点要具体完成数据的存储任务 HDFS简介 HDFS要实现以下目标: 兼容廉价的硬件设备 流数据读写 大数据集 简单的文件模型 强大的跨平台兼容性 传统的文件系统在进行数据读写的时候是以块数据为单位,每一次可以读取指定的某一部分数据,而HDFS设计的目标就是对大量数据的读写,不会访问某个文件的子集或去访问一块一块的数据

【hadoop】8.HDFS-常用命令行操作

点点圈 提交于 2020-03-05 21:05:22
简介 通过本教程您可以学习到: HDFS命令行语法模式 所有命令列表 常用的命令行操作 命令实际测试及结果 1、基本语法 hadoop的hdfs操作基本语法很简单即 hadoop fs xxx 以hadoop fs引导的命令。 2、所有命令列表 有一定linux基础的朋友都知道,要查看一个命令的具体用法,直接通过敲打该命令,系统就会为我们输出该命令的操作文档,例如现在我们查看 hadoop fs 的相关信息: [root@h133 ~]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>] [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] [-count [-q

初学hadoop之linux系统操作的hdfs的常用命令

♀尐吖头ヾ 提交于 2020-03-05 20:51:58
在对linux的一般操作有 ls mikdir rmdir vi 等操作 在对hadoop的hdfs的一般操作语法为hadoop fs -ls / /**表示查看Hadoop跟目录文件**/ hadoop fs -lsr / /***递归查看hadoop的文件目录**/ hadoop fs -mkdir /dl /**表示在hdfs的根目录下创建了一个的d1的文件夹**/e hadoop的hdfs一般创建文件操作很少,在linux上传较多 语法为: hadoop fs -put linux文件路径(也是要上传文件的路径) 空格 hadoop的hdfs的路径 例如,把linux下root下install.log文件上传的hadoop的hdfs的d1目录下 命令操作位 hadoop fs -put /root/install.log /d1 在上传文件时注意: 当你上传文件到hadoop的hdfs文件目录不存在的时候,hdfs会将你上传的文件名改为该文件 夹的名称t hdfs上传文件如果存在会提示,可以该文件名上传 下载操作就是把-put 换成-get,源文件路径,目的地路径,此时原文件为hdfs了,目的地 是linux了,语法与-put一样,只是原文和目的地互换了i1 hdfs 查看文件语法 hadoop fs -text /d1/adc

Spark on yarn

梦想与她 提交于 2020-03-05 18:18:03
概述 spark on yarn是spark集群模式之一,通过resourcemanager进行调度,较之standalone模式,不需要单独启动spark服务。 关于spark 的三种模式,上一篇文章( saprk zookeeper搭建spark高可用集群 )中已经讲过,在此不做赘述。 本文操作的前提是已经搭建好hdfs和yarn集群。 环境 主机名 应用 tvm13 spark、Scala tvm14 spark、Scala tvm15 spark、Scala spark on yarn架构 基于Yarn有两种提交模式,一种是基于Yarn的yarn-cluster模式,一种是基于Yarn的yarn-client模式。使用哪种模式可以在spark-submit时通过 --deploy-mode cluster/client 指定。 工作原理 yarn cluster 在RM接受到申请后在集群中选择一个NM分配Container,并在Container中启动ApplicationMaster进程 在ApplicationMaster中初始化SparkContext ApplicationMaster向RM申请到Container后通知NodeManager在获得的Container中启动Executor进程 sparkContext分配Task给Executor

hadoop高可用安装与配置

感情迁移 提交于 2020-03-05 11:23:06
集群的规划 host | 基本的软件 | 运行的进程 data1 | jdk、zk、hadoop | NameNode、zkfc、zk、journalNode、ResourceManager data2 | jdk、zk、hadoop | NameNode、zkfc、zk、journalNode、ResourceManager、datanode、NodeManager data3 | jdk、zk、hadoop | zk、journalNode、datanode、NodeManager 一.SSH免密登录 1.data1: ssh-keygen -t rsa , 然后一直按回车 ssh-copy-id data1 ssh-copy-id data2 ssh-copy-id data3 2.在data2和data3上重复执行1的操作 二.安装jdk 省略 三.安装zookeeper 省略 四.安装hadoop 1.下载到/data/tools: wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz 2. 添加环境变量:sudo vi /etc/profile export HADOOP_HOME=/data/tools/hadoop-2.10.0 export