BEOOP

不靠谱是一种态度

2010 年 03 月 15 日
by beoop
0 comments

SNS网站中的产品差异化与文化壁垒

sns网站中的产品差异化与文化壁垒

产品差异化
目前国内sns网站同质化比较严重,而且部分用户重叠,同一个用户可能使用多个sns网站,《2009中国网民社交网络应用研究报告》中称“绝大多数用户对于社交网站的使用均存在复用,根据CNNIC的测算,用户平均每人拥有帐户2.78个”。所以要想在这个环境中突围,需要做好差异化,通过差异化需求来细分用户,专注垂直方向的发展才能与主流的sns网站抗衡。产品差异化是必行只路,然而在做差异化的同时,我们可能走入了建立文化壁垒的误区。

什么是网站文化壁垒?
互联网中每个网站都有自己用户群,网站的风格和内容,用户之间的语言、行为、习惯以及交流方式等形成了带有固定特征的文化氛围。当这钟氛围有别于主流网站时,就是一种文化壁垒,我称其为内部文化壁垒。文化壁垒本身也是差异化的一种体现。

文化壁垒的优劣势
当你拥有了庞大的用户群体的时候,这种文化壁垒是一种保护,他可以有效的将用户群与其他网站隔离开来,降低用户的流失率,甚至可以定义文化标准,最明显的例子就是Microsoft,我们都清楚windows操作系统随着他的用户群体的扩大,不断的建立起各种壁垒以形成垄断地位,这使得linux在向桌面系统市场进军的时候在使用习惯和方式上必须向windows靠拢。然而当用户群不大的时候,因为这种文化壁垒的存在,会使得新用户尤其使用过其他网站服务的用户而言,很难融合进来。比如使用“校内”的用户到了“赛我网”上,可能没法理解“小窝”、“minime”,然而这却是“赛我网”区别于校内和其他sns的地方。这会导致什么?一个其他网站的用户来到“赛我网”后,他需要先去弄明白什么是“小窝”,什么叫minime?试问有多少用户愿意去了解,愿意去学习?

如何去做产品的差异化?
前面提到,在目前的互联网环境中,我们想要生存就需要做好差异化,去满足细分用户需求,扩充用户群体,然而这种差异化在某种程度上又是在建立一种文化壁垒拒用户于千里之外,我们如何去处理二者关系?

一、尽可能少的制造新名词和新概念。
当我们创建新名词和新概念,我其实就是对用户建立了文化壁垒,我们希望从我们的运营和引导能将用户融入我们所创造的文化中,然而在用户面临多样化选择的情况下,实现难度可以想象。奥卡姆剃刀原理(“如无必要,勿增实体”)很容易理解这一点。

二、差异化先革新,再创新。
革新是在保持现有事物的本质不变的情况下,给它注入新的活力或者赋予它新的生命。差异化的过程中,创新是发散思维,会让我们变的冲动、激进。革新才会让我们冷静下来思考整个产品趋势。目前的sns市场群雄割据,与其绞尽脑汁期待灵感突现以获成功,不如冷静审视竞争对手产品,反思自己产品结构,找准突破点,走出属于自己的道路。

三、需求和功能的差异化
在用户需求上去做差异化处理可以有效的规避其他网站所建立的文化壁垒,通过差异的用户需求,增强产品的核心竞争力。

- – - – - – -the end – - – - – - – -

2010 年 03 月 15 日
by beoop
0 comments

通过usbview找到摄像头驱动

05年买的一个台湾代产的USB摄像头,几年没用,驱动盘也找不到了。下了不少驱动程序也没有找到合适的。
后来下载了USBVIEW,通过USBVIEW可以查看到usb接口上的idVendor和idProduct,idVendor为芯片的生产商,idProduct为产品id,直接在google中查询idVendor和idProduct,就可以找到对应的驱动程序了。

我的USBVIEW信息:

Device Descriptor:
bcdUSB: 0×0110
bDeviceClass: 0×00
bDeviceSubClass: 0×00
bDeviceProtocol: 0×00
bMaxPacketSize0: 0×40 (64)
idVendor: 0x0C45
idProduct: 0x60C0
bcdDevice: 0×0101
iManufacturer: 0×00
iProduct: 0×01
iSerialNumber: 0×00
bNumConfigurations: 0×01

在google中搜索idVendor:0x0C45 idProduct: 0x60C0 就找到了我需要的驱动。有找不到驱动的朋友可以一试。

2010 年 02 月 28 日
by beoop
1 Comment

2010天津印象

2010年春节,早上8点北京南出发,到天津用27分钟。当我还在寻找通州和燕郊的时候。和谐号350km的速度已经把我带到了天津。不过还好,路边只有干涸的土地和成批的防护林,也没有错过什么。

8点40,天津,天冷,人少。从天津站出来一直沿着海河走,可惜天气太冷,快门被冻住了。所以解放桥、世纪钟、北安桥的照片都没有。后来到百盛里面逛了会,费了半天功夫才把快门弄好。

天津比想想中好不少,不过人比想象的少,到了南市食品街和钟楼才感觉到人气。

天津站站前

天津站站前


天津站站前

10点左右走到了南市食品街,天津的小吃这儿很全。

南市食品街

南市食品街

鼓楼大街

鼓楼大街

鼓楼大街


鼓楼

鼓楼


鼓楼 教堂

鼓楼 教堂


鼓楼

鼓楼

古文化街,很热闹,好多的老字号

古文化街

古文化街


古文化街

古文化街


天津张姓的很厉害啊,老子号里面占了不少。
古文化街

古文化街


古文化街 石头张

古文化街 石头张


古文化街

古文化街

西开教堂,目前还在使用当中,金街逛累了,可以到这儿稍作休息,繁华闹市中的清净之源。远离尘世喧嚣,可以让思绪更清晰和真实。

西开教堂

西开教堂


西开教堂

西开教堂


西开教堂

西开教堂


西开教堂

西开教堂

津乐汇

津乐汇

津乐汇


津乐汇

津乐汇

冷清的五大道,着实比想想的差了太远,想想中是闹市,自己OUT了。不过还是很亲切,重庆道、成都道,仿佛回家了。

五大道

五大道


冷清的五大道


冷清的五大道


冷清的五大道


五大道

五大道

2010 年 02 月 17 日
by beoop
0 comments

解读2009年中国网民社交网络应用研究报告

“2009年中国网民社交网络应用研究报告”出炉,原文下载点击此处

2009年中国网民社交网络应用研究报告(以下简称报告)通过深入研究社交网站兴起的现象,揭示了中国社交网站发展状况及存在的主要问题,为SNS网站从业者提供了极大的参考意义。

报告中称“社交网站中的主体用户是学生和白领,病毒式营销、口碑相传的推广方式推动了中国社交网站用户的爆发式增长”。同时总结出“如何更有效的挖掘网站细分用户的差异化需求,开发新的、更契合用户需求的服务和产品,留住新老用户,营造有效的盈利模式,将成为众多社交网站们能否生存下来的关键”。

通过报告中的数据能给目前的SNS网站一些启示。
一、口碑传播的重要性

“有近八成用户获知正在使用的社交网站是来自朋友、同学、同事的推荐”。
“网站平台上同学/同事/熟人的多少,成为用户在选择某一社交网站时首要考虑的因素,选择此项的用户占到63.5%”

充分说明了口碑传播的重要性,对于正在挣扎着渴求成功的sns网站来说,救民稻草就是找到能满足用户需求的,能获得用户认可并愿意去传播的功能或者应用。只有这样,才能形成爆发点,才能低成本的情况下制造流行。开心的传播充分显示了这股力量的威力。

二、基础功能仍然需要强化和创新
目前的SNS已经不在是一个概念,而是一个标配的基础服务和功能。从门户网站到企业和个人,相册、博客等SNS元素特征产品已经成为必备。由于产品的同质化严重,所以更多的人开始了“差异化”和“垂直应用”。校内(人人)应该是标准的SNS网站,在几年前已经形成了绝对优势,然而开心的“娱乐垂直”战略却巧妙的避开校内获得了异常的成功。正是这种成功使得更多的企业愿意把精力放在“差异化”中,以期望想开心一样一举成名。我也同样一直有如此的期待,希望赛我能瞄准一个方向或找到一个强有力、充满吸引的产品,形成口碑传播,形成引爆点。

然而从报告中有提到3个数据

“社交网站中,用户对好友更新相册和好友发表新话题的关注列在第一和第二位,占到54.2%和47.6%”。
“给好友留言成为社交网站用户常使用的功能,占到51.2%。图片/相册功能的应用成为最常使用的功能之一,利用率达到48.6%。同时,社交网站中好友的关注和互动促进了网站中博客/日志功能的使用,有41.5%的用户经常使用此项功能”。
“好友在网站上聊天,查看好友近况,访问好友的个人页面,选择比例分别占到51.6%、49.4%、47.4%”。

