HADOOP
玉羽凌风
这个作者很懒,什么都没留下…
展开
-
HDFS中将普通用户加入到supergroup组来访问HDFS
本机是linux系统,使用远程的hadoop。程序直接访问hdfs://node1:8020 会有权限问题。比较简单的解决粗暴方式是把用户加入到supergroup组。Hadoop本身的用户和组的关系,是同步Linux系统中的用户权限,但是HDFS和Linux的超级用户组又有一点差别,HDFS中的超级用户组是supergroup,但是Linux中默认是没有supergoup这个组,这个时候只需要在Linux中增加supergroup这个组,然后将要在HDFS中加入到supergroup中的用户加到这转载 2020-07-02 14:05:23 · 2357 阅读 · 0 评论 -
新建hadoop用户并给予sudo权限
step1:新建用户sudo adduser hadooppasswd hadoopstep2:添加用户组sudo usermod -a -G hadoop hadoop前面一个hadoop是组名,后面一个hadoop是用户名cat /etc/group 可以看到具体用户信息step3:赋予root权限先切换到root的用户sudo vim /etc/sudoers修改文件如下:在 root ALL=(ALL) ALL 下面添加:hadoop ALL原创 2020-07-01 14:27:49 · 2136 阅读 · 0 评论 -
org.apache.hadoop.security.AccessControlException: Permission denied: user=root
原因:hdfs上没有root用户,也没有对应的文件夹/user/root会默认以root身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/xxx , 我的为/user/root, 由于root用户对hdfs目录并没有写入权限,所以导致异常的发生。而hdfs才有权限创建/user/root解决方法:1、第一种在hdfs的配置文件中,将dfs.permi...转载 2020-04-12 12:54:18 · 2628 阅读 · 1 评论 -
浅谈Spark On Yarn 中的延迟调度问题
延迟调度算法思想十分简单,为了实现data locality(即该task所需数据就在其运行的机器上),会尽量将task分布到有其所需数据的机器或者jvm中去,如果机器或者jvm已被占用就进行延迟等待,直到该机器或者jvm可以运行该task或者超过等待时限则将task运行到其他机器上。这个想法基于以下几点:1.往往数据比程序要大得多,分布式上处理的数据都是GB为单位的,将程序放到数据所在机器去...转载 2020-02-06 10:55:40 · 750 阅读 · 0 评论 -
Capacity Scheduler的队列属性介绍
概述 本文基于 Apache hadoop 3.1.1 版本对Capacity Scheduler队列属性进行说明介绍。队列的部分属性对应于Yarn web中展示的队列信息。下表是Yarn web中的队列信息示例,在后面的队列属性介绍中,会指出属性对应于队列信息的哪个指标(如果有的话)。Queue State: RUNNINGUsed Capacity: <memory...转载 2020-02-06 10:36:04 · 3068 阅读 · 0 评论 -
MapReduce的容错机制
Failures在现实世界中,难免遇到用户代码错误、进程崩溃、机器宕机等情况。使用Hadoop的一个好处是它有能力处理这些失败,使你的job能够成功完成。我们需要考虑以下实体的失败:task、application master、node manager 、resource manager。Task Failure考虑第一种情况task失败。最常见的task 失败是在map或reduc...转载 2020-02-05 20:06:08 · 1060 阅读 · 0 评论 -
修改aws emr系统datanode的ulimit值
1.hadoop用户登录到EMR集群的core节点2.执行sudo su命令切换到root用户3. 执行 echo ' * - nofile 65535' >> /etc/security/limits.conf4. reboot5.重新登录到hadoop用户,执行unlimit -n查看值是否生效6.执行sudo stop hadoop-hdfs-datanode...原创 2020-02-05 19:44:56 · 576 阅读 · 3 评论 -
Using a single hive warehouse for all EMR(Hadoop) clusters
s the EMR/Hadoop cluster’s are transient, tracking all those databases and tables across clusters may be difficult. So, Instead of having different warehouse directories across clusters, You can use a...转载 2020-02-04 23:44:33 · 186 阅读 · 0 评论 -
Common issues of disk going full on EMR Cluster (or In general any Hadoop / Spark cluster)
A disk going full can make YARN on EMR UNHEALTHY. So, customer’s need to identify and proactively predict why each Application like Hadoop / Spark can occupy disk space and act accordingly. This Artic...转载 2020-02-04 23:14:59 · 1904 阅读 · 0 评论 -
Difference between `yarn.scheduler.maximum-allocation-mb` and `yarn.nodemanager.resource.memory-mb`?
Consider in a scenario where you are setting up a cluster where each machine having 48 GB of RAM. Some of this RAM should be reserved for Operating System and other installed applications.yarn.nodem...转载 2020-02-04 00:28:29 · 640 阅读 · 0 评论 -
YARN之架构设计以及生产调优参数配置以及调度器
本节分为三部分:1.YARN架构设计2.YARN生产上资源管理--生产调优参数配置3.YARN生产上调度器YARN :Yet Another Resource Negotiator1.YARN架构设计(和上一篇的MapReduce其实是一样,在这里再过一遍)(当面试的时候,问到MapReduce job执行流程、MapReduceon yarn架构、...转载 2020-02-04 00:16:42 · 626 阅读 · 0 评论 -
HDFS中的文件访问权限
1.超级用户:启动namenode服务的用户就是超级用户, 该用户的组是supergroup,对于超级用户,系统不会执行任何权限检查,每个文件和目录都有所属用户、所属组别、模式。这个模式是由所属用户的权限、组内成员的权限以及其他用户的权限组成。2.文件权限管理文件或者目录被创建之时,服从BSD规则,owner是客户端进程的用户,group是父目录的group3.访问权限说明obje...原创 2020-02-03 14:12:33 · 1363 阅读 · 0 评论 -
hive udf kyroexception unable to find class
Hive-On-Spark配置成功后,准备试用下Hive UDF是否能在Spark-on-Hive环境下正常使用:set hive.execution.engine=spark;add jar viewfs:///dirs/brickhouse-0.7.1-SNAPSHOT-jar-with-dependencies.jar;create temporary functi...转载 2019-12-20 11:52:47 · 2687 阅读 · 0 评论 -
scala(spark-shell)里多行输入
经常将程序片段直接黏贴到spark-shell里,会遇到多行输入的异常,可按以下方法解决1.scla里直接输入:paste,黏贴后直接回车,然后按ctrl+D2.scala里通过:loadref:https://alvinalexander.com/scala/scala-repl-how-to-paste-load-blocks-of-source-code原创 2017-08-29 17:54:39 · 10471 阅读 · 0 评论 -
spark jvm参数配置
1.Driver端的JVM参数:对于-Xmx,-Xms ,yarn-client模式,则默认读取spark-env文件中的SPARK_DRIVER_MEMORY参数值;yarn-cluster模式,则默认读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM参数值。对于PermSize,yarn-client模原创 2017-09-22 16:36:10 · 10040 阅读 · 0 评论 -
HDFS/S3等分布式文件系统过滤路径时正则表达式写法
Hadoop支持的一系列通配符与Unix bash相同:通配符 名称 匹配* 星号 匹配0或多个字符? 问号 匹配单一字符[ab] 字符类别 匹配{a,b}中的一个字符[^ab] 非字符类别 匹配不是{a,b}中的一个字符[a-b] 字符范围 匹配一个在{a,b}范围内的 字符(包括ab),a在字典 顺序上要小于或等于b[^a-b] 非字符范围原创 2017-10-27 15:15:30 · 2755 阅读 · 0 评论 -
Hadoop 压缩格式 gzip/snappy/lzo/bzip2 比较
目前在Hadoop中常用的几种压缩格式:lzo,gzip,snappy,bzip2,主要特性对比如下:压缩格式 codec类 算法 扩展名 多文件 splitable native 工具 hadoop自带 deflate DeflateCodec deflate .deflate 否 否 是 无 ...原创 2018-10-06 22:55:48 · 10775 阅读 · 0 评论 -
yarn架构 及 client提交任务过程讲解
一.yarn的整体架构二.任务提交过程1. Client向RM发出请求2. RM返回一个ApplicationID作为回应3. Client向RM回应Application Submission Context(ASC)。ASC包括ApplicationID、user、queue,以及其他一些启动AM相关的信息,除此之外,还有一个Container Launch Conte...转载 2018-11-17 22:44:12 · 459 阅读 · 0 评论 -
查看hadoop本地库
hadoop checknative -a原创 2018-11-28 11:46:05 · 741 阅读 · 0 评论 -
Hadoop Namenode元数据文件 Fsimage、editlog、seen_txid说明
Hadoop NameNode元数据的$dfs.namenode.name.dir/current/文件夹有几个文件:current/2|-- VERSION3|-- edits_*4|-- fsimage_00000000000085470775|-- fsimage_0000000000008547077.md56|-- seen_txid1.fsimage文件其实是Hadoo...转载 2019-01-10 15:07:40 · 964 阅读 · 0 评论 -
手动合并hadoop namenode editlog
一. 基本概念1.NN恢复实际上是由fsimage开始(这个相当于数据的base),如果有多个fsimage,会自动选择最大的fsimage,然后按照editlog序列日志开始执行日志2.seen_txid文件里的值是当前的最大editlog值。如果nn正在运行,则是edits_inprogress_0000000003336594610 中的3336594610 ;如果NN已经挂了,则是...原创 2019-01-10 22:14:35 · 1359 阅读 · 0 评论 -
spark深入:配置文件与日志
一、第一部分1、spark2.1与hadoop2.7.3集成,spark on yarn模式下,需要对hadoop的配置文件yarn-site.xml增加内容,如下:<property><name>yarn.log-aggregation-enable</name><value>true</value></proper...转载 2019-02-27 21:59:30 · 1031 阅读 · 0 评论 -
Watch out for timezones with Sqoop, Hive, Impala and Spark
My head was spinning as I tried to accomplish a simple thing (as it seemed at first). I load data from 3 Oracle databases, located in different time zones, using Sqoop and Parquet. Then I load data to...转载 2019-02-26 21:34:16 · 359 阅读 · 0 评论 -
在hue当中设置hive当中数据库的控制权限
这段时间在搞大数据的集群搭建工作,并且安装了hive的服务,但是没有对其中的数据库的操作权限做限制,每个人都可以对数据库进行增删改查。今天有空做了一下了对hive数据库当中的数据库做一些限制。我们都是在hue的客户端进行操作hive当中的数据库。操作如下:(1)在hue界面创建登录用户:(2) 配置hive权限控制<property><n...转载 2019-03-03 17:06:26 · 1753 阅读 · 0 评论 -
oozie java.lang.illegalargumentexception stream exceeds limit 2 048
在oozie-site.xml中修改以下值 <property> <name>oozie.servlet.CallbackServlet.max.data.len</name> <value>2048</value> <description> ...原创 2019-09-05 01:16:48 · 681 阅读 · 0 评论 -
查看parquet文件格式内容
1. 下载对应的parquet-tools jar:http://logservice-resource.oss-cn-shanghai.aliyuncs.com/tools/parquet-tools-1.6.0rc3-SNAPSHOT.jar?spm=5176.doc52798.2.7.H3s2kL&file=parquet-tools-1.6.0rc3-SNAPSHOT.jarg...原创 2019-09-14 22:07:40 · 8126 阅读 · 0 评论 -
linux安装flume及问题
1.安装1)下载:wget http://www.apache.org/dyn/closer.lua/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz解压tar -zxvf apache-flume-1.6.0-bin.tar.gz创建软链接 ln -s apache-flume-1.6.0-bin flume2)配置环境变量vim ~/.ba原创 2015-09-23 16:58:27 · 8616 阅读 · 1 评论 -
spark structured streaming GroupState setTimeoutDuration触发机制
在对于spark streaming或者structured streaming编程时,如果用到state,那么一般需要为state 设置个timeout,经研究这个timeout不是简单的根据时间触发的,还会根据当前的输入情况,比如设置的timeout是10s,但是我在10s内并没有新的stream进来,那么state还是有效的。如果在10s内有新的 stream,那么会触发state的计时原创 2017-09-11 16:43:01 · 1783 阅读 · 0 评论 -
spark dataset col,$,column,apply
1.doc上的解释(https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Column.html) df("columnName") // On a specific DataFrame. col("columnName") // A generic column原创 2017-09-27 11:24:34 · 4390 阅读 · 0 评论 -
spark 中删除HDFS文件
在写spark代码的时候,经常会遇到文件夹路径存在的情况,一般有以下的解决方式1.在shell脚本中 直接调用hadoop fs -rm path2.通过设置可直接覆盖文件路径,此方法我没有测试yourSparkConf.set("spark.hadoop.validateOutputSpecs", "false")val sc = SparkContext(yourSparkCon原创 2016-06-13 16:55:29 · 16564 阅读 · 0 评论 -
scala 反射
1.用Java方式val clazz = Class.forName("xxx").newInstance().asInstanceOf[BaseClassXXXX]2.用scala方式val runtimeMirror = scala.reflect.runtime.universe.runtimeMirror(getClass.getClassLoader)原创 2016-07-10 22:07:22 · 1276 阅读 · 0 评论 -
hadoop java.lang.RuntimeException: java.lang.NoSuchMethodException
在写MR的时候遇到一个类似下面的错误信息:java.lang.RuntimeException: java.lang.NoSuchMethodException: com.xxx.thriftoutput.RecommendResult.() at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtil原创 2016-03-23 15:25:34 · 3785 阅读 · 4 评论 -
hadoop jobhistory
hadoop jobhistory记录下已运行完的MapReduce作业信息并存放在指定的HDFS目录下,默认情况下是没有启动的,需要配置完后手工启动服务。mapred-site.xml添加如下配置 mapreduce.jobhistory.address hadoop000:10020 MapReduce JobHistory Server IPC host:port转载 2016-03-18 14:20:02 · 695 阅读 · 0 评论 -
kafka web console安装
貌似很多小伙伴都不能成功打包,共享下之前打包的文件:http://pan.baidu.com/s/1sjkE37J========kafka自己居然没有还一个Web管理界面。。这里有个第三方的: https://github.com/claudemamo/kafka-web-console坑爹的是居然没有详细的安装步骤,只有一些简转载 2015-10-15 16:23:43 · 934 阅读 · 0 评论 -
apache kafka监控系列-KafkaOffsetMonitor
概览最近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西,可视化可操作的界面。zabbix中数据比较分散,不能集中看整个集群情况。或者一个cluster中broker列表,自己写web-console比较耗时耗力,用原型工具画了一些管理界面东西,关键自己也不前端方面技术,这方面比较薄弱。这不开源社区提供了kafka的web管理平台Ka转载 2015-10-15 16:35:30 · 953 阅读 · 0 评论 -
关于hadoop与jstl冲突问题java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/e
在做web后台的时候有用到hive,当然,肯定也得需要hadoop的jar包,但是加入hadoopjar包的时候遇到个问题,很让我头疼,那就是任何网页都打不开了,浏览任何页面一打开就报错:javax.servlet.ServletException: java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContex原创 2015-09-14 17:23:13 · 3644 阅读 · 0 评论 -
Java JDBC方式连接HIVE2
一般连接hive的方式有CLI(登录到服务器或者本地切换到hive环境),Client(SQUIREEL SQL客户端),Web UI(hive --service hwi )等Java 操作JDBC同普通JDBC数据库一样,首先需要启动Hive 服务打开bin/hive --service hiveserver -p 10000public List getDocIds(String r原创 2015-09-09 13:33:06 · 21842 阅读 · 0 评论 -
hadoop如何使用第三方依赖jar包
在hadoop环境下,我们经常会遇到执行一些脚本,然后却需要临时依赖一些jar包,比如在查看mahout运行结果的时候,如果用hadoop fs -text xxx就会遇到类似的错误信息:java.io.IOException: WritableName can't load class: org.apache.mahout.math.VectorWritable。意思就是当前环境下载classp原创 2015-07-20 23:50:22 · 3797 阅读 · 0 评论 -
hadoop 遇到java.net.ConnectException: to 0.0.0.0:10020 failed on connection
这个问题一般是在hadoop2.x版本里会出现,hadoop的datanode需要访问namenode的jobhistory server,如果没有修改,则默认为0.0.0.0:10020,则可以修改mapred-site.xml文件:mapreduce.jobhistory.address Master.Hadoop:10020原创 2015-08-10 14:47:27 · 7071 阅读 · 0 评论 -
windows 运行spark或者hadoop程序报winutils.exe错误
1.下载 winutils.exe:http://download.csdn.net/download/ypsong2011/91091432.将此文件放置在某个目录下,比如C:\winutils\bin\中。3.在程序的一开始声明:System.setProperty("hadoop.home.dir", "c:\\winutil\\")参考:https://social原创 2016-07-10 21:00:22 · 10801 阅读 · 1 评论