程序员的自我修养

CDH安装中的一些问题及解决方法

2条评论8,776次浏览

Yarn服务无法启动1

有一次同事拿着我写的安装手册去安装CDH,结果在启动Yarn服务这一步一直失败,而且没有log文件生成,也就是根本就不知道是什么错误。

经过百般尝试后依然无果。于是问同事是不是严格按照我的文档上来的,同事说是。结果又尝试和排查了很多次后,同事突然说,我想起来了,打通ssh没按照你的来,你是生成key了分发到其它机器,其实有种口令直接就能分发key到其它机器,不用在本机生成。比如这样ssh-copy-id -p 8282 -i ~/.ssh/id_rsa.pub user@ip

然后,我怀着崩溃的心情告诉了他,哥哥,master机器也要能免密码登录自己啊!!

最后,做好master机器免登录自己后即可成功安装。

Yarn服务无法启动2

报错信息:

这个错误是CM的一个bug,解决方法为修改/opt/cm-5.3.0/lib64/cmf/agent/src/cmf/util.py文件。将其中的代码:

修改为:

然后重启所有Agent即可。

HDFS服务无法启动

若HDFS服务无法启动,通常是第二次尝试安装中才会遇到,这是只要将上次安装时设置的Namenode和DataNode文件夹下的数据全部删除即可。

Host Monitor和Service Monitor服务无法启动

这个错误的报错信息如下:
(更多…)

分类:CDH
标签:

Sqoop2初步使用感受

8条评论8,411次浏览

最近将公司各个运营点的集群逐步转移入CDH。第一个遇到的问题就是Sqoop2的使用问题。

具体说来,分为下面几个方面。

Date类型字段的parse错误

测试sqoop2的时候就简单的测了下varchar和number类型的数据,发现没问题后就写了报告。现在我知道错了。

实际使用过程中,发现遇到表中有Date类型的column时,所有的job都会报以下错误:

2015-01-28 16:22:29,964 INFO [IPC Server handler 0 on 55187] org.apache.hadoop.mapred.TaskAttemptListenerImpl: JVM with ID : jvm_1422410148386_0003_m_000002 asked for a task
2015-01-28 16:22:29,966 INFO [IPC Server handler 0 on 55187] org.apache.hadoop.mapred.TaskAttemptListenerImpl: JVM with ID: jvm_1422410148386_0003_m_000002 given task: attempt_1422410148386_0003_m_000000_0
2015-01-28 16:22:35,516 FATAL [IPC Server handler 2 on 55187] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1422410148386_0003_m_000000_0 - exited : org.joda.time.LocalDateTime.parse(Ljava/lang/String;)Lorg/joda/time/LocalDateTime;
2015-01-28 16:22:35,517 INFO [IPC Server handler 2 on 55187] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1422410148386_0003_m_000000_0: Error: org.joda.time.LocalDateTime.parse(Ljava/lang/String;)Lorg/joda/time/LocalDateTime;
2015-01-28 16:22:35,524 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1422410148386_0003_m_000000_0: Error: org.joda.time.LocalDateTime.parse(Ljava/lang/String;)Lorg/joda/time/LocalDateTime;
2015-01-28 16:22:35,542 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: attempt_1422410148386_0003_m_000000_0 TaskAttempt Transitioned from RUNNING to FAIL_CONTAINER_CLEANUP

(更多…)

分类:Apache Sqoop2
标签:,

战5渣系列——还是String的split方法

3条评论5,614次浏览

发现最近弱爆了,说多了都是泪,不想说了,因为我是战5渣。

背景简介

今天写MR程序发现一直报数组越界的错误。这么简单的异常还不是分分钟解决?结果,恩,改了10次以后,发现还是不对。具体出错的代码已经可以确定,如下:

原因排查

显然单纯的看代码是没有问题的,结合具体的数据才可能出错,比如分隔后的数组长度不到4——这是我的第一反应。更准确的说,是我编码的时候就想到了,所以采用了value.toString().split("\t",4)这个方法。根据我的第一篇博文中记录的经验,String的split方法会将数组后面为空的字符串截取掉,需要采用split(String regex, int limit)方法才能正确的获取到想要的长度。

