摘要: 昨天在群里看到有朋友说起zookeeper的安装问题,在此分享下本人工作中安装zookeeper(下面简称zk)的经验,后面将会介绍一些生产环境中对zk的常见使用方法。1.安装包: 带stable标签的zk tar包,请自行google,解压。2.安装注意点: zk的安装就三个注意的地方: 1)。conf下log4j.properties:log4j中路径和策略的指定,生产环境中,所有的日志写入日志存储盘中,所以需要修改此配置文件(ps:修改了也不会生效,还要修改启动脚本,见3); 2)。conf下zoo.cfg:将zoo.cfg.example重命令为zoo.cfg;文件中的配置... 阅读全文
posted @ 2013-02-22 13:31 成金之路 阅读(1581) 评论(2) 推荐(1) 编辑
摘要: 工作中负责开发过数据传输通用模块,跟随者c++大牛们快速成长,本文分享一些心得。1.基本的概念 建立tcp连接三次握手、断开tcp连接四次握手,这两个概念请自己google2.错误排查工具: 1).netstat -anp |grep your's port: 此命令用于查看linux下你的端口的状态,通过它可以观察到连接是否建立、是否正常(状态是established、收发栈为空或者持续变化)、是否关闭服务器的防火墙(经常会遇到机器的防火墙没有stop,然后请求连接状态处于sys send的状态)。 2).查看端口数据流通情况的神器tcpdump 基本用法请自行goog... 阅读全文
posted @ 2013-02-21 21:58 成金之路 阅读(1243) 评论(1) 推荐(3) 编辑
摘要: 本文基于"流"式思想解决Job调度的问题:1.关于Job调度的基本要点: 什么时候启动Job、执行中的Job监控、某个Job可能需要几步完成、Job信息的存储介质、控制同一时间运行的Job个数2.方案: 1).存储介质: 以javaBean的形式存储在zookeeper上 2).调度的思想: a).三棵树——prepare、working、failed,其结构分别为prepare/粒度/javaBean;working树结构为:working/粒度/步骤数/javaBean;failed为failed/javaBean; b).启动和监控逻辑:为每个粒度的Job启动一... 阅读全文
posted @ 2013-02-21 12:49 成金之路 阅读(750) 评论(2) 推荐(2) 编辑
摘要: 话说任何语言的学习,环境搭建是一个蛋疼的问题,网上google的n多文章,试了一边一边又一边,终于在某个下午搭建好列环境,基于linux系统环境搭建总结如下: 1.主要的参考文章: http://sunng.info/blog/2011/09/beginning-emacs-for-clojure/ 阅读全文
posted @ 2013-02-19 18:29 成金之路 阅读(689) 评论(0) 推荐(1) 编辑
摘要: 本文主要来源于google资料的自我总结,对常用的pig语法即“算法”进行了总结基础概念: relation bag tuple field data 关系(relation) = 包(bag) 一个包是一个元组(tuple)的集合,在pig中用{}扩起来表示一个包 一个元组(tuple)是若干个字段的有序集合(order set),在pig的数据结构中,用()扩起来标识一个元组 一个字段(field)是列数据(data)的标识; 和数据库的对应关系: pig database relation/bag table tuple one record f... 阅读全文
posted @ 2013-02-19 17:31 成金之路 阅读(7273) 评论(0) 推荐(0) 编辑
摘要: 任何一种语言的学习掌握都离不开结构和算法的思想,本文将从结构方面剖析Pig常用操作后的结构,总结了其中的一些容易犯错的地方。 详细语法介绍请参考http://pig.apache.org/docs/r0.8.1/piglatin_ref2.html#Casting+Relations+to+Scalars;个人的总结请参考下一篇pig常用语法总结,教你快速入门——算法篇结构: LOAD 后的数据结构为: A: {col1: int,col2: int,col3: int,col4: double,col5: double} GROUP BY 后的数据结构为: B: {gr... 阅读全文
posted @ 2013-02-19 17:17 成金之路 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 由于工作中用到了hadoop,一直想对其源码一探究竟,苦于时间有限,所以此系列希望督促自己完成hdfs的源码解读,这里先把前期对于datanode的源码详细解读放上来。 学习源码是一个磨砺人的心智的过程,所以需要好好利用已有的资料(ps:百度文库里hdfs源码解析),先从宏观上明白一组类的作用,然后再看源码围观分析;可能会非常耗时,但是明白了设计思想,对自身也是一种提高,兵贵神速,读源码贵在坚持! 用途: 主要用来进行版本管理,包括升级、回滚设计思路: Version的信息是一个对象StorageInfo(版本、ID、cTime) 对目录进行管理的对象StorageDirectory... 阅读全文
posted @ 2013-02-18 23:51 成金之路 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 本文里,通过对shell脚本里的变量申明、循环语句、条件判断、数据叠加的总结,能解决linux日常管理的大部分脚本1、变量的申明:是弱类型的语言,用name=xxx;取变量值的时候$name2、条件判断: if[ condition]; then operator; elif[ condition]; then operator; else operator; fi3、循环: while[ condition]#condition如果是用[]取代test,则有两个[] do operator; done; for((i=1;i<100;i++)) ... 阅读全文
posted @ 2013-02-08 00:09 成金之路 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 在这里分享下对AbstractQueuedSynchronizer原理和源码的学习资料,对于核心思想这里介绍的比较简单,建议大家还是网上搜下aqs的论文,先看论文,然后再看java concurrents包里的源码,会理解的更加透彻。一、核心思想: 1、 同步状态的原子操作 2、 线程的阻塞和唤醒 3、 维护一个队列,出入队列都是原子操作二、基本操作: 1、 入队列: a)添加到chl队列,并且设置其前任节点的singal状态,并阻塞 2、 出队列: a)队列的head node 才能获得执行权限三、非公平的获得锁的设计思路:nonfirelockif(!tryAcqui... 阅读全文
posted @ 2013-02-07 23:50 成金之路 阅读(547) 评论(0) 推荐(1) 编辑
摘要: 1.graph错误 玩hadoop和KVM的肯定遇到过这个问题:不知怎么搞的,从virt-manager中点开虚拟机竟然看不到虚拟机的图形化界面!多么蛋疼的问题! google上也没有结果,但是仔细看资料会发现可以通过vncviewer 127.0.0.1 x(x是虚拟机的vnc端口号)查看到图形化界面,但是为什么在virt-manager中看不到;为了使hadoop job正常运行宿主机修改了/etc/hosts,删除了127.0.0.1,有没有,有没有? 2.虚拟机上网的问题: 桥接做好后虚拟机死活上不了网:1).子网掩码最好不要用prefix=xx,因为不好转换;2).开... 阅读全文
posted @ 2013-02-07 21:55 成金之路 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 如题,本文就《数据结构与算法》书中的7种基本算法做了一个java工程,此处结合工程启发大家其实很多东西做起来并不难,关键在于思想;工程利用coding中常用的继承思想使coder只需关注最重要的算法编码,而不用为每个算法的test一遍遍的复制粘贴: 1.工具类: package util; impo 阅读全文
posted @ 2013-02-07 16:01 成金之路 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 马上就要过年了,同事该撤的都撤了,我的心也开始飞了,趁此机会将以前做的数据缓存总结下,包含三个部分:模块简介、概要设计、详细设计、核心思想和代码。1.模块简介: 模块名称为数据总线,功能主要是封装数据传送层,使得数据生产者、消费者不再关心数据的传输,让其只需关心逻辑的处理。2.概要设计: 数据的生产者通过调用write()接口将要发送的数据交给数据总线,数据的消费者实现read()接口,当数据总线接收到消费者需求的数据时,回调消费者的read()方法处理数据,见末尾图:3.详细设计: 生产者设计图见末尾图;数据按组存储到DataFlow中,然后在缓存至DistributeData中,... 阅读全文
posted @ 2013-02-07 13:16 成金之路 阅读(7812) 评论(0) 推荐(4) 编辑
摘要: avator hadoop的安装是一个磨砺人心智的过程,仅在此记录曾经的辛酸:1、基本配置:hosts、防火墙、免密钥;2、浮动IP配置: 安装ucarp-1.5.2-1.el6.rf.x86_64.rpm包; 将ucarp.sh, vip-down.sh和vip-up.sh拷贝到主备两台机器的/etc目录下,增加执行权限: ucarp.sh#!/bin/shucarp --interface=eth0 --srcip=192.168.1.1 --vhid=24 --pass=mypassword \--192.168.1.204 \--upscript=/etc/vip-up.... 阅读全文
posted @ 2013-02-05 22:16 成金之路 阅读(922) 评论(0) 推荐(0) 编辑