然而从这组数据我们可以看到,好友信息分享、相册、日志等这些基础功能仍然是用户的核心需求点。我们在这些基础功能上面还有许多事情可以做。尤其是在对手忽视的时候,机会就在眼前或者更容易出现机会。不是放弃产品差异化,而是在差异化的同时,通过强化基础功能,与竞争对手拉开差距,在基础功能上创新,提供别的网站所不能提供的功能,做好细节,或许就是突破口。可以参考qq邮箱战略的思路来分析。

三、手机业务的重要性

“在手机上使用社交网站在用户期望的增值服务类型中占到40.9%”
“有45.6%和47.8%的初高中学历用户倾向于可以在手机上使用社交网站”

移动互联网趋势明显,也是各大网站必争之地,据CNNIC最新发布的《第25次中国互联网络发展状况统计报告》显示,截至2009年底,我国手机网民规模一年内增加了1.2亿,已达到2.33亿人,占整体网民的60.8%,手机上网已成为刺激我国互联网用户增长的新增长点。对于SNS网站而言,手机上的盈利模式还需要与整体业务的进一步结合,而并非直接复制,需要通过寻找适合手机的功能点与有线网络结合,实现与有线网络的互补。

四、打发时间的需求

“在用户使用社交网站的目的中,选择“打发时间”的用户占到42.4%”

从上面的数据看到,“打发时间”本身就是个很重要的需求,也是休闲和娱乐的用户基础。Webgame和app的红火,正是得益于应证了这个需求。而在产品这个需求的背后还隐藏着一个诉求,就是不要让我费脑子,不要让我太多思考,大多数人喜欢的轻松而富有乐趣的“打发时间”。所以产品设计是要同时照顾到低端玩家和高端玩家,产品本身要具有阶段和差异。从“植物大战僵尸”的成功我们能看到,“傻瓜化”会带来意想不到的收获。所以产品的易用性和乐趣性上还需要强化。

五、盈利模式需要进一步挖掘

“社交网站用户对各类广告的认可比例均不超过30%”
“在社交网站中,从来没有点击过广告的用户占到30.1%”
“经常点击广告占总体用户的1.4%”

SNS网站广告仍然处在困境,目前在游戏互动中的植入品牌广告会有些许提升,然而任然不能缓解SNS网站盈利的困难。除广告之外,SNS网站需要更多考虑中增值服务、虚拟物品以及与电子商务的结合。充分利用强大的用户群体以及用户之间的关系。

六、音乐的重要性。
用户经常使用的功能调查中,在线音乐27%,网页游戏25.9。我们可以看出对于sns网站而言音乐的重要性,而网页游戏也并非是想象般的强势。

七、互动和交流形式的引导和创新
“在导致用户放弃的原因中,没有较为直接的感兴趣的内容,缺乏互动和交流是最主要的因素”

网站如何引导用户有效交流和互动,需要花费更多的心思,尤其是在正对新用户和老用户的差异上。而目前普遍的互联网的互动形式太多单一、无趣,交流形式上也无创新。这方面还需要多下功夫才行。

SNS的真正战争才刚刚开始,并非圈住用户就是成功,鹿死谁手还并非定数。我们需要理清头绪,占领属于自己的高地。其实可能幸福已经在敲门。

2010 年 01 月 18 日
by beoop
0 comments

福克斯提车流程验车必读资料

买福克斯验车必读(检查完一项打个勾,很方便)

可能存在Focus之瑕疵:
外:
□后灯一边高一边低
□左后门的门把的黑色框框一开门就会掉下来
□后车门开门把手松弛问题
□外表一堆贴纸的的残留
□大灯角落会有一些雾气(大灯雾气)
□前灯罩内有无刮伤
□间隙问题(车身饰条、引擎盖、灯组等)
□车身刮痕
□开关车门异音(常见於后车门)
□所有灯光功能
□引擎的震动小,高频音是皮带的声音
□所有车门可以用钥匙开启正常
□防夹功能力道过大

内:
□冷气有异音(副驾驶座下前方)
□中央扶手感觉组装得松松的 (1.8AT/2.0AT)
□间隙问题(侧门内装、中控台内装等)
□饮料杯架组装不良
□倒车雷达做动 (2.0AT)
□前坐椅子滑轨护套
□天窗做动有无特殊异音
□音响喇叭有无异音,音场转换是否正常

其他:
□行车电脑故障(D档、R档无动作) (1.8AT/2.0AT)
□换档延迟2~3秒

可能存在福克斯生锈部位

1.方向机柱-位於煞车踏板上方
2.前座椅正下方
3.座椅椅背调整的齿轮-位在椅背和椅垫交接处
3.传动轴-必须撑起底盘,沿著轮胎中心的转轴
4.方向机舵杆-位在传动轴旁边
5.后座安全带扣座
6.后行李箱备胎盖
7.后轮左右减震弹簧后面的半月牙型部件

一般检查:
各类证件确认:
★证件查核,注意引擎号码、身份证号、车身号码核对
□出厂证明书
□牌照登记书
□行车执照
□保险卡及保险单
□燃料税及牌照税单
□发票
□汽车防盗/隔热纸等配件之原厂保证书
□各说明书、保证书
□机油卡
□货物税单
□其它原厂出厂证件

车身外观检查确认:
□检查车身各部位颜色是否有异常
□检查漆面是否刮伤
□检查钣金是否异常凹凸
□其它
订车签约所约定的附件及配备
□配胎之安全检查,胎压应较高
□千斤顶
□加大后视镜
□隔热纸附保证书
□脚踏垫
□晴雨窗
□第三副晶片遥控锁匙 (2.0AT)
□Focus二代迎宾踏板 (2.0AT)
□大锁
□救车线
□打气机
□美容
□交车加满油
□其它

各部*作动作确认
车外:
□引擎盖
□后行李箱
□备胎是否稳固
□油箱盖

车门车窗:
□前后左右门与其胶条
□电动窗双开启
□天窗开启上掀 (2.0AT)
□防夹功能是否正常(检查时注意安全!)

驾驶座配备:
□中控锁
□车内后视镜方向调整
□车外后视镜方向调整
□喇叭声音
□雨刷各段测试, 喷水
□除雾线
□方向盘调整
□前后左右空调出风口 (2.0AT注意后排出风口)
□前座遮阳板
□仪表版灯号
□手煞车拉杆(拉好后,排入D档看车有无移动)

座椅:
□座椅方向调整
□后座座椅翻转
□安全带调整与扣环
□头枕
□后座椅扶手

音响:
□CD播放换片功能
□FM/AM广播
□6组喇叭声音确认
□音量控制
□方向盘音量快拨控制 (2.0AT)
□AUX外接音源是否正常

灯:
□小灯
□大灯
□雾灯
□倒车灯
□煞车灯
□方向灯/左
□方向灯/右
□后座阅读灯
□前座各照明灯
□危险警告灯

其它 :
□晶片锁各项功能 (2.0AT)
□防盗各项功能
□车门锁、安全锁等之使用

★重点检查★
内:
□地毯、天花板、座椅是否因装配件而刮损
□座椅用力坐看看并摇摆身驱,是否有杂音出现
□安全带拉紧放松几次,检查是否正常

外:
□车子外观漆面有否明显重整
□检查车底盘有无撞痕
□底盘,检查避震器,悬吊系统是否正常
□检查四个车轮转动是否正常,及车轮是否锁正
□轮胎是否做过动平衡校正,若轮圈有加上小铅块表示做过校正

引擎室:
□引擎运转是否正常
□机油
□煞车油
□变速油
□水箱水
□雨刷液
□电瓶
□各式机油类是否正常
□导线的连接是否牢固
□风扇、冷气、发电机等皮带是否松动
□开关继电器盒看看是否插紧牢靠

其他:
□引擎保养基本知识(1000KM前要注意那些、速度不可超过KM/H?档次交换使用?引擎转速不可超过多少?)
□车身钣件间的接合间隙是否左右均匀,车门等间隙之间的烤漆是否处理妥善。顺便伸手摸进轮弧内,若
有太多污泥,其至有树业,则可能是泡水车。
□哩程表应在 25KM以内,不要被拿去路试
□千斤顶、故障牌、备胎在那里?怎么用?
□车辆实际的出厂日期
□清点原厂的随车配件

