HDFS

流式大数据计算实践(2)----Hadoop集群和Zookeeper

天涯浪子 提交于 2020-05-07 19:12:02
一、前言 1、上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二、搭建Hadoop集群 1、根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器 core-site.xml内的fs.defaultFS参数值要改成本机的来启动,启动完毕后再改回来 2、 清空数据,首先把运行单机模式后生成的数据全部清理掉 rm -rf /work/hadoop/nn/ current rm -rf /work/hadoop/dn/current hdfs namenode -format 3、启动集群 (1)storm1作为namenode节点,所以在这台机上面执行命令启动namenode $HADOOP_PREFIX/sbin/hadoop-daemon. sh --script hdfs start namenode (2)storm2作为datanode节点,所以在这台机上面执行命令启动datanode $HADOOP_PREFIX/sbin/hadoop-daemon. sh --script hdfs start datanode (3)通过jps命令可以看到对应的节点,然后通过50070的控制台可以看到storm2的datanode节点 三、ZooKeeper 1、Zookeeper是分布式框架经常要用到的应用协调服务

Spark(六)Spark之开发调优以及资源调优

帅比萌擦擦* 提交于 2020-05-07 16:35:29
Spark调优主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle调优,面向的是对Spark的原理有较深层次掌握和研究的同学,主要讲解了如何对Spark作业的shuffle运行过程以及细节进行调优。 本文作为Spark性能优化指南的基础篇,主要讲解开发调优以及资源调优。 一 开发调优 调优概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。开发调优,就是要让大家了解以下一些Spark基本开发原则,包括:RDD lineage设计、算子的合理使用、特殊操作的优化等。在开发过程中,时时刻刻都应该注意以上原则,并将这些原则根据具体的业务以及实际的应用场景,灵活地运用到自己的Spark作业中。 1 避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD;接着对这个RDD执行某个算子操作,然后得到下一个RDD;以此类推,循环往复,直到计算出最终我们需要的结果。在这个过程中,多个RDD会通过不同的算子操作(比如map、reduce等)串起来,这个“RDD串”

谷歌技术探究之GFS

回眸只為那壹抹淺笑 提交于 2020-05-07 11:44:24
文章目录 引言 GFS的主要设计预期 GFS架构 chunk相关 一致性模型 系统的交互过程 租约(lease) 快照 副本选择 容错机制 master chunk FAQ 总结 引言 GFS可以说是当今云计算的鼻祖,直至今日借鉴其思想的HDFS仍旧活跃在我们的视线当中,我们实在是有必要去好好的学习下相关的知识的,这篇文章是在学习了《The Google File System》这篇论文以后的一点理解和总结,以及对于6.824相关课程资料的结合。因为掺杂了个人的理解有些地方可能并不准确,还望有不同见解的朋友能不吝赐教。 GFS的主要设计预期 系统由廉价的普通机器组成, 所以失效是一种常态 。 系统存储一定数量的大文件 ,预期会有几百万文件,文件的大小通常在100MB或者以上。 工作负载主要由两种读操作构成, 大规模的流式读取和小规模的随机读取 。 工作负载还有写操作,一般是 大规模的、顺序的、数据追加方式的写操作,所以系统支持原子的数据追加操作 。 在高吞吐量和低延时之间GFS选择前者 。 GFS架构 我们可以看到处理 GFS client 以外还有 GFS master 和 GFS chunkserver 。 一般而言整个集群中存在一个master,当然这个一个指的不是一台机器,而是一个集群,其中的机器负责主master的容错,和负载均衡。还存在着许多的 GFS

Hadoop 伪分布式运行模式

╄→尐↘猪︶ㄣ 提交于 2020-05-06 09:17:42
3 Hadoop 伪分布式运行模式 3.1 启动HDFS 并运行 MapReduce 程序 3.1.1 分析 (1)配置集群 (2)启动、测试集群增、删、查 (3)执行WordCount案例 3.1.2 执行步骤 3.1.2.1 配置集群 3.1.2.1.1 配置 hadoop-env.sh [atlingtree@hadoop100 hadoop-2.9.2]$ cd etc/hadoop/ [atlingtree@hadoop100 hadoop]$ vim hadoop-env.sh 将文件中的JAVA_HOME修改成对应的位置,保存退出。 3.1.2.1.2 配置core-site.xml [atlingtree@hadoop100 hadoop]$ vim core-site.xml 添加如下配置: <!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop100:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.9.2/data/tmp</value> <

应用AI芯片加速 Hadoop 3.0 纠删码的计算性能

痴心易碎 提交于 2020-05-06 01:49:09
本文由云+社区发表 做为大数据生态系统中最重要的底层存储文件系统HDFS,为了保证系统的可靠性,HDFS通过多副本的冗余来防止数据的丢失。通常,HDFS中每一份数据都设置两个副本,这也使得存储利用率仅为1/3,每TB数据都需要占用3TB的存储空间。随着数据量的增长,复制的代价也变得越来越明显:传统的3份复制相当于增加了200%的存储开销,给存储空间和网络带宽带来了很大的压力。因此,在保证可靠性的前提下如何提高存储利用率已成为当前HDFS应用的主要问题之一。 针对这些问题,英特尔、Cloudera、华为以及其他的Apache Hadoop communit共同参与开始引入纠删码(Erasure Coding,EC)技术,在保证数据可靠性的同时大幅降低存储开销, 节省2倍的存储空间 。该feature计划在Hadoop3.0版本发布。 什么是纠删码 EC Erasure coding纠删码技术简称EC,是一种数据保护技术。最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术。他通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性。在一定范围的数据出错情况下,通过纠删码技术都可以进行恢复。 在存储系统中,纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到校验,并将数据和校验一并存储起来,以达到容错的目的。其基本思想是将k块原始的数据元素通过一定的编码计算