所以若是经验正确无误,那怎么也不会报数组越界的错误吧,顶多会在parseLong的地方报无法转换的错。但事实就是一直报数据越界的错误,改了10次其它地方都无果。
(更多…)

分类:Java语言, 战5渣
标签:,

CDH离线安装手册

7条评论11,683次浏览

公司终于有升级Hadoop版本的意思了,于是强烈推荐CDH版本,终于在再三的推荐下初步确定使用CDH版本了。于是CDH的测试集群搭建开始了。撒花...

  • CDH版本:5.3.0
  • 操作系统版本:CentOS 6.3
  • JDK版本:jdk-7u71-linux-x64
  • 资源下载:

系统环境搭建

  • 打通SSH
  • 配置Hosts
  • 关闭IPv6
  • 关闭SELINUX
  • 关闭防火墙
  • 打开句柄限制
  • 安装JDK
  • NTP

以上步骤参考Hadoop集群搭建全过程。其中JDK安装可能需要卸载操作系统自带的OpenJDK,命令:

(更多…)

分类:CDH
标签:,

战5渣系列——奇怪的Pig特性

8条评论12,317次浏览

最近连续2次发烧+工作比较忙导致好久没更新。今天更一发战5渣。

先感受下战5渣的境界:
only5

背景简介

用存储过程分分钟能搞定的事情,老总非要用hadoop跑,曰:hadoop是我们的核心竞争力。用hadoop的话算上导数据的时间,估计用时怎么也要6个小时左右。但这不是重点。重点是用pig计算出来的结果和存储过程跑出来的不一致,于是苦逼的排错之旅开始了。

第一个bug

第一个bug叫做“人祸”。队友发来的数据库表的文档居然漏掉了一个字段,于是这个字段后面的列全部对应错了。而我用pig又喜欢用X = FOREACH B1 GENERATE $4,$5,$16,$21,$45,$77,$81,$92,$47;这样的风格,并且加上如下注释:

好了不开玩笑了。虽然这个问题很没有技术含量,但教会了我这么一个真理:永远不要相信其它人,若确实需要相信其它人请选择性的相信那些靠谱的人!

第二个bug

第一个bug完全体现不出我是战5渣这么一个事实,那么第二个bug就能很好的诠释什么叫战5渣。

(更多…)

分类:Apache Pig, 战5渣
标签:,

LeetCode编程练习(2)

7条评论9,944次浏览

Max Points on a Line

题目

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.

答案

思路:时间复杂度O(n^3)的情况下是肯定可以算出结果的,那么意味着通过空间换时间应该是可以让时间复杂度达到O(n^2),这是我自己发明的定律。首先定义静态内部类Line,用于表示两点计算出来的直线,考虑到Double类型的精度损失问题,Line采用三个属性来保证精度上的完整性。然后重写hashCode()equals(..)方法,使得同一条直线相等,且在Hash值上相等。如此通过2个 \(n(n-1)\over 2\) 次循环即可获取到结果,时间复杂度为O(n^2)。
(更多…)

分类:Java语言
标签:,

LeetCode编程练习(1)

1条评论10,714次浏览

看到Leetcode 编程训练这篇文章,于是也开始尝试扫题。上面的题目基本是毫无实际用处的,但是训练下编程还是可以的。做题过程中感受到了一些平常没有的感觉(不要问我是不是查克拉流动的感觉,我还没具体的感受到),反正感觉应该对自己挺有用的。不过,也出现了很多让人想吐槽的bug(或者是我太弱了,还无法理解原因)。

Min Stack

题目

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • getMin() -- Retrieve the minimum element in the stack.

答案V1

采用一个TreeMap来保证随时可以获取到最小值(好处是最大值也能获取到,虽然题目中没有这个要求),提交答案后得到结果:Memory Limit Exceeded
(更多…)

分类:Java语言
标签:,

一些有用的CSS3属性

2条评论2,087次浏览

最近点错了技能点,点到css3上去了。然后终于算是比较系统化的完成了一套样式的设计。没错就是现在博客用到的样式,除了惯性式的背景流动效果外,其它的绝大部分都是我自己通过撞大运式编程弄出来的。