一、随车资料的检查
  1、购车发票:购车发票是购车时最重要的证明,同时也是汽车上户时的凭证之一,所以在购车时您务必向经销商索要购车发票,并要确认其有效性。
  2、车辆合格证:合格证是汽车另一个重要的凭证,也是汽车上户时必备的证件。只有具有合格证的汽车才符合国家对机动车装备质量及有关标准的要求。
  3、三包服务卡:根据有关规定,汽车在一定时间和行驶里程内,若因制造质量问题导致的故障或损坏,凭三包服务卡可以享受厂家的无偿服务。不过像灯泡、橡胶等汽车易损件不包括在内。
  4、车辆使用说明书:用户必须按照车辆使用说明书的要求合理使用车辆。若不按使用说明书的要求使用而造成的车辆损害,厂家不负责三包。使用说明书同时注明了车辆的主要技术参数和维护调校所必须的技术数据,是修车时的参照文本。
  5、其他文件或附件:有些车辆发动机有单独的使用说明书,有些车辆的某些选装设备有专门的要求或规定,这时消费者都要向经销商索要有关凭证。
  6、核对铭牌:核对铭牌上的排汽量、出厂年月、车架号、发动机号等内容,合格证上的号码必须要与车上的发动机号、车架号一致。
  以上部分的各项单据/凭证/资料必须认真检查,如果发现有任何的遗漏、错误都必须要求销售商立刻解决,否则将影响您上牌照、日后的保修等内容。对于规模较大的4S经销商而言,理论上以上各项资料不会有问题,但对于那些不是非常正规的经销商而言,请您务必仔细检查,以免由于文字或者其他方面的原因使您掉进奸商的陷阱。
  二、启动前的车外检查
  1、车身平整度:检查车身钢板、保险杠的平整度,不应该出现不正常的凹陷、凸起。车体防擦条及装饰线应平直,过渡圆滑,接口处缝隙一致。
  2、车身漆面:仔细察看各处漆面,尤其是一些容易在运输过程中被刮层的部位。车表面颜色应该协调、均匀、饱满、平整和光滑,无针孔、麻点、皱皮、鼓泡、流痕和划痕等现象,异色边界应分色清晰,同时还应该确认没有经过补漆。
  3、车窗玻璃:检查玻璃有无损伤和划痕,重点检查前挡风玻璃的视觉效果。前挡风玻璃必须具有良好的透光性,不能出现气泡、折射率异常的区域。
  4、车身装配:检查前机器盖、后备箱盖、车门、油箱盖、大灯、尾灯等处的缝隙是否均匀,同邻近位置的车身是否处于同一平面,有无错位等现象。检查各处开启、关闭时是否顺畅,声音是否正常,可以适当多开关几次。此时,一并检查各处密封条是否完好、均匀、平整,各门把手或开关是否方便、可靠。
  5、轮胎部分:检查备胎与其他4个轮胎规格和花纹等是否相同。查看轮胎是否完好,没有磨损,有无裂痕起泡现象。查看轮毂是否干净、完美,没有凹陷、划痕。还应该询问或者实测胎压,保证轮胎处于正常胎压且四轮气压一致。轮胎气压符合要求时,在车前观看车身、保险杠等对称部位离地高度应一致。此时,还应该从侧面推、拉轮胎上侧,感觉不松匡。如果是盘式制动器,还应该检查制动盘是否完好,不应有明显磨损和污物。
  6、后备箱:后备箱空间是否干净、内侧衬板是否平整,如果是遥控开启、或是车内开始方式的,开应该多检查一下开启是否顺利和上锁后是否可靠。一般都会把灭火器、随车工具、备胎放在车内,通常有衬板进行隔离,应该注意检查,看看是否齐全、固定是否可靠。后备箱内安装多碟CD换碟机的还应该检查换碟机,最好放上几张光盘,以便测试音像使用。
  7、发动机舱:打开发动机罩,查看发动机及附件有无油污、灰尘,尤其是缸盖与缸体接合处、机油滤清器接口处、空调压缩机、转向助力泵、传动轴等结合缝隙处有无渗漏。检查各种液面(冷却液、发动机机油、制动液、转向助力液、电解液、制冷剂、玻璃水等)是否处于最高和最低刻度之间的正常值范围内。检查电瓶线是否已经进行可靠固定,不能松动,否则将影响电路的可靠性。
  8、底盘部分:检查汽车有无(冷却液、润滑液、制动液、电解液及制冷液、油路)泄漏现象。此时,一并检查机器各部位是否有漏油现象。如果发生泄漏,从车辆长时间停放的地面上、底盘上的一些管路和凸起处可以看到渗漏、油渍的痕迹。如果条件允许的话,不妨到彻底下看看地盘是否有刮碰伤痕,管路是否有明显不合理的地方。
  以上各部分检查效果,可能同对汽车的深入了解有关,如果自己对汽车的知识不是很多,建议请经验丰富的人陪同。如果对销售商的信誉十分的相信,可以剩去其中除车身漆面以外的大部分检查,因为销售商在进货后理论上应该已经都帮您检查过了,但是漆面的个别划伤是难免的。当然,如果您还可以进一步检查例如排气管固定是否可靠、油箱开锁是否可靠等内容。
三、启动前的车内检查
  1、洁净程度:检查车内各处的洁净程度,应该没有任何脏东西,尤其是角落等处,如果比较脏则可能是别人挑剩下的或者有问题调整过的车。同时应该检查所有饰面是否含有破损的地方,如中空台、座椅、车顶、车地面等。
  2、座椅:座椅表面应清洁、完好,乘坐时应该基本舒适,不应该感觉到座椅内有异物影响乘坐。如果座椅可以进行多方向调节,应该进行调整测试,必须能够达到各个方向的限位点,且调整过程能够保持平顺、无异响。如果后做可以进行折叠,应该检查折叠的效果。如果座椅可以放倒一定角度,应该进行角度方面的调整测试。如果头枕可调也应该调整检查。
  3、中控台:检查中控各部分是否完整、按键是否可靠(车还没有点火,基本上可以随便按),表面是否整洁,不应该有划痕和污迹。带有遮阳板、化妆镜的可以一并检查。对于车内其他按键也一并在点火前进行初步检查,如中空门锁、窗、后排空调开关、方向盘上的转向、灯光等等。
  4、储物空间:检查车内每一个储物空间的整洁度,和开启、锁闭的可靠性。目前车内储物空间很多,尽量不要遗漏,如中空台部分的多个储物盒、车门、座椅下面和后面、前后中央扶手等处。
  5、保险带:仔细检查每一条保险带拉开、自动回收、锁止的可靠性,应该平稳顺畅。模拟并检查保险带在发生作用时的可靠性,就是用手特别迅速的拉动保险带。如果是高低可调的保险带,还应该进行调整测试
  以上各部分主要为车内的部分检查,主要是目前轿车更多地采用了电动调节方式,很多功能在没有点火前无法测试(例如电动调节座椅、车窗、后视镜)。同时,绝大部分轿车已经开始采用电子油门、转向助力、辅助刹车,在点火前这些助力都没有打开,所以如果遇到打不动方向等问题请不要使用瞒力。这些地方一般都属于非技术性小问题,因此销售商和生产商一般关注都不多,容易出现或多或少的问题,因此请您务必仔细检查,切末偷懒。之所以建议大家在点火前对各个按键进行按键测试,主要是考虑绝大部分车在没有点火前按键还没有起作用,不用担心按错键而影响到功能。在汽车点火后,请大家不要随便乱动不知用途的按键,务必在熟读说明书后再对这些功能键进行功能试验
四、启动后的静止检查
  1、发动机待速:发动机点火应该短暂且顺利,起动后发动机转速应平稳,无抖动和杂音。质量较好的车应该只能听到很小的噪音,且噪音不应该刺耳,同时应该感觉不到从方向盘、档把等地方传到车内的抖动。启动一小段时间后,发动机转速表应该维持在一定数值范围内(800-1200转左右),指针应该很稳定。过一段时间以后,还应该检查水温表(70-90摄氏度左右)、机油温度表等显示是否正常。
  2、仪表盘:仪表盘是否清楚、各指示灯及转速、速度、油表、水温表、里程表、时钟、电压表等是否正常。有一些自检灯只在启动时闪几下,启动时请留意。通常有ABS、刹车、车门开启提示、机油警示、刹车片过薄警示、水温异常、油温异常、未系安全带、灯光、转向等多个指示灯,而其中大部分正常行驶时应该是不亮的,一般当有红色警示灯亮时您就应该多注意了。应该注意里程表,对于新车而言,行驶里程应该越少越好(场内移动过程中也会行使一部分里程)。对于带有行车电脑的,还应该逐项检查行车电脑显示是否正常、稳定、可靠。
  3、方向盘:检查方向盘是否转动自如,自由行程是否过大,回轮后位置是否正确。如果是多向可调方向盘还应该测试调节是否方便,是否在各个位置都能够很好的控制转向。
   4、变速箱:变速器换挡应轻便灵活,挡位准确,不挡、不乱挡、无异响,连续换档时应该流畅。(应该是原地测试档位,请不要松开离合或者刹车)
  5、制动/离合/油门:制动/离合踏板应该脚感舒适、软硬适中,且行程应该适当、自由行程不应过长,在整个行程中应该平稳顺畅、无异响异动。(此时请保持空档或驻车档)油门只能轻点,发动机应该给予响应,转速应该随着油门稳定的变动。手刹行程应该适中,且效果可靠。制动踏板踩到最大力,保持一分钟,踏板不能有缓慢下移现象。
  6、后视镜/车窗/天窗:应该对后视镜、车窗、天窗进行逐一检查,在开启、闭合的过程中应该自如、平稳、顺畅,不应该有明显的噪音。后视镜应该视野合理、成像清晰,两侧后视镜及中央后视镜经过调整后应该能够基本覆盖身后视野。车窗应该洁净、平整,视线清晰。带有天窗的,应该对天窗的滑动/开启/倾斜等进行检查。如果车窗/天窗带有一键式或防夹功能的,应该在保证安全的条件下进行必要的测试。各项调整功能,尤其是电动调节功能必须都能够调整到最大限位,带有后视镜折叠功能(电动或者手动)的需要测试折叠的可靠性。如果是带有记忆功能的高级轿车,还应该对记忆功能进行测试。
  7、灯光:依次检查各项灯光,示宽灯、近光灯、远光灯、雾灯、转向灯、刹车灯、倒车灯、高位刹车灯、仪表盘照明、车门灯、阅读灯、化装灯、储物箱照明灯、后备箱照明灯等等,灯光应该明亮、稳定,开关应当可靠。对称安装的灯的类型、规格、充色及照射高度应一致,变换远近灯光,亮度及照射位置应正确,不偏离、散光,各种灯的安装及光度应符合厂家出厂说明要求。
  8、雨刷系统:各档位(慢速、间歇、快速、自动感应、多级可调)速度是否合理(绝对不要再在无水情况下使用雨刷器),喷水系统是否工作正常。雨刷扫过玻璃时,应该基本上没有刮玻璃的噪音,且扫水方面没有明显的遗漏。
  9、空调:空调系统出风正常,调整冷热后应该能够在一定时间内吹出冷/热风。调整风口应该可以顺利关闭、开启或者转向指定角度,带风口开度调节的应该同时测试开度。调整风的循环模式,如内外循环、除霜模式、出风模式等,应该立刻给予响应,各风口的风量相应作出变更。出风口不应该吹出过多污物和异味,且在风量不是很大时,不应该有明显的风声。如果是自动空调,可以感觉一下温控功能是否可靠、准确。如果带有电辅助加热后视镜、后挡风、座椅的,还应该进行通断及效果测试。
