大数据
程序员驴子酱
IT社区Java技术布道者
展开
-
hadoop之shuffle阶段相关面试题解析
--思考1:map()方法写出的数据存储到哪里? --内存中1、在内存中存有一个环形缓冲区,该缓冲区默认大小是100M,map()方法中写出的kv数据会进入到环形缓冲区内,但是map()写出的kv数据是很大的,环形缓冲区不可能存的下,考虑到这一情况,设计者设置环形缓冲区的运行机制设置为:当写入环形缓冲区的数据达到整个缓冲区的80%时,发生溢写操作(落盘),将缓冲区内80%的kv数据溢写到磁盘,保证后续的数据可以陆续写...原创 2020-11-20 14:53:16 · 802 阅读 · 3 评论 -
hive架构原理
Hive架构原理1)用户接口:ClientCLI(command-lineinterface)、JDBC/ODBC(jdbc访问hive)、WEBUI(浏览器访问hive)2)元数据:Metastore元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore3)Hadoop使用HDFS进行存储,使用MapReduce进行计算。4)驱动器:.原创 2020-11-04 14:05:13 · 219 阅读 · 1 评论 -
SpringCloud常用组件(一)
SpringCloudEureka我们使用微服务,微服务的本质还是各种API接口的调用,那么我们怎么产生这些接口、产生了这些接口之后如何进行调用那?如何进行管理哪?答案就是SpringCloudEureka,我们可以将自己定义的API接口注册到SpringCloudEureka上,Eureka负责服务的注册于发现,如果学习过Zookeeper的话,就可以很好的理解,Eureka的角色和Zookeeper的角色差不多,都是服务的注册和发现,构成Eureka体系的包括:服务注册中心、服务提供者、服务消费者原创 2020-10-30 14:52:08 · 171 阅读 · 0 评论 -
关于spring的生命周期见解
第一种理解1.Bean的建立由BeanFactory读取Bean定义文件,并生成各个实例如果是默认的单例模式,那么在加载spring的配置文件的时候,会将bean实例化,放进Spring的IOC容器中。可以利用无参构造函数追踪实例化时机。2.设置属性(属性注入)注入属性值,对应的属性需要有set方法值加载spring配置文件时,会实例化User对象,在调用无参构造方法实例化对象后,紧接着调用了setUserName方法,为userName属性注入值3.BeanNameAware接口的setB原创 2020-10-30 14:50:28 · 121 阅读 · 0 评论 -
java数据在内存中存储详解
有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构。说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但掌握Java的底层实现对Java程序员来说是至关重要的,本文介绍了Java中的数据在内存中的存储。 2 内存中的堆(stack)与栈(heap) Java程序运行时有6个地方可以存储数据,它们分别是寄存器、栈、堆、静态存储、常量存储和非RAM存储,主要是堆与栈的存储。 &nb原创 2020-10-30 14:46:57 · 3303 阅读 · 0 评论 -
Hadoop中NN的多目录设置
--NN的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性,name1和name2可以挂载到不同磁盘(linux支持),这样就可以保证元数据的可靠性,多目录挂载单个磁盘,没有意义,磁盘坏掉,目录也就坏掉了--生产环境中,要提前就考虑好每个NN目录要挂载的磁盘,保证一个磁盘坏掉,其它仍然可进行读写操作具体操作:1、配置hdfs-site.xml文件<property> <name>dfs.namenode.name.dir</name><..原创 2020-10-28 13:56:51 · 344 阅读 · 0 评论 -
解释Hadoop中NN的工作机制?
引入:当我们将数据上传到HDFS分布式系统进行存储时,通过NN存储HDFS系统中数据的元数据,DN存储真实数据 那么,NN中的元数据存储在哪里?假设:a.考虑数据安全性和可靠性,NN中元数据存储在节点的磁盘中。 --问题:访问效率很低( 因为修改元数据是在磁盘进行修改的~IO操作) b.考虑数据操作速率,将NN中元数据存储在内存中。 --问题:服务器宕机,停电等故障,导致元数据丢失(元数据丢失,整个集群无法工作)...原创 2020-10-28 13:50:26 · 245 阅读 · 0 评论 -
集群之间数据同步脚本
编写集群之间的同步脚本(1)需求:循环复制文件到所有节点的相同目录下:(2)期望脚本:基于rsync技术将文件从一个节点同步到其他所有节点xsync 要同步的文件名称(3)脚本实现在/home/atguigu目录下创建bin目录,并在bin目录下创建xsync文件说明:在/home/atguigu/bin这个目录下存放的脚本,atguigu用户可以在系统任何地方直接执行。因为/home/atguigu/bin在系统的PATH环境变量中。[atguigu@hadoop101 ~] pwd/原创 2020-10-27 16:28:35 · 409 阅读 · 0 评论 -
Hadoop3.1.3 完全分布式配置
(1)配置:hadoop-env.shLinux系统中获取JDK的安装路径:[atguigu@ hadoop101 ~]# echo $JAVA_HOME/opt/module/jdk1.8.0_212在hadoop-env.sh文件中修改JAVA_HOME 路径:export JAVA_HOME=/opt/module/jdk1.8.0_212(2)核心配置文件(a)配置core-site.xmlcd $HADOOP_HOME/etc/hadoopvim core-site.xml原创 2020-10-27 16:23:34 · 883 阅读 · 0 评论 -
hadoop3.1.3 local 模式配置
hadoop3.1.3 local 安装模式1)将hadoop安装包上传到/opt/software目录下2)解压安装文件到/opt/module下面tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/3)查看是否解压成功[atguigu@hadoop101 software]$ ls /opt/module/hadoop-3.1.34)将Hadoop添加到环境变量(1)获取Hadoop安装路径[atguigu@hadoop101 hadoop-3.原创 2020-10-27 16:15:06 · 225 阅读 · 0 评论 -
聊聊布隆过滤器
在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);例如在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表(hash table)来存储的。它的好处是快速准确,缺点是费存储空间。当集合比较小时,这个问题不显著,但是当集合巨大原创 2020-10-13 14:19:55 · 97 阅读 · 0 评论 -
Linux创建文件报错:/bin/bash^M: bad interpreter
在使用Linux创建好文件shell文件之后,发生了这样一个错误:/bin/bash^M: bad interpreter查找资料后发现:在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识!解决方法:(1)使用linux命令dos2unix filename,直接把文件转换为unix格式;(2)使用sed命令sed -i “s/\r//” filename 或者 sed -i “s/^M/原创 2020-10-13 14:17:24 · 182 阅读 · 0 评论 -
Hadoop小文件-二
文接上篇。四、MapReduce 的性能问题Having a large number of small files will degrade the performance of MapReduce processing whether it be Hive, Pig, Cascading, Pentaho MapReduce, or Java MapReduce. The first reason is that a large number of small files means a lar原创 2020-10-13 14:13:21 · 130 阅读 · 0 评论 -
Hadoop 中的小文件
一、何为小文件?A small file can be defined as any file that is significantly smaller than the Hadoop block size. The Hadoop block size is usually set to 64,128, or 256 MB, trending toward increasingly larger block sizes. Throughout the rest of this blog when pro原创 2020-08-31 19:20:34 · 358 阅读 · 0 评论 -
Kerberos常见错误及解决方案
1、 Kerberos启动后台日志提示异常:No such file or directory – while initializing database for realm HADOOP.COM在/var/log/krb5kdc.log中发现No such file or directory – while initializing database for realm HADOOP.COM。解决方案:①: 检查kdc.conf和krb5.conf文件是否配置正确,修改配置,注意:配置文件的[kdc原创 2020-08-31 19:18:47 · 15925 阅读 · 1 评论 -
Kafka中unclean.leader.election.enable参数的内涵
Kafka中unclean.leader.election.enable参数的内涵官网说明:http://kafka.apache.org/documentation/#configuration参考上图,某种状态下,follower2副本落后leader副本很多,并且也不在leader副本和follower1副本所在的ISR(In-Sync Replicas)集合之中。follower2副本正在努力的追赶leader副本以求迅速同步,并且能够加入到ISR中。但是很不幸的是,此时ISR中的所有副本都突然原创 2020-08-31 19:16:57 · 1510 阅读 · 0 评论 -
Springcloud之Gateway入门
API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:破坏了服务无状态特点。为了保证对外服务的安全性,我们需要实现对服务访问的权限控制,而开放服务的权限控制机制将会贯穿并污染整个开放服务的业务逻辑,这会带来的最直接问题是,破坏了服务集群中REST API无状态的特点。从具体开发和测试的角度来说,在工作中除了要考虑实际的业务逻辑之外,还需要额外考虑对接口访问的控制处理。原创 2020-08-31 17:39:20 · 183 阅读 · 0 评论 -
Flink1.11.0 flink on yarn 模式部署详解
上月,Flink发布了新版本1.11.0,增加了很多重要新特性,包括增加了对Hadoop3.0.0以及更高版本Hadoop的支持,不再提供“flink-shaded-hadoop-*” jars,而是通过配置YARN_CONF_DIR或者HADOOP_CONF_DIR和HADOOP_CLASSPATH环境变量完成与yarn集群的对接。具体步骤如下:下载Flink1.11.0安装包flink安装包下载地址确保安装有Hadoop集群,版本至少Hadoop 2.4.1配置环境变量增加环境变量如下:原创 2020-08-28 15:10:39 · 4158 阅读 · 0 评论