HBase 在HDFS上的物理目录结构

我怕爱的太早我们不能终老 提交于 2020-05-06 01:05:56
根目录 配置项 <name> hbase.rootdir</name> 默认 “/hbase” 根级文件 /hbase/WALs 被HLog实例管理的WAL文件。 /hbase/WALs/data-hbase.com,60020,1443159380730 对于每个HregionServer,日志目录中都包含一个对应的子目录 hbase/WALs/data-hbase.com,60020,1443159380730/data-hbase.com%2C60020%2C1443159380730.1443787240573 在每个子目录下有多个HLog文件(因为日志滚动) /hbase/oldWALs 当/hbase/WALs 中的HLog文件被持久化到存储文件中,不再需要日志文件时,它们会被移动到/hbase/oldWALs目录。 /hbase/oldWALs/data-hbase.com%2C60020%2C1443159381290.1443787452518 具体的oldWALs文件。 /hbase/hbase.id 集群的唯一ID /hbase/hbase.version 集群的文件格式版本信息 /hbase/corrupt 损坏的日志文件,一般为空 /hbase/archive/ 存储表的归档和快照,HBase 在做 Split或者 compact 操作完成之后,会将

Spark 学习(八) SparkSQL简介

♀尐吖头ヾ 提交于 2020-05-06 00:29:01
一,Spark SQL概述   1.1 什么是Spark SQL   1.2 为什么学Spark SQL 二,DataFrames   2.1 什么是DataFrames   2.2 创建DataFrames 三,DataFrame常用操作   3.1 DSL风格语法   3.2 SQL风格语法 四,SparkSQL编程实例   4.1 前期准备   4.2 通过反射推断Schema   4.3 通过StructType直接指定Schema   4.4 操作DataFrameAPI的形式进行数据操作    4.5 Spark2.X的sql实现方式   4.6 SparkDataSet 正文 一,Spark SQL概述   1.1 什么是Spark SQL         Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。   1.2 为什么学Spark SQL   我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!    1.易整合       2

Hive 总结[鹏哥出品,必属精品]

∥☆過路亽.° 提交于 2020-05-05 20:37:45
Hive 总结 总结人:连志鹏 2020.04.29 一、HiveJDBC客户端基本操作 1.1 HvieJDBC的登入与退出 -- 方式一:使用beeline方式 访问方式:beeline - u jdbc:hive2: //hadooop102:10000 -n atguigu 退出方式:!quit 、 ! exit 、 ctrl + c -- 方式二: 使用hive的方式 访问方式:hive 退出方式:quit; exit ; 1.2 Hive常用的交互命令 “-e” 不进入hive的交互窗口执行sql语句** “-f” 执行脚本中sql语句** 1.3 Hive数据类型 基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int 4byte有符号整数 20 BIGINT long 8byte有符号整数 20 BOOLEAN boolean 布尔类型,true或者false TRUE FALSE FLOAT float 单精度浮点数 3.14159 DOUBLE double 双精度浮点数 3.14159 STRING string 字符系列。可以指定字符集。可以使用单引号或者双引号。 ‘now is the time’ “for all good

YARN常用参数

我只是一个虾纸丫 提交于 2020-05-05 15:43:59
name value description yarn.nodemanager.resource.memory-mb -1 Amount of physical memory, in MB, that can be allocated for containers. If set to -1 and yarn.nodemanager.resource.detect-hardware-capabilities is true, it is automatically calculated(in case of Windows and Linux). In other cases, the default is 8192MB. yarn.scheduler.maximum-allocation-mb 8192 The maximum allocation for every container request at the RM, in MBs. Memory requests higher than this will throw a InvalidResourceRequestException. yarn.scheduler.maximum-allocation-vcores 4 The maximum allocation for every container request

Spark新手入门——3.Spark集群(standalone模式)安装

半城伤御伤魂 提交于 2020-05-05 14:44:59
主要包括以下三部分,本文为第三部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 查看 三. Spark集群(standalone模式)安装 Spark集群(standalone模式)安装 若使用spark对本地文件进行测试学习,可以不用安装上面的hadoop环境,若要结合hdfs使用spark,则可以参考上面的步骤搭建hadoop。 1. 下载 安装包 并解压(如:~/tools/spark-2.3.1-bin-hadoop2.7); 2. 启动服务 a.启动master ./sbin/start-master. sh b.启动slaves   可先登陆 http://localhost:8080/ ,获取“Spark URL” ./sbin/start-slave. sh <spark: // xxxx-xxx:7077> 3. 开发测试程序 下面开发一个超级简单的rdd任务,逻辑(统计hdfs文件中包含单词form的行及行数,并将结果保存到hdfs)参考 官网 。 a. 使用 第一讲 中准备好的Scala环境,创建一个scala maven project:mvn-rdd-test b. 编写代码 package com.person.test import org.apache.spark.{SparkConf,SparkContext}