这套样式翻来覆去的就用到了几种css3属性,感觉十分有用,在此记录下来。

transition

transition,动画效果(反正我是这么理解的)属性。例如博客现在样式中的:

  • 超链接的颜色,蓝色变成金黄色
  • 按钮的颜色
  • 文章的边框阴影
  • sidebar中的效果,向右移动,背景变化

使用方法

超链接颜色变化+字体大小变化

(更多…)

分类:前端
标签:

Hadoop集群搭建全过程

3条评论3,151次浏览

最近需要紧急搭建Hadoop集群,以前搭建都没留下文档和记录,导致这次忙的晕头转向。现在终于搞定了,决定将全部过程记录下来,方便下次使用。

软件环境

  • 操作系统:Centos 6.4
  • JDK:1.6.0_27
  • Hadoop:1.0.4
  • HBase:0.94.17
  • Zookeeper:3.4.5

前置步骤

范围:Hadoop集群所有机器

操作身份:root用户

创建Hadoop用户

关闭SELINUX

修改:

阅读全文>>

标签:,

新的主页

4条评论2,632次浏览

这几天新弄了一个主页,http://selfup.cn,博客的地址变成http://blog.selfup.cn/

新的主页的样式显然不是靠我那不入流的css、js技术弄出来的,再说就算css和js技术入流了,这审美和设计能力也没办法提高。新的主页样式扒的https://divshot.com/这个网站,基本是原封不动的扒下来了。还有不少图片都还没改,logo也没改,以后慢慢用我那不入流的PS技术来改吧。

博客地址变动应该会对搜索引擎的爬虫有影响,不过这些细节就不必在意了,反正没指望搜索引擎给我带来流量,像X度这样的良心企业,不交钱就算收录了也基本是不会出现在前几十页的。记得以前买了个神马域名后,第二天X度就打电话问我要不要付费推广。对SEO一直没关注,除了装了个不太会鼓捣的sitemap。对于有没有人看博客,其实我的态度是即便没有读者,你也要写博客。写博客的初衷,就是记录下自己的思考过程和理解,以便在忘记之后能通过重读自己写的博客而迅速将其捡起来,毕竟是原装的么。

博客地址变动的经验教训

本着简单粗暴的原则,放弃了修改wordpress来添加新的主页,直接将链接变掉,原来的链接指向新的主页。这样新的主页也不用调用wordpress的各种函数来显示数据了,直接调用mysql读取数据库好了。

(更多…)

分类:杂七杂八
标签:
profile
  • 文章总数:79篇
  • 评论总数:254条
  • 分类总数:31个
  • 标签总数:44个
  • 运行时间:1192天

大家好,欢迎来到selfup.cn。

这不是一个只谈技术的博客,这里记录我成长的点点滴滴,coding、riding and everthing!

最新评论
  • Anonymous: :arrow: :neutral: :cry:
  • Anonymous: java.io.NotSerializableExcepti on: DStream checkpointing has been enabled but the DStreams with their...
  • wick: HI,请问一下,U,S,V得到后,怎么得到近似矩阵呢(用sp ark java),谢谢。
  • Michael Whitaker: Thank you for this blog, it was very helpful in troubleshooting my own issues. It seems that no...
  • Anonymous: :mad:
  • Anonymous: :???:
  • Anonymous: :mad: :mad: :mad:
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • Anonymous: :razz: :evil: :grin:
  • 张瑞昌: 有很多,比较常见的是Jacob迭代法,一次迭代O(n^3), 迭代次数不清楚。 如果是手动算的话按照定义求就可以了
  • Anonymous: :mrgreen:
  • lc277: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗 麻烦告诉下谢谢 qq1844554123
  • Anonymous: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗
  • Anonymous: :smile: :grin: :eek:
  • 李雪璇: 想要完整代码,可以帮忙发给我吗
  • Anonymous: 请问一下,那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?怎么设置输出的分数的最 大值?
  • Anonymous: 那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?
  • Anonymous: stopGracefullyOnShutdown在yarn- client模式下我测试的无效,你的呢
  • Anonymous: 另外,import的lib包能否发个列表.