HDFS

Ozone SCM HA设计浅谈

时光毁灭记忆、已成空白 提交于 2020-04-23 04:51:25
文章目录 前言 SCM HA相较于OM HA的区别点 SCM HA服务内存状态数据一致性的控制 Follower SCM内部管理服务的“失效”处理 SCM HA failover行为处理 SCM HA的整体架构图 引用 前言 在前面的文章中,笔者写过关于Ozone OM HA实现的相关文章( Ozone OM服务HA原理分析 ),里面谈论了目前OM HA的一些实现细节以及OM HA如何搭建这类的说明性文章。但是一套完整,高可用的系统,它需要确保其服务整体的健壮性,目前Ozone依赖的SCM服务还没有实现HA,是一个单点的服务。Ozone社区在实现了OM HA之后,已经在设计考虑实现SCM的HA方案(相关JIRA: HDDS-2823 ),以此能够达到一个稳定可使用的Ozone发布版本。本文笔者根据目前社区JIRA上对SCM HA的部分设计要点,来聊聊关于Ozone SCM服务的HA,我们有哪些主要设计要点以及其与OM HA的不同之处。 SCM HA相较于OM HA的区别点 这里SCM是StorageContainerManager名称的简写,而OM是OzoneManager的简称。在Ozone服务中,SCM是底层提供存储能力的基础服务,OM则是其上的应用服务。对于OM这样的应用服务,它在实现HA时重要考虑的点在于Leader/Follower服务节点上db元数据状态的一致

hadoop-3.2.0------>入门十八hadoop之HDFS的shell命令操作

给你一囗甜甜゛ 提交于 2020-04-23 03:32:15
基本语法 bin/hadoop fs bin/hdfs dfs 上面两个命令均可以使用,dfs是fs的实现类 命令大全 1、启动hadoop sbin/start-dfs.sh sbin/start-yarn.sh 2、输出这个命令参数 hadoop fs -help rm 3、显示目录信息 #查看根目录 hadoop fs -ls / #递归查看所有文件目录 hadoop fs -lsr / 4、在hdfs上创建文件夹 hadoop fs -mkdir -p /user/root 5、从本地剪切文件并粘贴到HDFS上 #创建test.txt文件 touch test.txt #剪切本地文件并粘贴到hdfs上 hadoop fs -moveFromLocal ./test.txt /user/root 6、追加一个文件到已经存在的文件末尾 #创建测试文本2 touch test2.txt #编辑文本 vi test2.txt #文本中输入内容 zhangsan lisi wangwu #退出编辑模式 点击键盘左上角ESC #保存并退出 :wq! #上传文件并追加到test文本中 hadoop fs -appendToFile test2.txt /user/root/test.txt 7、显示文件内容 hadoop fs -cat /user/root/test.txt 8

apache Impala详细安装

喜欢而已 提交于 2020-04-22 01:18:05
参考文章: apache Impala详细安装(躺过最全的坑) Apache impala详细安装 impala是cloudera提供的一款高效率的sql查询工具,提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具, 安装部署: 1.安装前提 集群提前安装好hadoop,hive。 hadoop框架需要支持C程序访问接口 2.下载安装包、依赖包 由于impala没有提供tar包进行安装,只提供了rpm包。因此在安装impala的时候,需要使用rpm包来进行安装。rpm包只有cloudera公司提供了,所以去cloudera公司网站进行下载rpm包即可。 但是另外一个问题,impala的rpm包依赖非常多的其他的rpm包,可以一个个的将依赖找出来,也可以将所有的rpm包下载下来,制作成我们本地yum源来进行安装。这里就选择制作本地的yum源来进行安装。 所以首先需要下载到所有的rpm包,下载地址如下 http://archive.cloudera.com/cdh5/repo-as-tarball/5.14.0/cdh5.14.0-centos6.tar.gz 3.配置本地yum源 使用sftp的方式把安装包大文件上传到服务器**/cloudera_data**目录下 cd /cloudera

