HDFS

如何为Spark应用程序分配--num-executors,--execuor-cores和--executor-memory

落爺英雄遲暮 提交于 2020-12-22 06:48:37
文章目录 前言 一些资源参数设置的基本知识 不同配置的优劣分析 第一种方法:使用较小的executors 第二种方法:使用较大的executors 第三种方法:使用优化的executors 前言 在我们提交spark程序时,应该如何为Spark集群配置–num-executors, - executor-memory和–execuor-cores 呢? 一些资源参数设置的基本知识 Hadoop / Yarn / OS Deamons 当我们使用像Yarn这样的集群管理器运行spark应用程序时,会有几个守护进程在后台运行,如NameNode,Secondary NameNode,DataNode,JobTracker和TaskTracker等。因此,在指定num-executors时,我们需要确保为这些守护进程留下足够的核心(至少每个节点约1 CPU核)以便顺利运行。 Yarn ApplicationMaster(AM) ApplicationMaster负责协调来自ResourceManager的资源,并与NodeManagers一起执行container并监控其资源消耗。如果我们在YARN上运行Spark,那么我们需要预估运行AM所需要的资源(至少1024MB和1 CPU核)。 HDFS吞吐量 HDFS客户端遇到大量并发线程会出现一些bug。一般来说

Linux用户组和权限管理

流过昼夜 提交于 2020-12-22 06:13:35
               Linux用户组和权限管理                                            作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.Linux的安全模型 1>.安全3A   这并不是Linux特有的概念,在很多领域都有3A的概念,比如思科,微软,华为等设备都有安全的概念。大致归类为以下介个术语。     认证(Authentication):         即验明真身,主要是验证您是谁的功能。     授权(Authorization):         授权一般是验证您的身份后,您用的相应权限。     审计(Accouting|Audition):         审计一般是起到监督作用,可以反馈从一些存在的问题,比如安全审计,公司财务审计等等。 2>.用户user 令牌:   token,identity Linux用户:   Username/UID 管理员:   root,0(需要注意的是,并不是叫root的用户名才是管理员,而是因为它的uid为0) 普通用户:   1-60000编号是自动分配的,但如果我们认为指定用户编号的话是可以超过默认的分配阈值(60000),Linux用户分为系统用户和登录用户。   系统用户:1-499(CentOS6.X),1-999(CentOS7.X)

Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permissio...