10、音响/影音系统:检查卡带/收音机/CD运转时的效果(提车前请准备好卡带、CD),注意静电噪音、接受灵敏度、抗干扰能力(可以将手机放在旁边然后拨号)、音质、挑碟、换碟等方面是否正常、可靠。对于多喇叭系统,应该留意每个喇叭是否都能够正常发声,并通过调节音响的高低音、左右声道、前后音场、混音模式等进行进一步检查。如果是带有影视系统、导航系统的车型,还应该对这些系统进行逐一测试。
  以上各部分为待速情况下可以检查的主要项目,当然也包括一些更加细节的地方没有描述,如点烟器工作是否正常、可靠,喇叭声音是否正常等。以上各部分对于信誉良好的销售商来说,您也可以剩一些心,因为他们理论上应该在接货时已经完成了对以上项目的测试。为了确保可靠,建议您仔细检查以上各个项目,因为大部分同行使的安全性、舒适性有关,与车内外装饰上的一些瑕疵相比更为关键。尤其是那些直接同驾驶安全性有关的项目,如安全带、转向、制动、雨刷等项目更要倍加注意。
  五、行使中的检查
  1、起步:起步过程中应该平稳,无抖动现象,发动机、变速箱等处没有异响。
  2、加速:加速时(新车不要急加速)发动机转速过度应平稳,且无突爆声和断火、回火和放炮现象,仪表盘相应的指针反应灵敏。在加速过程中,换档时(2000-3000转即可)不应该有作车现象,应该基本上处于始终平稳加速状态。
  3、正常行驶:以不同车速(30、60、90 km/h)行使过程中整车均应平稳,车内无明显噪音(最高时速较低的小排量车可能会在速度较高的情况下出现较大噪音)。稳定于某一时速时,发动机应无异常响声,仪表盘相应指针应平稳,无明显波动。
  4、转向:行驶中转向机构应操纵灵活,做“O”形行驶,检查转弯半径,当车轮转到极限位置时,不应与其他部位有干涉现象(机械式方向助力的不宜把方向打死,可能损毁助力系统)。做“S”形行驶,检查转弯的灵活性。行驶中路遇凹凸不平或碾过石子时,轮胎产生跳动后应有自动回位的效能。以20 km/h—30km/h的速度直行时,手暂时离开方向盘,不应该出现跑偏、侧滑等现象。
  5、制动:低速制动时应该平稳,车身无点头现象。高速制动时应该灵敏、迅速、有力,不跑偏、不侧滑,制动距离符合出厂规定。对于新车不宜紧急制动,所以不建议对ABS系统进行测试。可以在有一定坡度的地面上,检查驻车装置(主要是手刹)是否有效、可靠。
  6、滑行:速度为30 km/h时摘档,滑行距离应在160米以上(滑行距离同汽车的装配工艺、自重、轮胎、路况等有关)。一般滑行距离越长,说明车的各种内部摩擦损耗越小,行使过程中越省油。对于电喷轿车不建议采用空档滑行,因为在带档情况下自由减速时发动机起制动作用,会自动停止喷油;而在空档滑行时发动机处于待速状态,反而要耗油(带有行车电脑的可以注意一下瞬间油耗的变化)。
  7、泊车:停车入位时要充分感受后视镜、倒车雷达等的效果,转向系统应该准确、到位。
  整个行使过程应该始终保持平稳、安静、舒适,鉴于每个人的驾驶习惯不同,希望大家在第一次试车时处处小心、动作要缓慢(每款车的设计习惯不同,离合/档位/制动/转向等力度都不同),尤其是刚刚从驾校学习B本回来的人更要“轻拿轻放”。随着渐渐习惯自己的爱车,驾驶操控性和舒适性方面的感受会逐步得到提高。大部分销售商可能不会允许你进行实际驾驶检查,即便是允许,一般也都在你交完钱办完手续以后,此时车已经是你的了,所以要更加珍惜和爱护。
  六、行使后的检查
  1、尾气:观察车后排气管出口排出的废气,应无烟(环境气温低时的蒸气除外)、无味(将手放在排气口附近片刻,然后观看手上有无油迹,闻一闻是否有气味)。
  2、锁车:熄火后,散热风扇可能还会继续运转一段时间,其他部分应该已经停止运转。拔出钥匙后所有电器应该处于可靠断电状态、且方向盘方向被锁住。
  3、轮胎:检查轮胎是否出现异常磨损现象,温度是否过高。小心、快速地点触刹车盘、鼓,看看是否烫手(请注意避免被烫伤)。
  4、泄漏:待发动机基本冷却后,打开机器盖复查是否有松动、漏油、漏水、漏电等问题,还应该检查汽车底部前后避震器、刹车泵、变速器、传动轴等处有无漏油现象。
  一般来说,以上几项内容不应该有问题。此时,您还可以对之前有遗漏的地方进行补查,或者针对整个驾驶过程中让您感觉到存在疑点的地方进行复查。总之,最好一个遗憾都不要留下,把所有能够检查的地方都检查一遍。
  七、最后复查
  1、基本配置:按汽车配置表逐项确认,看有无缺少配置,或者相同配置的情况下,有无搞错对应的型号。
  2、随车附件:随车工具(扳手、千斤顶等)、脚垫、座垫(有些车型可能不附带这些物品)。
  3、防盗系统:针对原车防盗的功能,进行非破坏性的非法进入、振动等方面的测试,检查防盗系统是否可靠。
  4、遥控功能:如带有遥控的,还应该检测遥控是否正常、可靠,遥控的灵敏度。
  5、钥匙:检查每把钥匙对每一把车锁(正副驾驶侧、后备箱、油箱盖等)的开启和锁止的可靠性。
  至此,您的爱车已经通了您的严格体检。如果您在整个过程中发现了一些小问题,例如漆面划上等,则可以让经销商送您一些装饰什么的作为赔偿。或者您特别在意这些小问题,您也可以同销售商进一步接洽,要求更换一辆。如果再检查过程中发现了比较大的问题,例如发动机异常等,您应该同经销商据理力争,要求其必须给予更换。如果没有任何问题,那么恭喜您了,您可以开着爱车回家或者直接去办理上牌手续了。

2008 年 12 月 12 日
by beoop
13 Comments

beoop升级到WordPress 2.7中文版

beoop已经完成升级,插件和主题工作正常,后台变化较大,其他新特性还在试用中。
相关信息参考:http://wordpress.org.cn/thread-25952-1-1.html

WordPress 中文团队也已经根据官方的压缩包制作出了简体中文版。
本次更新,主要是大的版本更新,更新的东西很多,具体详见这里
本次中文版本发布,共修改了3个核心文件:
wp-config-sample.php 文件:将其中的说明文字汉化为简体中文,并且修改默认语言为 zh_CN。
readme.html 文件:对该说明文档进行完全汉化。
wp-settings.php:修改PHP版本提示为简体中文。
下载地址(这里我们提供了 tar.gz 和 zip 两种压缩包的下载,请大家根据自己的需要下载。此次升级的更新文件数目较大,不提供升级包,直接覆盖即可。):