Spark算子调优—基本的算子调优

≡放荡痞女 提交于 2020-04-21 04:15:44
Spark常见RDD算子调优 算子调优一:mapPartitions 算子调优二:foreachPartition优化数据库操作 算子调优三:filter与coalesce的配合使用 算子调优四:repartition解决SparkSQL低并行度问题 算子调优五:reduceByKey本地聚合 算子调优一:mapPartitions 普通的map算子对RDD中的每一个元素进行操作,而mapPartitions算子对RDD中每一个分区进行操作。如果是普通的map算子,假设一个partition有1万条数据,那么map算子中的function要执行1万次,也就是对每个元素进行操作。 如果是mapPartition算子,由于一个task处理一个RDD的partition,那么一个task只会执行一次function,function一次接收所有的partition数据,效率比较高。 比如,当要把RDD中的所有数据通过JDBC写入数据,如果使用map算子,那么需要对RDD中的每一个元素都创建一个数据库连接,这样对资源的消耗很大,如果使用mapPartitions算子,那么针对一个分区的数据,只需要建立一个数据库连接。 mapPartitions算子也存在一些缺点:对于普通的map操作,一次处理一条数据,如果在处理了2000条数据后内存不足

大数据Hadoop入门到精通 (精品课程)

心已入冬 提交于 2020-04-20 18:27:28
视频列表 大数据与Hadoop(PPT在本节附件,【登电脑端才能下载】 Hadoop集群搭建1 Hadoop集群搭建2 Hadoop主要的通信方式 序列化与反序列化 HDFS介绍—分布式文件系统 HDFS的GUI和CLI HDFS的Client HDFS的NameNode HDFS的DataNode HDFS的读写流程和版本升级 HDFS的高可用 HDFS的一致性、设置和联邦 分布式计算的历史与介绍 MapReduce编程 使用maven进行Mapreduce开发 Map端处理过程 Shuffle过程 Reduce端处理过程 排序与计数器 数据倾斜的处理 大数据算法 YARN简介 YARN的ResourceManager YARN的NodeManager YARN的调度器 YARN一次作业的提交流程 YARN的故障恢复 数据仓库和Hive 其他计算框架和OLAP系统 大数据职业发展 来源: oschina 链接: https://my.oschina.net/u/4394131/blog/3285621

Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)

天涯浪子 提交于 2020-04-20 15:30:10
在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计。在前面我已经写了关于如何去搭建hadoop这样一个大数据平台,还没搭好环境的童鞋可以转到我写的这篇文章 Hadoop在Ubuntu的安装 ,接下来就开始我们本次的经验分享啦。 HDFS的Shell命令操作 HDFS的格式化与启动 首次使用HDFS时,需要使用format 命令进行格式化 ./bin/hdfs namenode -format 使用start-dfs.sh命令启动HDFS,可 使用JPS命令查看是否成功启动 ./sbin/start-dfs.sh 下面的图片是启动失败的截图,那么怎么解决这个问题呢。 HDFS启动失败 首先需要停止hdfs,这也是操作完hdfs的必要步骤。 ./sbin/stop-dfs.sh 删除tmp/dfs目录下的data文件夹 rm -r ./tmp/dfs/data 最后重新执行HDFS的格式化与启动操作。 启动成功包括出现NameNode、SecondDaryNameNode、以及DataNode。 HDFS支持的命令 查看hdfs支持的所有命令 ./bin/hdfs dfs Ps:查看hadoop下 put 的使用方法 ./bin/hadoop fs -help put

大数据篇:Spark