眉间皱痕 提交于 2020-12-19 07:48:24
保存文件时权限被拒绝 曾经踩过的坑: 保存结果到hdfs上没有写的权限 通过修改权限将文件写入到指定的目录下 * * * $HADOOP_HOME/bin/hdfs dfs -chmod 777 /user * * * Exception in thread "main" org.apache.hadoop.security.AccessControlException: * Permission denied: user=Mypc, access=WRITE, * inode="/":fan:supergroup:drwxr-xr-x package cn.spark.study.sql; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import org.apache.spark.sql.SQLContext; import org.apache.spark.sql.SaveMode; /** * SaveModel示例 * * @author 张运涛 * */ public class SaveModeTest { @SuppressWarnings(

MapReduce统计单词

荒凉一梦 提交于 2020-12-18 19:25:20
一、HDFS个人理解 HDFS是个文件系统,只不过加了个分布式作为文件系统的前缀而已,大概的结构就像LINUX系统。文件大的一个电脑存储不下,怎办?那就想办法存储到不同的机子上呗,于是HDFS就应用而生了。众所周知,文件在硬盘上是以文件块的形式存储。什么句柄啊,真心不懂,只能感知,没人能明白0和1,当然也没必要。 二、Map个人理解 数学函数大家都清楚吧,f(x)=2x,这是一个简单的线性函数。 打开脑洞,将x看成文件中的一行行的字符串,x=“hello hadoop hello mapreduce ” 而此时f(x)的功能是将此字符串按照空格隔开,输出结果为:(hello 1)、(hadoop 1)、(hello 1)、(mapreduce 1)格式。 继续打开脑洞,将x看成一个大文件的一个文件块,比如1万行作为一个文件块,作为x的数值。Hadoop会为每一个文件块构建一个Map任务。 假设,某个HDFS文件有5万行数据,Hadoop将5万行数据切分成5个不同的分片,每个分片有1万行数据,再假设有5台hadoop集群,那么Hadoop会构建5个Map任务,每个Map任务处理一个分片,完全是并行处理的。 三、 Map代码大放送 public static class WordCountMapper extends Mapper<LongWritable,Text,Text

大数据集群资源预估规划【适用于面试与工作集群规划】

落爺英雄遲暮 提交于 2020-12-18 14:02:10
问题导读 1.如何判断数据增量? 2.QPS如何计算? 3.存储空间需要考虑哪些因素? 4.内存估算和哪些因素有关? 我们在实际工作,或者面试中,经常会遇到这么一个问题,集群该如何规划,一台机器多少磁盘,多少内存,多少core等。 关于公司集群规模,有的几台,有的几百或有的则几千台,那么这几百几千台机器他们的配置是怎么样的? 这里先说下大概,对于大多数公司来说,集群有的10来台,而对于电信行业,一个地方的可能有几百台,对于一线互联网集群规模就比较大一些,上千台是比较常见的。 那么如果我们要搭建大数据平台,集群该如何规划?这是我们初步搭建集群的时候,首次遇到的问题。 对于需要多少台机器,其实这个问题,不能一刀切的回答,具体情况具体分析。虽然一开始我们不知道多少台机器,但是我们可以知道影响的关键因素? 那就是数据的增量是多少? 数据的增量,这里我们来说下数据增量: 其实数据的增量不同的公司,也是不一样的,有的公司数据增量也就是几个G,而有的公司数据增量1T以上,比如物联网大数据。除了数据增量,还有其它影响因素,比如使用的计算组件,使用MapReduce和Spark,Flink在内存的使用上,肯定是有区别的。再比如QPS也影响着系统的资源分配。 除了影响因素,那么我们预估集群包含哪些步骤? 1.判断计算数据增量大小 如何计算数据量得大小,这个其实很多企业已有相关得系统

基于Ubuntu在Hadoop的环境下调用MapReduce对文件中各个单词出现次数进行统计

六眼飞鱼酱① 提交于 2020-12-18 13:46:18
基于Ubuntu在Hadoop的环境下调用MapReduce对文件中各个单词出现次数进行统计 目录 一、安装Ubuntu 二、环境配置 三、安装JAVA环境 四、安装Hadoop 五、调用MapReduce执行WordCount对单词进行计数 六.参考文献 一、安装Ubuntu 一般来说,如果要做服务器可选择CentOS或者Ubuntu Server;如果做桌面系统可选择Ubuntu Desktop。在学习Hadoop方面,虽然两个系统没有多大区别,但在此次实验中使用 Ubuntu 14.04 64位 作为系统环境。 (可参考使用VirtualBox安装Ubuntu) .   64位Ubuntu推荐下载地址: 点击下载 . 二、环境配置 装好了 Ubuntu 系统之后,在安装 Hadoop 前还需要做一些必备工作。 1、创建hadoop用户 如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。 首先按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户 : sudo useradd - m hadoop - s / bin / bash 这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。 设置密码:接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:

DOIT20-HDP02

情到浓时终转凉″ 提交于 2020-12-18 13:04:15
1 HDFS的shell客户端 [root@linux01 ~]# hdfs dfs 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] [-d] [-t <thread count>] <localsrc> ... <dst>] [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] [-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] [-e] <path> ...] [-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>] [-createSnapshot <snapshotDir> [<snapshotName>]]

Hadoop NameNode 高可用实现解析

拜拜、爱过 提交于 2020-12-18 06:45:18
转自https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/ 前面的两篇文章都是关于分布式一致性协议Raft的, 图解分布式一致性算法 Raft协议详解 ,其中提到了选主等内容。在不同的项目中,也都有类似的主从切换等策略来保证HA。下文是Hadoop中的NameNode的高可用实现分析,可以对照着看看。 如果在公众号内格式排版不便阅读,可以查看链接。 NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HDFS 的各个组件,包括 MapReduce、Hive、Pig 以及 HBase 等也都无法正常工作,并且重新启动 NameNode 和进行数据恢复的过程也会比较耗时。这些问题在给 Hadoop 的使用者带来困扰的同时,也极大地限制了 Hadoop 的使用场景,使得 Hadoop 在很长的时间内仅能用作离线存储和离线计算,无法应用到对可用性和数据一致性要求很高的在线应用场景中。

Kerberos安全工件概述

半城伤御伤魂 提交于 2020-12-18 02:40:16
Cloudera 集群如何使用Kerberos工件,例如principal、keytab和委派令牌。 Cloudera建议使用Kerberos进行身份验证,因为仅原生的Hadoop身份验证仅检查HDFS上下文中的有效成员的 user:group 身份,而不像Kerberos那样对所有网络资源中的用户或服务进行身份验证。与可能更容易部署的其他机制不同,Kerberos协议仅在特定时间段内对发出请求的用户或服务进行身份验证,并且用户可能要使用的每个服务都需要在协议的上下文中使用适当的Kerberos工件。本节描述Cloudera集群如何使用其中一些工件,例如用于用户身份验证的Kerberos principal和Keytab,以及系统如何使用委派令牌在运行时代表已身份验证的用户对作业进行身份验证。 Kerberos principal 每个需要对Kerberos进行身份验证的用户和服务都需要一个 principal ,即一个实体,该实体在可能有多个Kerberos服务器和相关子系统的上下文中唯一标识该用户或服务。principal最多包含三段标识信息,以用户名或服务名(称为“ 主 ” )开头 。通常,principal的主要部分由操作系统中的用户帐户名组成,例如 jcarlos 用于用户的Unix帐户或 hdfs 与主机基础集群节点上的服务守护程序相关联的Linux帐户。

【hadoop】hadoop3.2.0的安装并测试

若如初见. 提交于 2020-12-17 06:10:17
前言:前段时间将hadoop01的虚拟机弄的崩溃掉了,也没有备份,重新从hadoop02虚拟上克隆过来的,结果hadoop-eclipse插件一样的编译,居然用不起了,找了3天的原因,最后还是没有解决,只能用hadoop shell 命令去测试了,反正影响不大,只不过用着不方便而已。 心累中........... 正文: 解压安装Hadoop [hadoop@hadoop01 ~]$ cp /home/hadoop/Resources/hadoop-3.2.0.tar.gz ~/ [hadoop@hadoop01 ~]$ tar -zxvf ~/hadoop-3.2.0.tar.gz [hadoop@hadoop01 ~]$ cd hadoop-3.2.0 [hadoop@hadoop01 hadoop-3.2.0]$ ls -l total 184 drwxr-xr-x. 2 hadoop hadoop 203 Jan 8 2019 bin drwxr-xr-x. 3 hadoop hadoop 20 Jan 8 2019 etc drwxr-xr-x. 2 hadoop hadoop 106 Jan 8 2019 include drwxr-xr-x. 3 hadoop hadoop 20 Jan 8 2019 lib drwxr-xr-x. 4 hadoop hadoop