HDFS

第一讲:毕业设计题目的设计

こ雲淡風輕ζ 提交于 2020-08-15 08:13:51
本讲用于讲解如何做毕业设计的题目设定。 一、态度上的重视 我每次参加新员工面试的时候,如果是应届生,首先看的就是简历上毕业设计的描述,然后再到简历上的项目栏,因为毕业设计是大学生在大学期间所学核心技能的体现,所以毕业设计是简历上的一个非常重要的闪光点。面试官没有那么多时间看你的资料的,如果你的毕业设计题目很普通,基本上你的简历被忽视的概率非常大。你自己把别人发现你的成本垒高了的话,吃亏的还是你自己,毕竟,社会上不缺乏人才。 所以,要提高对毕业设计的重视态度。不要为了毕业设计而设计,而是要静下心来思考自己的未来就业方向。尽可能让自己的毕业设计所需要的技能符合未来就业岗位所需要的技能。并且尽可能让毕业设计贴近实战(真是可以长期运行的项目),这样的作品才有意义,才能出众。 二、毕业设计作品所需技能预估 未来所需要岗位的技能,最简单的就是去招聘网站查询,比如智联招聘或广西人才网,下面就是广西人才网的一条招聘信息,如果你期待的工作是大数据分析师: 我对上面的图的某些部分进行了下划线标注,我们分析下: 1、“熟练掌握Java或python”,那你的毕业设计最好是Java语言或python语言作为主要的编程语言。 2、“熟练掌握mysql数据库”,那么你的毕业设计最好是采用MySQL数据库作为数据库。“熟练使用SQL”,那么你的设计里面可以加入一些SQL函数或存储过程或事务等的设计

生产环境使用HBase,你必须知道的最佳实践

一笑奈何 提交于 2020-08-15 08:05:00
前面,我们已经打下了很多关于HBase的理论基础,今天,我们主要聊聊在实际开发使用HBase中,需要关注的一些最佳实践经验。 1.Schema设计七大原则 1)每个region的大小应该控制在10G到50G之间; 2)一个表最好保持在 50到100个 region的规模; 3)每个cell最大不应该超过10MB,如果超过,应该有些考虑业务拆分,如果实在无法拆分,那就只能使用mob; 4)跟传统的关系型数据库不同,一个HBase的表中列族最多不超过3个,列族中的列可以动态添加的,不要设计过多列族; 5)列族名必须尽量短,因为我们知道在存储的时候,每个keyvalue都会包含列族名; 6)如果一个表存在一个以上的列族,那么必须要注意,不同列族之间行数相差不要太大。例如列族A有10万行,而列族B有1亿行,那么rowkey就有1亿行,而region是按照行键进行切分的,因此列族A可能会被打散为很多很多小region,这会导致在扫描列族A时会引发较多IO,效率低下。 7)列族可以设置TTL时间,HBase在超过设定时间后,会自动删除数据。 设置方法有两种: 建表时设置,TTL单位为秒,此例中列簇'f1'的数据保留1天(86400秒) hbase(main):002:0>create 'table', {NAME => 'f1', TTL => 86400} 通过修改表设置 hbase

大数据相关资料论文小结

流过昼夜 提交于 2020-08-15 07:54:49
前言 不知不觉,2020年已经过去一半了,最近突然反应过来自己也看了不少文献资料了,就想着把看过的文献和觉得比较好的书籍做一个总结,基本都是大数据分布式领域的,回顾自己学识的同时,也给想从事或这个领域的小伙伴一些参考 😃。最后顺便把接下来要看的东西列个列表,也会将自己学习的心得和经验分享出来,有需要的童鞋可以参考参考。 另外有些文献看完我会进行整理和输出,这部分链接我一并附在文献的介绍后面,后面看的书或是文献也会保持这种习惯,如果觉得有兴趣欢迎各位大佬交流,顺便也可以点波关注~~ 论文总结 MapReduce 《MapReduce Simplified Data Processing on Large Clusters》 从现在的眼光来看,Mapreduce可以说可圈可点。但在那个年代,这个思想可以说是相当先进的。不得不说Google一直引领技术潮流,包括近几年流行的k8s也是Google主导。 这篇文章主要介绍了Mapreduce的流程还有一些细节方面的介绍,如果已经有使用过Mapreduce编程的小伙伴应该看一遍就能懂。另外,看完如果想加以巩固的话,推荐做MIT6.824的Lab1,用go实现一个Mapreduce。至于什么是Mit6.824,百度一下就知道喔。我以前也有写过一篇介绍MR,有兴趣的童鞋不妨看看: 从分治算法到 Hadoop MapReduce 。 地址:

22 hbase(上)

为君一笑 提交于 2020-08-15 07:40:11
文章目录 hbase(上) 1、HBase的基本介绍 2、hbase与hadoop的关系 3、RDBMS与HBase对比 4、HBase的简要特征 5、hbase的架构 6、HBase的集群环境搭建 第一步:下载对应的HBase的安装包 第二步:压缩包上传并解压 第三步:修改配置文件 第四步:安装包分发到其他机器 第五步:三台机器创建软连接 第六步:三台机器添加HBASE_HOME的环境变量 第七步:HBase集群启动 第八步:页面访问 7、HBase常用基本shell操作 1.进入HBase客户端命令操作界面 2.查看帮助命令 3.查看当前数据库中有哪些表 4.创建一张表 5.添加数据操作 6.查询数据操作 第一种查询方式:get rowkey 通过rowkey直接获取数据 效率最高 1.通过rowkey进行查询 2.查看rowkey下面的某个列族的信息 3.查看rowkey指定列族指定字段的值 4.查看rowkey指定多个列族的信息 5.指定rowkey与列值查询 6.指定rowkey与列值模糊查询 第二种查询方式:scan tableName startRowkey endRowKey 根据rowkey的范围值进行查询、rowkey是按照字典顺序进行排列 7.rowkey的范围值查询 第三种查询方式 scan tableName 全表扫描 8.查询所有数据 9.列族查询 10

微博数仓数据延时优化方案

℡╲_俬逩灬. 提交于 2020-08-15 07:38:42
前言 本文以离线数据仓库为背景,重点介绍因传输链路数据延时的不确定性,可能导致部分延迟文件无法参与正常的调度计算或同步,导致数据缺失的问题成因、业务影响及相应的解决方案。 关于这类问题的处理,有这么一种论调:我们认为正常情况下, 脏 或 缺失 数据的比例是很小的,可以大致认为数据是可用的的;或者我们可以推后一下计算的时间,让数据尽可能的传输完整;诸如此类...。 如果认可这种论调,可以直接忽略本文的内容。 我们是一个有 态度 的数据团队,旨在精确评估用户(整体/个体)的性能或行为情况,以优质的数据驱动业务优化,数据必须做到客观条件下最大限度地精准。 数仓架构 数据仓库使用 Hive 构建,日志或数据以文件形式(Text/ORCFile)存储于HDFS。数仓整体划分以下3层: ODS(面向原始日志的数据表) DW(面向业务主题的数据表) DM(面向业务应用的数据表) 日志来源 日志(原始日志)来源可以是多样的: 实时数据流(Kafka/Flume/Scribe) 离线数据推送(Rsync) 日志接口(Http/Wget) 其它 无论使用哪一种方式,都会使用统一的目录规范存储于HDFS,如下: ${BASE_DIR}/业务日志名称/日期(yyyy_MM_dd)/小时(HH)/日志文件名称(带有时间戳) 假设业务日志名称为 www_spoollxrsaansnq8tjw0

Sparrow:分布式低延迟调度

大城市里の小女人 提交于 2020-08-15 05:04:41
1.摘要 大型数据分析框架正在朝着缩短任务执行时间和提高并行度的方向发展来提供低延迟,任务调度器面临的主要挑战是在几百毫秒内完成高度并行的作业调度,这需要在合适的机器上每秒调度数百万个任务,同时提供毫秒级的延迟和高可用性。本文证明了去中心化、随机抽样方法可提供最佳性能,同时避免了中心化设计存在吞吐量和高可用的问题。本文在110台计算机集群上部署Sparrow,并证明Sparrow的性能与理想的调度程序的误差在12%以内。 2.介绍 当今的数据分析集群运行的时间越来越短,作业的任务越来越多。在对低延迟交互式数据处理的需求的刺激下,研究机构和同行业共同努力产生了一些框架(例如Dremel,Spark,Impala)可以在数千台机器上工作,或将数据存储在内存以秒级分析大量数据,如图1所示。预计这种趋势会继续推动开发针对次秒级响应时间的新一代框架响应时间进入100ms左右,这让新的强大的应用程序成为可能;例如,面向用户的服务在每个查询的基础上将能够运行复杂的并行计算,比如语言翻译和高度个性化的搜索。 图1:数据分析框架分析大量数据的延迟非常低 调度由简短的次秒级任务组成的作业极具挑战,这些作业不仅是因为低延迟框架出现的,也有将长时间运行的批处理作业分解为大量短时间任务的原因。当任务以几百毫秒的速度运行时,调度决策必须有很高的吞吐量:一个由10000个16核机器组成的集群并运行100毫秒任务