我只是一个虾纸丫 提交于 2020-04-19 17:01:24
大数据篇:Spark Spark是什么 Spark是一个快速(基于内存),通用,可扩展的计算引擎,采用Scala语言编写。2009年诞生于UC Berkeley(加州大学伯克利分校,CAL的AMP实验室),2010年开源,2013年6月进入Apach孵化器,2014年成为Apach顶级项目,目前有1000+个活跃者。就是说用Spark就对了。 Spark支持Scala,Java,R,Python语言,并提供了几十种(目前80+种)高性能的算法,这些如果让我们自己来做,几乎不可能。 Spark得到众多公司支持,如:阿里、腾讯、京东、携程、百度、优酷、土豆、IBM、Cloudera、Hortonworks等。 如果没有Spark 解决MapReduce慢的问题而诞生,官网解释比同样的MapReduce任务快100倍! spark.apache.org 1 内置模块 机器学习(MLlib),图计算(GraphicX),实时处理(SparkStreaming),SQL解析(SparkSql) 1.1 集群资源管理 Spark设计为可以高效的在一个计算节点到数千个计算节点之间伸缩计算,为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群资源管理器上运行,目前支持的3种如下:(上图中下三个) Hadoop YARN(国内几乎都用) Apach Mesos(国外使用较多)

实战|使用Spark Streaming写入Hudi

你。 提交于 2020-04-19 10:02:56
1. 项目背景 传统数仓的组织架构是针对离线数据的OLAP(联机事务分析)需求设计的,常用的导入数据方式为采用sqoop或spark定时作业逐批将业务库数据导入数仓。随着数据分析对实时性要求的不断提高,按小时、甚至分钟级的数据同步越来越普遍。由此展开了基于spark/flink流处理机制的(准)实时同步系统的开发。 然而实时同步数仓从一开始就面临如下几个挑战: 小文件问题。不论是spark的microbatch模式,还是flink的逐条处理模式,每次写入HDFS时都是几M甚至几十KB的文件。长时间下来产生的大量小文件,会对HDFS namenode产生巨大的压力。 对update操作的支持。HDFS系统本身不支持数据的修改,无法实现同步过程中对记录进行修改。 事务性。不论是追加数据还是修改数据,如何保证事务性。即数据只在流处理程序commit操作时一次性写入HDFS,当程序rollback时,已写入或部分写入的数据能随之删除。 Hudi是针对以上问题的解决方案之一。以下是对Hudi的简单介绍,主要内容翻译自官网。 2. Hudi简介 2.1 时间线(Timeline) Hudi内部按照操作时刻(instant)对表的所有操作维护了一条时间线,由此可以提供表在某一时刻的视图,还能够高效的提取出延后到达的数据。每一个时刻包含: 时刻行为:对表操作的类型,包含: commit:提交

hadoop搭建集群

。_饼干妹妹 提交于 2020-04-19 01:05:01
**hadoop搭建集群** 1、关闭防火墙 1)查看防火墙状态 firewall-cmd --state 2)停止firewall systemctl stop firewalld.service 3)禁止firewall开机启动 systemctl disable firewalld.service 2、时间同步 命令行输入:yum install ntp 下载ntp插件 , 下载完成后 命令行输入:ntpdate -u ntp1.aliyun.com 然后命令行输入:date 如果出现如下情况表示配置成功: 3、配置服务器(我这里是以4台为例) 1个主节点:doop1(192.168.0.103),2个(从)子节点,doop2(192.168.0.104),doop3(192.168.0.105),doop4(192.168.0.106) 2、配置主节点名(192.168.0.103) 在命令行输入: vi /etc/sysconfig/network 添加内容: NETWORKING=yes HOSTNAME=doop1 配置三台子节点名(192.168.0.104),(192.168.0.105),(192.168.0.106): vi /etc/sysconfig/network 添加内容: NETWORKING=yes HOSTNAME=doop2 vi /etc

Hive - create hive table from specific data of three csv files in hdfs

a 夏天 提交于 2020-04-18 05:48:27
问题 I have three .csv files, each in different hdfs directory. I now want to make a Hive internal table with data from those three files. I want four columns from first file, three columns from second file and two columns from third file. first file share an unique id column with second file and third file share another unique id column with third file. both unique ids are present in second file; using these ids I would like to left-outer-join to make table. file 1: '/directory_1/sub_directory_1