升级步骤
备份你修改过的文件,并上传新版本文件直接覆盖掉旧版本文件;
上传所有新文件;
在浏览器中打开 http://您博客地址/wp-admin/upgrade.php;
升级完成。

2008 年 12 月 12 日
by beoop
0 comments

Hadoop上运行WordCount以及本地调试

本文是在hadoop上运行你的第一个程序,以及如何进行本地调试。如果还没有部署好hadoop环境,请参考之前的文章hadoop在集群上的安装部署

Hadoop Map/Reduce框架的简要介绍

Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。 整个框架负责任务的调度和监控,以及重新执行已经失败的任务。
通常,Map/Reduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说,计算节点和存储节点通常在一起。这种配置允许框架在那些已经存好数据的节点上高效地调度任务,这可以使整个集群的网络带宽被非常高效地利用。

Map/Reduce框架由一个单独的master JobTracker 和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执行,重新执行已经失败的任务。而slave仅负责执行由master指派的任务。

应用程序至少应该指明输入/输出的位置(路径),并通过实现合适的接口或抽象类提供map和reduce函数。再加上其他作业的参数,就构成了作业配置(job configuration)。然后,Hadoop的 job client提交作业(jar包/可执行程序等)和配置信息给JobTracker,后者负责分发这些软件和配置信息给slave、调度任务并监控它们的执行,同时提供状态和诊断信息给job-client。

输入与输出
Map/Reduce框架运转在 键值对上,也就是说, 框架把作业的输入看为是一组 键值对,同样也产出一组 键值对做为作业的输出,这两组键值对的类型可能不同。

框架需要对key和value的类(classes)进行序列化操作, 因此,这些类需要实现 Writable接口。 另外,为了方便框架执行排序操作,key类必须实现 WritableComparable接口。

一个Map/Reduce 作业的输入和输出类型如下所示:
(input) -> map -> -> combine -> -> reduce -> (output)

运行wordcount程序
wordcount程序在hadoop的分发包中已经有了,在{HADOOP_HOME}srcexamples中

[hadoop@hadoop hadoop]$cd /home/hadoop/
[hadoop@hadoop hadoop]$ mkdir wordcount_classes
[hadoop@hadoop hadoop]$javac -classpath hadoop-0.17.2.1-core.jar -d wordcount_classes ./com/beoop/WordCount.java
[hadoop@hadoop hadoop]$jar -cvf /home/hadoop/wordcount.jar -C wordcount_classes/ .

在HDFS上建立wordcount目录

[hadoop@hadoop hadoop]$ ./bin/hadoop dfs -mkdir wordcount
[hadoop@hadoop hadoop]$ ./bin/hadoop dfs -mkdir wordcount/input

放入测试文件file01、file02到input目录中,结构如下

[hadoop@hadoop hadoop]$ ./bin/hadoop dfs -ls wordcount/input/
/user/hadoop/wordcount/input/file01
/user/hadoop/wordcount/input/file02

input中的文件内容,file01和file02可以从本地put进去

[hadoop@hadoop hadoop]$ ./bin/hadoop dfs -cat /user/hadoop/wordcount/input/file01
Hello World Bye World you are a big star

[hadoop@hadoop hadoop]$ ./bin/hadoop dfs -cat /user/hadoop/wordcount/input/file02
Hello Hadoop Goodbye Hadoop

运行wordcount程序,jar文件可以在本地,输入输出应该在HDFS上

[hadoop@hadoop hadoop]$./bin/hadoop jar /home/hadoop/wordcount.jar com.beoop.WordCount /user/hadoop/wordcount/input /user/hadoop/wordcount/output

运行输出信息
08/12/11 19:39:39 INFO mapred.FileInputFormat: Total input paths to process : 2
08/12/11 19:39:39 INFO mapred.JobClient: Running job: job_200811260234_0027
08/12/11 19:39:40 INFO mapred.JobClient:  map 0% reduce 0%
08/12/11 19:39:47 INFO mapred.JobClient:  map 66% reduce 0%
08/12/11 19:39:48 INFO mapred.JobClient:  map 100% reduce 0%
08/12/11 19:39:53 INFO mapred.JobClient:  map 100% reduce 11%
08/12/11 19:39:55 INFO mapred.JobClient:  map 100% reduce 100%
08/12/11 19:39:56 INFO mapred.JobClient: Job complete: job_200811260234_0027
08/12/11 19:39:56 INFO mapred.JobClient: Counters: 16
08/12/11 19:39:56 INFO mapred.JobClient:   File Systems
08/12/11 19:39:56 INFO mapred.JobClient:     Local bytes read=663
08/12/11 19:39:56 INFO mapred.JobClient:     Local bytes written=1580
08/12/11 19:39:56 INFO mapred.JobClient:     HDFS bytes read=242
08/12/11 19:39:56 INFO mapred.JobClient:     HDFS bytes written=228
08/12/11 19:39:56 INFO mapred.JobClient:   Job Counters
08/12/11 19:39:56 INFO mapred.JobClient:     Launched map tasks=3
08/12/11 19:39:56 INFO mapred.JobClient:     Launched reduce tasks=1
08/12/11 19:39:56 INFO mapred.JobClient:     Data-local map tasks=3
08/12/11 19:39:56 INFO mapred.JobClient:   Map-Reduce Framework
08/12/11 19:39:56 INFO mapred.JobClient:     Map input records=4
08/12/11 19:39:56 INFO mapred.JobClient:     Map output records=38
08/12/11 19:39:56 INFO mapred.JobClient:     Map input bytes=199
08/12/11 19:39:56 INFO mapred.JobClient:     Map output bytes=351
08/12/11 19:39:56 INFO mapred.JobClient:     Combine input records=38
08/12/11 19:39:56 INFO mapred.JobClient:     Combine output records=31
08/12/11 19:39:56 INFO mapred.JobClient:     Reduce input groups=30
08/12/11 19:39:56 INFO mapred.JobClient:     Reduce input records=31
08/12/11 19:39:56 INFO mapred.JobClient:     Reduce output records=30

本地调试
上面我们已经可以在hadoop上运行程序,但对于日常调试,会比较麻烦,IBM开发了IBM MapReduce Tools 的用语eclipse的插件http://www.alphaworks.ibm.com/tech/mapreducetools,IBM已经将这个插件捐献给了hadoop,0.17以上版本,可以在hadoop目录下的contribeclipse-plugin中可以找到这个插件,和IBM发布的有些改进。hadoop有自己的rpc远程调用框架,所以客户端的hadoop-core.jar必须与服务器一致.不然rpc协议有可能不兼容.
,所以推荐使用hadoop自带的plugin,以防出现鬼魅问题。

安装该插件后,重启eclipse,和平时一样,new->project 选择Map/Reduce project,如下图

mapresuse

mapresuse

输入名字

点击右侧的configure hadoop install directory,选择本地的hadoop的目录

将hadoop的/src/examples中的文件导入到新建的项目中.
在org.apache.hadoop.examples里有我们需要的WordCount.java

在工程的右下脚控制面板上会出现一个大象的图标,点击后会出来配置hadoop服务器的界面

这里的名字随便填个就可以,重要的是host和port,插件默认是localhost:50020,需要改成和之间部署hadoop的时候hadoop-site.xml中的一样。
还需要注意一点的是,Map/Reduce Master 对应mapred.job.tracker,而 DFS Master对应于fs.default.name
我在初次配置的时候写反了,导致出现以下错误

2008-12-10 02:38:06,434 INFO org.apache.hadoop.ipc.Server: IPC Server handler 9 on 9001, call getProtocolVersion(org.apache.hadoop.d
fs.ClientProtocol, 29) from 10.10.1.34:2282: error: java.io.IOException: Unknown protocol to job tracker: org.apache.hadoop.dfs.Clie
ntProtocol
java.io.IOException: Unknown protocol to job tracker: org.apache.hadoop.dfs.ClientProtocol
        at org.apache.hadoop.mapred.JobTracker.getProtocolVersion(JobTracker.java:173)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:446)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:896)

根据hadoop在集群上的安装部署中hadoop-site.xml中的配置


  fs.default.name
  hdfs://hadoop:9000/


  mapred.job.tracker
  hadoop:9001

如上图所示,填上相应的host和port,如果你没在本地设置hosts,那么请用ip代替,或者在C:WINDOWSsystem32driversetchosts文件中加入,在高级设置中可以对hadoop做更为细致的设置。这里略过。

在run dialog中设置输入参数

修改WordCount.java,在run方法中加入下面2句

conf.set("hadoop.job.ugi", "hadoop,hadoop"); //设置hadoop server用户名和密码
conf.set("mapred.system.dir", "/home/hadoop/HadoopInstall/tmp/mapred/system/"); //指定系统路径