HBase可用性分析与高可用实践

那年仲夏 提交于 2020-08-15 02:40:16
HBase作为一个分布式存储的数据库,它是如何保证可用性的呢?对于分布式系统的CAP问题,它是如何权衡的呢? 最重要的是,我们在生产实践中,又应该如何保证HBase服务的高可用呢? 下面我们来仔细分析一下。 什么是分布式系统的CAP? CAP是指一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 Consistency 一致性 一致性指更新操作成功并返回客户端完成后,分布式系统中所有节点在同一时间的数据完全一致。 从客户端的角度来看,一致性主要指的是并发访问时获取的数据一致。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。 对于数据库来说,如果要求更新过的数据能被后续的访问都能看到,这是强一致性。如果能容忍后续的部分或者全部访问不到,则是弱一致性。如果经过一段时间后要求能访问到更新后的数据,则是最终一致性。 Availability 可用性 可用性指服务一直可用,整个系统是可以正常响应的。一般我们在衡量一个系统的可用性的时候,都是通过停机时间来计算的。我们经常说的3个9,4个9的SLA,就是对于可用性的量化表述。 Partition Tolerance分区容错性 分区容错性指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。 而CAP定理证明

Hadoop进阶命令使用介绍

拟墨画扇 提交于 2020-08-15 01:58:30
hadoop生产环境的使用是很复杂的,有些公司是CDH或者Ambari等管理工具运维的,有些是原生的集群俗称裸奔,前者优缺点是运维,查看监控等容易,对于底层理解不友好;裸奔集群反之,裸奔集群的很多东西都需要定制和自己开发,比如监控用zabbix,告警用企业微信,节点的异构严重的,需要二次开发配置文件分发等等避免同步配置时配置覆盖(举例:node1是2块磁盘,node2是三块,如果直接同步配置文件则要么node1多了一个目录,要么node2的配置少了一块盘。若覆盖的磁盘多了,就会导致集群丢块) 先上官网: Apache Hadoop 3.1.2 集群间数据平衡: > nohup hdfs balancer -D " dfs.balancer.movedWinWidth=300000000 " -D " dfs.datanode.balance.bandwidthPerSec=2000m " -threshold 1 > hadoop-hadoop-balancer-hadoop- 0018 .log & 节点内各个磁盘的数据平衡: > hdfs diskbalancer -plan IP -bandwidth 1000 -v 2 > /dev/ null | egrep ^/ | xargs hdfs diskbalancer -execute 接上,查看磁盘平衡情况/进度: >

Java自带的性能监测工具之jhat

淺唱寂寞╮ 提交于 2020-08-14 22:51:21
原文:https://my.oschina.net/wangmengjun/blog/864838 本文继续介绍Java自带的性能监测工具,本文使用jhat (Java Heap Analyse Tool)工具来玩~ jhat (Java Heap Analyse Tool) 是用来分析java堆的命令,可可以将对中的对象以html的形式展示,包括对象的数量、大小等信息,并支持对象查询语言 (OQL)。 先使用jps -l查看有哪些进程~ [root@dev03 ~]# jps -l 10838 sun.tools.jps.Jps 13823 org.apache.hadoop.hdfs.server.namenode.NameNode 13588 org.apache.hadoop.yarn.server.nodemanager.NodeManager 21983 org.apache.catalina.startup.Bootstrap 13941 org.apache.hadoop.hdfs.server.datanode.DataNode 13318 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager 14097 org.apache.hadoop.hdfs.server.namenode

hadoop安装教程

一笑奈何 提交于 2020-08-14 20:20:57
一、hadoop安装 1. 修改主机名和 IP 地址映射 sudo vi /etc/ hostname #修改主机名(如,删掉原有内容,命名为 hadoop) ping hadoop # ping 通证明成功 2. 安装java sudo apt install openjdk- 8 -jdk-headless 配置JAVA环境变量,在当前用户根目录下的.profile文件最下面加入以下内容: export JAVA_HOME=/usr/lib/jvm/java- 8 -openjdk- amd64 export PATH =$JAVA_HOME/ bin:$PATH export CLASSPATH =.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 使用 source 命令让立即生效 source .profile rogn@ubuntu:~$ java - version openjdk version " 1.8.0_252 " OpenJDK Runtime Environment (build 1.8 .0_252-8u252-b09- 1 ~ 16.04 - b09) OpenJDK 64 -Bit Server VM (build 25.252 -b09, mixed mode) 3. 下载hadoop 3.2.1