AlstonWilliams's Blog

Thinking will not overcome fear but action will.

IntelliJ-IDEA中导入ZooKeeper源码,但是无法导航到其他类

在开始阅读ZooKeeper的源码的过程中,发现无法导航到其他的类,甚至就连JDK自带的那些类都不能导航进去.于是Google了一下,结合了一下StackOverflow上的答案,解决了这个问题. 首先,我们在下载ZooKeeper的源码之后,可以看到其有如下几个直接子目录: 其中,源码是存储在src目录下的.我们进一步查看src目录,可以看到其下面包含了java文件夹,其目录结构为...

IO调度器(译)

这篇文章中,将会介绍Linux上常见的IO Scheduler,以及如何修改Linux上面的默认的IO Scheduler。在翻译的过程中,对原文的内容有所删减,有些地方也重写排列了一下顺序。 原文链接: Improving Linux System Performance with I/O Scheduler Tuning 什么是IO调度器? 磁盘的访问速度,一直都是计算机的瓶颈。尽...

Hive中的Managed-Table以及External-Table(译)

译者注: 这篇文章中主要介绍了Hive中的Managed Table和External Table在存储文件上的区别.更多的区别,请自行搜索. 在这篇文章中,我们主要介绍题目中所说的那两种Table的区别,以及怎样创建这两种类型的表和什么时候我们会用到它们. Hive有两种类型的表: Managed Table External Table 下面我们详细介绍这两种...

HikariCP踩坑-Too-many-connections

从昨天开始,我们突然遇到了一个问题,就是连接到数据库时,提示Too many connections.即使知道这个错误是由于同时打开的连接数太多导致的,然而还是有点懵.因为即使我停止了微服务,在通过show status查看MySQL的当前连接数,还是没有变化. 一天中出现了两次这样的错误,由于没有时间来解决,所以我只能暂时通过重启MySQL的做法,来暂时处理一下.但是这样终究不是长远之计...

Hadoop无法看到Partitioner的日志

正常情况下,我们在自定义的Partitioner中输出的日志,会在Mapper的日志中看到。 但是,有一种情况下,看不到。就是我们的Partitioner根本没有被调用的情况下,看不到。 你可能会想,这还用你说? 但是,有的时候,我们明明定义了Partitioner,它却没被调用。 那么这是什么时候呢? 当我们的Reducer只有一个时,Partitioner根本就不会被调用,所以...

Hadoop性能调优

在这篇文章中,我们将会分享一些对Hadoop进行性能调优的方法,技巧。 这篇文章由我在阅读《Optimizing Hadoop for MapReduce》时,做的笔记,整理而成。 强烈建议读者去读一下上面重点标注的那本书。这本书,对如何对Hadoop进行性能调优,做了非常详细的介绍。 进行性能调优的方式 我们可以从下面的几个方面来对Hadoop进行优化: 优化HDFS 调...

Hadoop出现org-apache-hadoop-mapred-YarnChild--Error-running-child---java

出现这个错误的原因,最直观的就是,确实是堆内存不够。 而我出现这个问题的原因是这样的:输入文件是SeqenceFile,但是在Job中并没有设置输入的格式为SequenceFile,就出现了这个错误。

Hadoop使用MultipleOutputs时,没有数据

在这么一个场景中,我们用到了MultipleOutputs。 我们在进行统计之后,想要将其按照Key输出到不同的目录。 在使用MultipleOutputs来做这件事的时候,就发现,目录能够被正确创建,但是对应的文件却老是没有内容。 读了一遍MultipleOutputs的源码,发现应该没有问题啊。 最后,请教我们组的Leader,才知道问题原来是出在了没有调用两个方法。 在我们用...

Hadoop中,Mapper和Reducer究竟背着我们做了什么?

在这篇文章中,我们会探究,Mapper和Reducer的一些不为人知的秘密。 为什么说不为人知呢?毕竟Hadoop是开源的,你可以阅读源码获取一切你想要的信息。你要是这样做,我无法反驳,因为这确实是最权威的方式。 在阅读《Hadoop: The Definitive Guide 4th Edition》时,我们都见过这么一副图片,它简单的解释了Mapper和Reducer究竟是如何沟通的...

Hadoop-ResourceManager启动报local-dirs-are-bad

有的时候,我们通过bin/yarn nodemanager启动一个NodeManager时,我们在ResourceManager的输出中,能看到这么一个错误:local-dirs are bad… 那么这个错误是由于什么导致的呢? 最常见的原因,就是NodeManager所在的机器上,可用的磁盘空间超过了max-disk-utilization-per-disk-percentage这个...