在run as菜单中选择run on hadoop选项,运行,弹出选择框,选择刚才配置好的hadoop server,也可以在这里配置新的server。

如果一切正常在console上会有和上面运行结果一样的输出,可以在 http://hadoop:50030/jobtracker.jsp 上监控我们部署的作业的状态。

错误分析
初次运行出现以下错误,主要是因为没有设置用户名和密码而导致的,参照上面调用conf.set手动设置以下就可以了。

08/12/11 14:33:04 WARN fs.FileSystem: uri=hdfs://hadoop:9000/
javax.security.auth.login.LoginException: Login failed: Cannot run program "whoami": CreateProcess error=2, ?????????
	at org.apache.hadoop.security.UnixUserGroupInformation.login(UnixUserGroupInformation.java:250)
	at org.apache.hadoop.security.UnixUserGroupInformation.login(UnixUserGroupInformation.java:275)
	at org.apache.hadoop.security.UnixUserGroupInformation.login(UnixUserGroupInformation.java:257)
	at org.apache.hadoop.security.UserGroupInformation.login(UserGroupInformation.java:67)
	at org.apache.hadoop.fs.FileSystem$Cache$Key.(FileSystem.java:1353)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1289)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:203)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:108)
	at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:352)
	at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:331)
	at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:304)
	at org.apache.hadoop.examples.WordCount.run(WordCount.java:148)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
	at org.apache.hadoop.examples.WordCount.main(WordCount.java:159)
Exception in thread "main" java.lang.RuntimeException: java.io.IOException
	at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:356)
	at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:331)
	at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:304)
	at org.apache.hadoop.examples.WordCount.run(WordCount.java:148)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
	at org.apache.hadoop.examples.WordCount.main(WordCount.java:159)
Caused by: java.io.IOException
	at org.apache.hadoop.dfs.DFSClient.(DFSClient.java:175)
	at org.apache.hadoop.dfs.DistributedFileSystem.initialize(DistributedFileSystem.java:68)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1280)
	at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:56)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1291)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:203)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:108)
	at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:352)
	... 5 more
Caused by: javax.security.auth.login.LoginException: Login failed: Cannot run program "whoami": CreateProcess error=2, ?????????
	at org.apache.hadoop.security.UnixUserGroupInformation.login(UnixUserGroupInformation.java:250)
	at org.apache.hadoop.security.UnixUserGroupInformation.login(UnixUserGroupInformation.java:275)
	at org.apache.hadoop.dfs.DFSClient.(DFSClient.java:173)
	... 12 more

运行的时候出现下面的错误,说/home/hadoop/HadoopInstall/tmp/mapred/system/job_200811260234_0022/job.xml的文件没找到

2008-12-10 21:26:48,680 INFO org.apache.hadoop.ipc.Server: IPC Server handler 0 on 9001, call submitJob(job_200811260234_0022) from 10.10.1.34:1328: error: java.io.IOException: /home/hadoop/HadoopInstall/tmp/mapred/system/job_200811260234_0022/job.xml: No such file or directory
java.io.IOException: /home/hadoop/HadoopInstall/tmp/mapred/system/job_200811260234_0022/job.xml: No such file or directory
	at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:215)
	at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:149)
	at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1155)
	at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1136)
	at org.apache.hadoop.mapred.JobInProgress.(JobInProgress.java:174)
	at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:1755)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:446)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:896)

到server(hadoop主机)建立了system目录,依然错误,后来在高级选项中修改mapred.system.dir的属性仍然报错。最后通过

conf.set("mapred.system.dir", "/home/hadoop/HadoopInstall/tmp/mapred/system/");

运行成功,不过未明白高级设置中指定mapred.system.dir为什么无效。是plugin自身问题?

参考资料:
hadoop在集群上的安装部署
http://hadoop.apache.org/core/docs/r0.18.2/cn/mapred_tutorial.html
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/index.html

2008 年 12 月 10 日
by beoop
2 Comments

hadoop在集群上的安装部署

本文主要介绍在集群上部署hadoop,构建HDFS,为后面运行map/reduce程序做准备

前期准备:
下载hadoop: http://hadoop.apache.org/core/releases.html

硬件环境
共有3台机器,均使用的CentOS,Java使用的是jdk1.6.0。
IP配置如下:
hadoop:192.168.9.212
test:192.168.9.111
test2:192.168.9.211

对于Hadoop来说,在HDFS看来,节点分为Namenode 和Datanode,其中Namenode只有一个,Datanode可以是很多;在 MapReduce看来,节点又分为Jobtracker和 Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。
所以通常有两台master,一台作为NameNode,一台作为JobTracker,剩下的都为slaves,同时当做DataNode和 TaskTracker使用.
当然也可以将NameNode和JobTracker都放在一台master上面.
这里让hadoop做为master和Jobtracker,test和test2作为DataNode和TaskTracker

修改hosts文件,要确保每台机器的主机名和IP地址之间能正确解析,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名,如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。

[root@hadoop ~]# vi /etc/host
127.0.0.0         localhost
192.168.9.212     hadoop
192.168.9.111     test
192.168.9.211     test2

[root@test ~]# vi /etc/host
127.0.0.1       localhost
192.168.9.212   hadoop
192.168.9.111   test

[root@test2 ~]# vi /etc/host
127.0.0.1       localhost
192.168.9.212   hadoop
192.168.9.211   test2

Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。
分别在三台机器上新增用户hadoop,密码hadoop,主目录是/home/hadoop

[root@hadoop ~]#su hadoop

建立HadoopInstall目录,解压,为了方便以后升级建立软链接

[hadoop@hadoop ~]$ mkdir /home/hadoop/HadoopInstall
[hadoop@hadoop ~]$ tar zxvf hadoop-0.17.2.1.tar.gz -C HadoopInstall/
[hadoop@hadoop ~]$cd HadoopInstall

这里定义{HADOOP_HOME}为/home/hadoop/HadoopInstall/hadoop,下面提到{HADOOP_HOME}替换下就行.

为了方便升级,建立软链接并且将配置文件与安装目录分离

[hadoop@hadoop ~]$ln  -s  hadoop-0.17.2.1  hadoop
[hadoop@hadoop ~]$mkdir /home/hadoop/hadoop-conf

将{HADOOP_HOME}/conf/下hadoop-env.sh ,hadoop-site.xml, masters,slaves四个文件copy到/home/hadoop/hadoop-conf中
指定环境变量 $HADOOP_CONF_DIR指向该目录。

[hadoop@hadoop ~]$ echo 'export HADOOP_CONF_DIR=$HOME/HadoopInstall/hadoop-conf/' >> .bashrc

也可以在全局环境变量/etc/profile中设定。

SSH设置
在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个datanode上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。
以本文中的三台机器为例,现在hadoop是主节点,他需要连接test和test2。需要确定每台机器上都安装了ssh,并且datanode机器上sshd服务已经启动。

[hadoop@hadoop ~]$ssh-keygen  -t  rsa
这个命令将为hadoop上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下

然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/home/dbrg/.ssh /authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接复制过去就行.

