搜索类别为 ‘ 软件开发 ’ 的文章列表

Hadoop配置及安装部署

hadoop%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%ae%89%e8%a3%85%e9%83%a8%e7%bd%b2

以前博客上的老文,最近又重新在搞hadoop,转过来方便查阅

硬件环境
共有3台机器,均使用的FC5系统,Java使用的是jdk1.6.0。IP配置如下:
dbrg-1:202.197.18.72
dbrg-2:202.197.18.73
dbrg-3:202.197.18.74

这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。

一个很简单的测试办法就是ping一下主机名,比如在dbrg-1上ping dbrg-2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。

以本文为例,dbrg-1中的/etc/hosts文件看起来就应该是这样的:
127.0.0.0         localhost     localhost
202.197.18.72     dbrg-1        dbrg-1
202.197.18.73     dbrg-2        dbrg-2
202.197.18.74     dbrg-3        dbrg-3

dbrg-2中的/etc/hosts文件看起来就应该是这样的:
127.0.0.0         localhost    localhost
202.197.18.72     dbrg-1       dbrg-1
202.197.18.73     dbrg-2       dbrg-2

在上一篇学习笔记中提到过,对于Hadoop来说,在HDFS看来,节点分为Namenode和Datanode,其中Namenode只有一个,Datanode可以是很多;在MapReduce看来,节点又分为Jobtracker和Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。
我是将namenode和jobtracker部署在dbrg-1上,dbrg-2,dbrg-3作为datanode和tasktracker。当然你也可以将namenode,datanode,jobtracker,tasktracker全部部署在一台机器上

点击查看更多 »

301和302 Http状态有啥区别?
301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

301 redirect: 301 代表永久性转移(Permanently Moved),

302 redirect: 302 代表暂时性转移(Temporarily Moved ),

当然 Http 状态 200 标示没有任何问题发生。

 

这两种转移在使用的时候有啥好处或者问题?

301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

302 重定向是临时性转移。

在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

点击查看更多 »

Flex让我郁闷了

前端时间项目中要用到图表,折线图和柱状图,因为不想去用JFreeChart生成图片,一大堆图片管理起来麻烦。就选择在客户端绘图,找了个js的chart开源工具,效果不怎么理想。无意间看到了FusionCharts,可惜他们是收费的。。

不过倒是收到了点启发,打算用Flex自己做一套图表工具,通过参数才传递需要显示的图表数据,中间细节不表,弄了3、4天,终于搞定,结果一看编译好的文件大小,傻了,一个swf文件就有将近300KB,这搞什么啊,我一个页面上两个图表一加载就是600KB,这哪受得了,只好放弃了,等adobe解决了问题再说吧。

哎,东西再好,再漂亮也没用,高速度是最好的用户体验!

推荐一个Eclipse的数据库插件

Quantum DB

http://quantum.sourceforge.net/

eclipse可以直接在这里更新

http://quantum.sourceforge.net/update-site

需要GEF插件

一种常用的权限控制算法的实现

这里介绍一种很常用,也比较专业的权限控制思路。这里用java语言描述,其实都差不多的。要换成其他的语言主,自己转一下就可以了。为了方便起见,我们这里定义a^b为:a的b次方。这里,我们为每一个操作设定一个唯一的整数值,比如:

删除A---0

修改A---1

添加A---2

删除B---3

修改B---4

添加B---5

……

理论上可以有N个操作,这取决于你用于储存用户权限值的数据类型了。

点击查看更多 »

程序员是如何捕猎大象的

CLIPPER程序员不去真的捕猎大象,他们只是购买大象部分的库,然后花几年的时间试图综合他们。

DBASE程序员只在夜间捕猎大象,因为那时没人会注意到他们还在使用石弓。

FOXPRO程序员开始使用更新更好的步枪,这使他们花掉比实际狩猎更多的时间学习新的射击技术。

C程序员拒绝直接购买步枪,宁可带着钢管和一个移动式机器车间到非洲,意欲从零开始造一支完美的步枪。

PARADOX程序员去非洲是带着好莱坞关于捕猎大象的电影剧本,他们认为照剧本行事就会逮到一头大象。

ACCESS程序员在没有任何猎象经验的前提下就出发了,他们穿着华丽的猎装、带着全部装备,用漂亮的望远镜找到了大象,然后发觉忘了带扳机。

点击查看更多 »

用POI输出Excel流到浏览器

作者:东区一匹狼

时间:2006-10-17

最近用户要求添加功能把数据导出成Excel的.xls到用户的PC,由于导出的Excel数据对于服务端没有用处,不需要在服务端保留,如果在服务端硬盘生成文件,然后在让用户下载,这样就需要定时清理服务端数据,自己查了一下POI和WebWork的资料,实现了该功能,直接把POI生成的Excel 流输出到浏览器,让用户下载,关闭窗口就消失,不在服务端留痕迹,写出来大家分享一下。

用过WebWork的人应该知道,在Webwork的Action中,execute()方法最后返回的是一个Result对象,如 return SUCCESS 。在这里我们需要实现WebWork的Result接口,定义自己的一个输出Excel的Result。前提是你需要下载POI包,代码如下:

点击查看更多 »