[hadoop@hadoop ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

复制到test和test2上

[hadoop@hadoop .ssh]$ scp authorized_keys test:/home/hadoop/.ssh/
[hadoop@hadoop .ssh]$ scp authorized_keys test2:/home/hadoop/.ssh/

输入 yes 来继续。这会把该服务器添加到你的已知主机的列表中
The authenticity of host ‘test (192.168.9.111)’ can’t be established.
RSA key fingerprint is 03:e0:30:cb:6e:13:a8:70:c9:7e:cf:ff:33:2a:67:30.
Are you sure you want to continue connecting (yes/no)?

这里会提示输入密码,输入hadoop账号密码就可以了。

改变你的 authorized_keys 文件的许可权限:
[hadoop@hadoop .ssh]$chmod 644 authorized_keys

检查下是否配置成功,从hadoop机器上ssh到test和test2,如果不需要输入密码则配置成功,如果还需要请检查上面的配置是否正确。

[hadoop@hadoop ~]$ ssh test
[hadoop@hadoop ~]$ ssh test2

[hadoop@hadoop ~]$ vi /home/hadoop/HadoopInstall/hadoop-conf/hadoop-env.sh
指定JAVA_HOME和HADOOP_HOME
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop

配置
主要的配置文件{HADOOP_HOME}/conf目录下面
1. hadoop-default.xml – 不要修改此文件.
2. hadoop-site.xml – 通过修改这个文件覆盖hadoop-default.xml中的选项达到配置的目的.

[hadoop@hadoop ~]$ more  /home/hadoop/HadoopInstall/hadoop-conf/hadoop-default.xml



  fs.default.name
  hdfs://hadoop:9000/


  mapred.job.tracker
  hadoop:9001


  hadoop.tmp.dir
  /home/hadoop/HadoopInstall/tmp


  dfs.name.dir
  /home/hadoop/HadoopInstall/filesystem/nameDetermines


  dfs.data.dir
  /home/hadoop/HadoopInstall/filesystem/dataDetermines


  dfs.replication
  1


  mapred.child.java.opts
  -Xmx512m


将hadoop添加到masters文件中

[hadoop@hadoop hadoop-conf]$ more /home/hadoop/HadoopInstall/hadoop-conf/smasters
hadoop

将datanode添加到slaves文件中

[hadoop@hadoop hadoop-conf]$ more /home/hadoop/HadoopInstall/hadoop-conf/slaves
test
test2

将hadoop部署到其他的节点机器上,保证目录结构一致。

[hadoop@hadoop ~]$scp  -r  /home/hadoop/HadoopInstall  test:/home/hadoop/
[hadoop@hadoop ~]$scp  -r  /home/hadoop/HadoopInstall  test1:/home/hadoop/

格式化namenode

[hadoop@hadoop ~]$cd /home/hadoop/HadoopInstall/hadoop
[hadoop@hadoop ~]$./bin/hadoop  namenode  -format
08/11/22 03:50:00 INFO dfs.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = hadoop/127.0.0.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.17.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.17 -r 684969; compiled by 'oom' on Wed Aug 20 22:29:32 UTC 2008
************************************************************/
08/11/22 03:50:00 INFO fs.FSNamesystem: fsOwner=hadoop,hadoop
08/11/22 03:50:00 INFO fs.FSNamesystem: supergroup=supergroup
08/11/22 03:50:00 INFO fs.FSNamesystem: isPermissionEnabled=true
08/11/22 03:50:00 INFO dfs.Storage: Storage directory /home/hadoop/HadoopInstall/filesystem/nameDetermines has been successfully formatted.
08/11/22 03:50:00 INFO dfs.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop/127.0.0.1
************************************************************/

启动hadoop,这里调用start-all.sh 全部启动,也可以调用start-mapred.sh 和start-dfs.sh启动相应的守护程序。

[hadoop@hadoop ~]$./bin/hadoop  start-all.sh

先检查namenode和各datanode上hadoop程序是否启动起来,并且关注/home/hadoop/HadoopInstall/hadoop/logs下的日志文件。

简单的DHFS操作
建立目录

[hadoop@hadoop ~]$./bin/hadoop  dfs  -mkdir hadooptest

在HDFS中建立一个名为hadooptest的目录

复制文件

[dbrg@dbrg-1:hadoop]$bin/hadoop  dfs  -put  /home/home/hadoop-0.17.2.1.tar.gz  hadoop-test.tar.gz

把本地文件hadoop-0.17.2.1.tar.gz拷贝到HDFS的根目录/user/hadoop/下,文件名为hadoop-test.tar.gz

查看现有文件

[dbrg@dbrg-1:hadoop]$bin/hadoop  dfs  -ls

更多相关命令可以查看帮助

[hadoop@hadoop bin]$ sh hadoop dfs

在执行上面命令,我出现过以下错误

2008-11-22 03:54:00,202 INFO org.apache.hadoop.ipc.Server: IPC Server handler 3 on 9000, call addBlock(/user/hadoop/hadoop-test.tar.gz,
DFSClient_1524625820) from 127.0.0.1:32894: error: java.io.IOException: File /user/hadoop/hadoop-test.tar.gz could only be replicated to
 0 nodes, instead of 1
java.io.IOException: File /user/hadoop/testfil.tar.gz could only be replicated to 0 nodes, instead of 1
        at org.apache.hadoop.dfs.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1145)
        at org.apache.hadoop.dfs.NameNode.addBlock(NameNode.java:300)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:446)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:896)
2008-11-22 03:57:34,778 INFO org.apache.hadoop.fs.FSNamesystem: Roll Edit Log from 127.0.0.1
2008-11-22 03:57:34,778 INFO org.apache.hadoop.fs.FSNamesystem: Number of transactions: 8 Total time for transactions(ms): 0 Number
of syncs: 5 SyncTimes(ms): 19
2008-11-22 03:57:35,420 INFO org.apache.hadoop.fs.FSNamesystem: Roll FSImage from 127.0.0.1
2008-11-22 03:57:35,420 INFO org.apache.hadoop.fs.FSNamesystem: Number of transactions: 0 Total time for transactions(ms): 0 Number
of syncs: 0 SyncTimes(ms): 0

后经检查,发现iptables启动着,端口没放到允许列表中。关闭iptables后,正常。

问题排查
1、首先确定网络连接没有问题,没台机器都能ping通。
2、看看是否能访问以下连接,如果不能访问,请检查端口是否被占用或者被防火期阻止。

http://hadoop:50030/

http://hadoop:50030/jobtracker.jsp

3、仔细检查master和各slave的/home/hadoop/HadoopInstall/hadoop/logs下的文件,根据错误信息排查错误。

相关资料:
Hadoop集群搭建
http://hadoop.apache.org/core/docs/r0.18.2/cn/cluster_setup.html
Hadoop 官方网站,了解 Hadoop 及其子项目 HBase 的信息。
http://hadoop.apache.org/
IBM hadoop 应用系列文章
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html

2008 年 11 月 28 日
by beoop
0 comments

白羊座老婆使用说明书

【品名】白羊座老婆

【生产日期】白羊月(3月21-4月20),年份不限。

【主要成分】冲动15%,活力60%,专一20%,自私5%。

【主要功能】

1、她是快乐制造机,能为你源源不断地生产快乐。

2、是你和孩子的守护神。

【适用人群】1、身体健壮、有正义感、胆识过人的有志之士;2、未婚男子优先,已婚男子靠边。

【注意事项】

1、本品处在停机或工作状态时,请勿打扰,以免该品释放出大量唾沫将您淹死。

2、其出现体红、发烫、头顶冒烟时,请迅速拔掉电源,切勿强行使用,等其平静稳定,变回原样后才可正常使用。

3、过分依赖本品,将会给您带来不利的影响,如:会感到被冷落或是被厌烦。应暂时脱离该品一段时间。

4、使用期间如将怒气发在本品的身上或发现该品出现异常现象仍继续使用时,该品将会放射出具有杀伤性的能量。

5、本品若出现突如其来的小故障,请不要在意,它来得快去得也快,所以使用者应学会适应与迁就,其使用时间方能长久。

6、使用期间不可使用其他类似产品,否则易出现狗血淋头或鼻青脸肿症状。

7、用户遇到很难解决的问题时,请不要擅自对该品胡乱处理,可向亲友咨询或到“网易女人.星座”找到应对的办法,若依然无效者只有直接向民政部门进行研究。

【禁忌】喜欢朝三暮四、不服从监管者,皆不宜。

【贮藏】不能长期搁置家中,最好能定期携带其到各地风景名胜晒晒太阳。

【包装】色彩明亮、简单大方的布料和饰品为包装最为适合。

【备注】本品具有唯一性,不可复制,好好珍惜。

非试用品、赠品,决定使用,责任自担。

2008 年 11 月 26 日
by beoop
0 comments

HDFS用户指南

HDFS用户指南

原文地址:http://hadoop.apache.org/core/docs/current/hdfs_user_guide.html
译者:dennis zhuang(killme2008@gmail.com),有错误请指正,多谢。

目的

本文档可以作为使用Hadoop分布式文件系统用户的起点,无论是将HDFS应用在一个Hadoop集群中还是作为一个单独的分布式文件系统使用。HDFS被设计成可以马上在许多环境中工作起来,那么一些HDFS的运行知识肯定能大大地帮助你对一个集群做配置改进和诊断。

概览

HDFS是Hadoop应用的主要分布式存储。一个HDFS集群由一个管理文件系统元数据的NameNode,和存储实际 数据的一些Datanode组成。HDFS的架构在这里有详细描述。这个用户指南主要提供给需要跟HDFS集群打交道的用户或者管理员。HDFS架构文章 中的图描绘了Namenode、Datanode和客户端们之间的基本交互。本质上,客户端与Namenode通讯获取或者修改文件的元数据,与 Datanode进行实际的IO操作。

下面的列表应该是大多数用户关心的HDFS突出特点。斜体字的术语将在后面详细描述。

1)Hadoop,包括HDFS,非常适合廉价机器上的分布式存储和分布式处理。它是容错的、可伸缩的,并且非常易于扩展。并且,以简单性和适用性著称的Map-Reduce是Hadoop不可或缺的组成部分。

2)HDFS的默认配置适合于大多数安装的应用。通常情况下,只有在一个非常大规模的集群上才需要修改默认配置。

3)HDFS是用java编写的,支持大多数平台。

4)支持shell命令行风格的HDFS目录交互。

5)Namenode和Datanode都内建了web服务器,可以方便地查看集群的状态

6)HDFS经常性地实现新的特性和改进,下面是HDFS中的一些有用特性的子集:

文件许可和授权

Rack awareness :当调度任务和分配存储的时候将节点的物理位置考虑进去。

Safemode(安全模式) :用于维护的一个管理状态

fsck : 诊断文件系统的一个工具,用来查找丢失的文件或者block

Rebalancer :当数据在Datanode间没有均匀分布的时候,用于重新平衡集群的工具

升级和回滚 :当Hadoop软件升级,在升级遇到不可预期的问题的时候,可以回滚到HDFS升级前的状态

二级Namenode :帮助Namenode维持包含了HDFS修改的日志的文件(edits日志文件,下文谈到)大小在限制范围内。

前提条件

下面的文档描述了一个Hadoop集群的安装和设置:

本文档的剩余部分假设你已经搭设并运行了一个至少拥有一个Datanode的HDFS。基于本文档的目的,Namenode和Datanode可以运行在同一台机器上。

Web接口

Namenode和Datanode分别跑了一个内置的web服务器,来展现集群当前状态的一些基本信息。在默认配置 下,Namenode的首页地址是http://namenode:50070(namenode就是Namenode节点所在机器IP或者名称)。这个 页面列出了集群中的所有datanode以及集群的基本统计。web接口同样可以用于浏览文件系统(点击Namenode首页上的“Browse the file system”链接)。

Shell命令

Hadoop包括了多种shell风格的命令,用于跟HDFS或者Hadoop支持的其他文件系统交互。命令 bin/hadoop fs -help 可以列出Hadoop shell支持的命令。更进一步,bin/hadoop fs -help command 可以展现特定命令command的帮助细节。这些命令支持一般文件系统的操作,例如拷贝文件、修改文件权限等。同时也支持了部分HDFS特有的命令,例如 修改文件的replication因子。

DFSAdmin命令

‘bin/hadoop dfsadmin’ 命令支持一些HDFS管理功能的操作。’bin/hadoop dfsadmin -help’可以列出所有当前支持的命令。例如:

  • -report : 报告HDFS的基本统计信息。部分信息同时展现在Namenode的web首页上。
  • -safemode : 尽管通常并不需要,管理员还是可以通过手工操作进入或者离开safemode状态
  • -finalizeUpgrade : 移除上一次升级时集群所做的备份。

二级Namenode

Namenode将对文件系统的修改存储在一个原生文件系统文件中(名为edits的文件)。当Namenode启动的时 候,它从映像文件(fsimage)读取HDFS的状态,然后将edits日志文件中的修改作用在此内存状态上,接着将得到的新的HDFS状态写回 fsimage,后续的正常操作开始于一个空的edits日志文件。由于Namenode仅仅在启动的时候将fsimage和edits合并,因此在一个 大的集群上经过一定时间操作后,edits文件将会非常大。由此带来的一个副作用就是下次Namenode的重新启动将花费很长时间。二级 Namenode就是为了解决这个问题,它会周期性地合并fsimage和edits日志文件,并且将edits日志文件的大小保持在限制范围内。通常它 会跑在另一个机器上,因为它的内存要求跟主namenode一样。二级Namenode可以通过’bin/start-dfs.sh’启动在conf /masters配置文件里配置的节点上。

Rebalancer

HDFS的数据可能不会总是在Datanode之间分布得很一致。一个常见的原因是往现有的集群中加入了新的Datanode。当分配block的时候,Namenode依据几个参数来决定哪个datanode来接受这些block。一些需要考虑的因素如下:

1)一个block的副本存放在正在写该block的节点上

2)需要将一个block的副本扩展到其他机架上,防止因为整个机架故障导致的数据丢失。

3)副本之一通常放在同一个机架的另一个节点上,减少跨机架的网络IO

4)将HDFS数据均匀一致地分布在集群中的datanode上。

基于这些相互竞争的因素,数据可能不会在Datanode之间扩展得一致。HDFS给管理员提供了一个工具,用来分析block的分配情况和在datanode之间重新平衡数据。这个功能暂未实现,它的描述可以在这个 PDF 文档中看到,记录编号HADOOP-1652 .

Rack Awareness

典型的大规模Hadoop集群是部署在数个机架上的,那么显然同一个机架内的节点间的网络通讯比之不同机架间节点间的网 络通讯更可取。另外,Namenode会尝试将block的副本分布在数个机架中以提高容错性。Hadoop让集群管理员来决定某个节点从属于哪个机架, 通过配置变量dfs.network.script来实现。当这个脚本有配置的时候,每个节点都运行该脚本来决定它的rackid。默认安装假设所有的节 点从属于同一个机架。这个特性和配置进一步的阐述在这个PDF 文档,编号为 HADOOP-692

Safemod(安全模式)

当Namenode启动的时候,它从fsimage和edits日志两个文件中加载文件系统的状态。然后等待 datanode报告他们的block信息,以便防止Namenode在确认block副本是否足够前过早地开始复制block。这段时间的 Namenode就是处于所谓safemode状态。处于safemode的Namenode也是HDFS集群的只读模型,此时不允许任何对文件系统或者 block的修改。正常情况下,Namenode会在开始后自动退出safemode。如果有需要,HDFS可以通过’bin/hadoop dfsadmin -safemode’命令显式地进入safemode状态。Namenode的web首页显示当前的safemode是否打开。更详细的描述和配置可以参 考setSafeMode() 方法的JavaDoc。

译 注:详细介绍下safemode的配置参数,在safemode状态,Namenode会等待所有的datanode报告他们自己的block信息,看看 所有的block的副本是否达到最低要求的数目,这个数目可以通过dfs.replication.min参数配置,默认是1,也就是至少要求有一个副 本。当报告合格的Datanode的数目达到一定百分比,Namenode才会离开safemode状态。这个百分比也是可配置的,通过 dfs.safemode.threshold.pct参数,默认是0.999f(也就是要求99.9%的Datanode 合格)。Namenode在合格的datanode数目达到要求的时候,并不是马上离开safemode状态,会有一个扩展时间,让剩余的 datanode来报告block信息,这个扩展时间默认是30秒,可以通过 dfs.safemode.extension参数配置,单位是毫秒。

Fsck

HDFS提供了fsck命令用来检测各种各样的不一致性。fsck被设计用来报告各种文件的问题,例如某个文件丢失的 block,block的副本数目是否低于设置等。不同于传统的一般原生文件系统的fsck命令,hdfs的fsck命令并不修正所检测到的错误。通常情 况下,Namenode会自动修正大多数可以被修复的错误,HDFS的fsck不是Hadoop shel的命令,可以通过’bin/hadoop fsck’执行,可以运行在整个文件系统上或者一个文件子集上。

升级和回滚

当升级某个集群的Hadoop的时候,正如任何软件的升级一样,可能会引入新的bug或者不兼容的修改导致现有的应用出 现过去没有发现的问题。在所有重要的HDFS安装应用中,是不允许出现因丢失任何数据需要从零开始重启HDFS的情况。HDFS允许管理员恢复到 Hadoop的早期版本,并且将集群的状态回滚到升级前。HDFS的升级细节请参考 upgrade wiki 。HDFS在任何时间只能有一个备份,因此在升级前,管理员需要通过’bin/hadoop dfsadmin -finalizeUpgrade’命令移除现有的备份。下面简要描述了典型的升级过程:

1)在升级Hadoop前,如果已经存在备份,需要先结束(finalize)它。可以通过’dfsadmin -upgradeProgress status’命令查询集群是否需要执行finalize

2)停止集群,分发部署新版本的Hadoop

3)执行新版本的hadoop,通过添加 -upgrade 选项,例如/bin/start-dfs.sh -upgrade

4)大多数情况下,集群在升级后可以正常运行。一旦新的HDFS在运行若干天的操作后没有出现问题,那么就可以结束(finalize)这次升级。请注意,在升级前删除的文件并不释放在datanode上的实际磁盘空间,直到集群被结束(finalize)升级前。

5)如果有需要回到老版本的Hadoop,那么可以:

a)停止集群,分发部署老版本的Hadoop

b)通过rollback选项启动集群,例如bin/start-dfs.sh -rollback

文件许可和安全

文件许可的设计与其他平台(如linux) 的文件系统类似。在当前实现,安全被限制在简单的文件许可上。启动Namenode的用户被作为HDFS的超级用户。HDFS的未来版本将支持网络验证, 例如Kerberos方案(译注:MIT开发的一个验证系统)的用户验证以及数据传输的加密。更详细的讨论参考Permissions User and Administrator Guide

伸缩性

Hadoop正运行在成千上万个节点的集群上。 PoweredBy Hadoop 列 出了一些部署Hadoop在大规模集群上的组织和机构。HDFS在每个集群上只有一个Namenode节点,Namenode节点上可用内存是当前伸缩性 的主要限制。在非常大规模的集群上,增加HDFS中存储的文件的平均大小,将可以帮助提高集群的大小而不用增加Namenode的内存需求。默认的配置可 能不适合非常大规模的集群应用。Hadoop FAQ 页列出了对于大规模Hadoop集群的配置改进建议。

关联文档

本用户指南可作为使用HDFS很好的一个起点,在本文档持续改进的同时,有一些非常有价值的关于Hadoop和HDFS的文档资料可供参考。下列资料可作为进一步探索的起点: