基于Eclipse的Hadoop应用开发条件布置

基于Eclipse的Hadoop应用开发条件布置

本文作者:北京师范大学系统科学学院副教授张江,授权转载,原文地址。

自之开条件:

一如既往、计算体系的开放性问题

操作系统ubuntu11.10 单机模式

1、计算体系的开放性

不管人工智能、涌现计算还是元胞自动机,这些既掌握的计算模式还在在一个受制:其还是查封的计量体系。很多大家认为,正是为就好像计算体系不够开放,所以这些人工系统的错综复杂还远不克与诚实世界面临之复杂相媲美[1]。

论及系统的开放性与封闭性,很多口见面联想到热力学第二定律[2]。该定律指出,别一个封闭体系必然会为为最好无序的熵增状态提高。但是,物理中的封体系是负无与外面进行能量、物质交换的系统。严格来讲,任何一个划算体系都无到底封闭体系,因为计算体系要之外的能够量流注入以支撑其成功计算。所以,我们不可知大概套用物理中的热力学第二定律。

跟能量和物质系统的开放性不同,计算体系的开放性是凭借程序于运行的进程遭到允许打外界输入信息,从而改变程序原始的运行轨迹的性。比如Windows的“扫雷游戏”就是一个怒放的计算体系,因为计算程序的运行必须要求用户之音输入(操作);而“生命游戏”元胞自动机则是一个封闭的体系,因为若该程序运行起来然后,外界就不克重干预该网的运作了。

俺们普通所说之系的外面环境往往依靠我们所面对的天下。然而,当我们着想计算体系的外围环境的当儿,情况或许无必要这么复杂。因为计算机都是全人类的家伙,任何一个盘算体系的宏图归根结底都是为满足人类使用者的急需。所以,计算体系的外侧条件一般是凭她的使用者——人(或者称用户User、玩家Player)。当我们干计算体系的开放性的下,实际上我们谈谈还多之是同样种人——使用者和机具——计算体系之间的关联。

Hadoop版本:hadoop-0.20.1

2、计算机游戏

当我们把人口-机关系当做开放计算体系的首要问题之早晚,我们本来就是见面想到各种人-机结合方式。从机械四肢、人造器官,到脑子与外边硬件的神经连接,再届人-机“软结合”的意志以及定量结合及专家系统、机器上体系等等,真好说凡是应有尽有。然而,仔细分析这些人-机结合方式会意识,它们往往过于工程化、技术化,需要消耗大量之人力、物力。更要之是,这些技能并没吃咱提供平等栽简易的原型,让我们于人及机具两单方面进行重新多之理论思考。

本章我们用讨论同样看似非常的食指-机系统:计算机游戏。这类系不但精美、灵活,而且又拥有了精巧性(从程序的角度说)以及娱乐性(从口的角度说)的要求。因此,计算机游戏大有或当分析人-机关系问题之一个原型。

给我们于一个绝简易的娱乐:“俄罗斯方块”(Tetris)出犯来体会这种人-机系统的特色。

俄罗斯方块

率先,俄罗斯方是一个盛开的计算机程序。每当列一个工夫步,玩家用输入信息来成功下降木块的团团转和移动,而计算机程序则使控制开始降落的木块形状,以及当物块落地后,系统如何消去这无异重合的方框,还有针对性玩家的奖励以及处置等等。因此,俄罗斯方块是一个开放之计量体系。

附带,俄罗斯方块的宏图既考虑了程序运行的简单性,又考虑了用户的可玩性体验。也就是说,一个打要形成好打(从人类的角度谈),同时算法流畅、逻辑规则明确(从计算机程序的角度谈),它才是一个好之戏。尽管人和人口是出入,每一个总人口之心里感受又是这样非常复杂多变,但是当我们给俄罗斯方块这个大概的游乐的时刻,一切繁杂的动作都见面给简化成物块上下左右之移位操作。所以,这即也咱越从理论及分析游戏系统奠定了根基。

本章从电脑游戏就类似开放性的精打细算体系出发讨论有关人-机关系之题目。

第一,我们将沿着历史前进的系统简单介绍计算机游戏之前行和分类,以祈求让读者对电脑游戏有一个初始的垂询。之后,我们就此平等栽开放式的动力系统模型包括了计算机游戏的逻辑内核。

下,我们从人-机关系之角度解析了电脑游戏的特点:一方面,游戏设计着追求的可玩性使得游戏可人提供戏;另一方面,玩家的操作为计算机程序的向上与改善提供了恐,因此计算机程序及玩家构成了同等种植和谐共生的关联。

末尾,我们从电脑游戏出发,对人-机关系所带来的哲学和社会问题进行探讨:随着大型网络游戏的起,人类社会即将面临相同会费以及养之间的界线、人类与机具里的分界日益摸糊的转型;这种转型就反映于了广大科幻影片之中;值得指出的是,这种转型大有或会见令人类走向一致种植更高层的“人-机结合”的沐浴状态。

Eclipse版本:eclipse-java-helios-SR2-linux-gtk.tar.gz(使用3.7之版总是崩溃,让丁不快)

亚、游戏——一种自然的盛开计算体系

关系计算机游戏,人们率先想到的凡现代青少年热衷的网络游戏。然而,这些游戏的外部设计过于复杂,以至于我们充分为难把游戏之庐山真面目。除了炫酷的3D画面及复杂性的人为智能程序,我们一齐可以从平种更广义的见地来定义玩,它就是是一律种“诙谐之、交互性的运动”。

本这个概念,我们见面发现,很多生人活动,包括体育竞技、球类竞赛都属于广义的游玩。可以说,游戏的史甚至于人类历史还抬高因为,这是盖小猫小狗等动物都见面通过玩或者相追逐而玩耍,那么大有或,猿猴在前进成人之前就已学会了一日游。
当然,这个定义可以扩展我们针对戏之喻,但是呢会见叫讨论过于分散。在本章中,我们拿根本汇集讨论计算机游戏。下面被咱们来简单回顾一下电脑游戏的历史。

先是步:先启动hadoop守护进程

1、计算机游戏简史

待指出的凡,严格来说,视频游戏(Video
Game,通常是一律种植奔跑在控制台(Console)——与电视互动连接的专为游戏如果计划之机——上之游艺)和村办电脑游戏(PC
Game,专指奔跑在民用计算机上的娱乐)还有网络游戏(Network
Game,大量合力的电脑共同运行的玩程序)不是同样栽东西,但她于软件形式、运行规律与规划意见及倒是几乎从来不其他区别,所以,为了发挥好,在本文中我们统称它们啊电脑游戏。

微机游戏的史足以与电脑的历史相媲美。早在1958年的时节,美国Brookhaven
国家试验室的物理学家W.Higinbotham就用示波器设计了扳平缓慢非常简单的双人乒乓球游戏,他的目的纯粹是以排解那些参观实验室的科学家。如下图:

率先慢性用示波器做的计算机游戏“双人乒乓球”

尽管这款游戏不是跑步在电脑屏幕上的,但它却是率先缓慢地地道道的娱乐性电子装置。1961年,Steve
Rusell设计了同一迟迟名叫吧星球大战(Spacewar)的玩耍,由于这款游戏仍DEC计算机一起销售,所以它们深受称为史上首先缓缓最流行的计算机游戏[3]。

1966~1969年内,Ralph
Baer开发了同多元而交互式的视频游戏机器,人们可以以电视上娱乐个游戏,这也电脑游戏之普及奠定了基础,Baer也吃叫做控制台游戏(Console
Game)之大[4]。

20世纪的70~80年间是计算机游戏业蓬勃发展的20年。随着各种游戏控制台以及个体电脑的推广,一颇批判电脑游戏于规划出。例如前面介绍的俄罗斯方块,还有知名的吃豆人游戏(Pac
Man),超级玛丽(Super
Mariao)、魂斗罗(Contra)等等。这个时期的游玩则从未华丽的表面,但是靠优质的游戏规则设计,创造了游戏史上的经。

超级玛丽

20世纪的90年间是电脑游戏爆发式发展的十年。随着多媒体电脑的推广,越来越多像逼真、丰富多彩的游乐上了一系列。另一方面,由于玩耍设计引擎的起让大批量制造游戏化了或者。这同样时期的慌发展诞生了成千上万熟悉的玩乐项目[5]。下面仅就有些代表性的花色进行介绍

第一人称设计游戏:“反恐精英”、即时战略游戏:“帝国时代”

实际参看:http://www.cnblogs.com/flyoung2008/archive/2011/11/29/2268302.html

(1)第一人称射击游戏

就仿佛娱乐往往是由第一人称视角上到一个全3D的一日游世界被,玩家仿佛身临其境一个虚拟的疆场中。毁灭战士(Doom),半条命(Half-life)、反恐精英(Counter-Strike)等游艺都属于第一人称设计游戏。这好像游戏的特色就是是活灵活现、刺激,适合青少年游戏。

第二步:在eclipse上安装hadoop插件

(2)即时战略类游戏

倘说第一人称射击类游戏模拟的是片的沙场,那么,即时战略游戏就是本着总战场的效仿。玩家用操控、部署周边武装完成全局的战略安排。红色警报(Red
Alert)、星际争霸(Star Craft)、帝国时代(Empire
Age)等游戏就属即仿佛即时战略游戏。

1.复制
hadoop安装目录/contrib/eclipse-plugin/hadoop-0.20.1-eclipse-plugin.jar
到 eclipse安装目录/plugins/ 下。

(3)角色扮演游戏

及前方两种植打打杀杀的嬉戏不同,角色扮演类游戏模拟的不再是战争,而是一个一个故事。玩家就恍如是娱乐世界面临之扮演者扮演着不同的角色。游戏之进展就是当谈一个故事。仙剑奇侠传、龙和地下城(Dungeons
& Dragons)等便属这种角色扮演游戏。

2.重启eclipse,配置hadoop installation directory。 
只要安插件成功,打开Window–>Preferens,你见面发觉Hadoop
Map/Reduce选项,在是选项里而需要安排Hadoop installation
directory。配置好后脱离。

(4)模拟类游戏

管赢得一致庙战火还是开展一段落故事,以上介绍的几近似游戏还为玩家设立了明确的目标,而模拟类游戏则并未切实可行的对象。玩家完全可以将程序作为一个试验场,从而根据玩家自己的对象来操作程序。

譬如,著名的玩“模拟城市”就属即同一类。玩家当一个市长针对模拟的都会开展管制。虽然不同之玩家可创建了不同的模拟城市,但是打本身并无啊玩家设置具体的职责以及对象。

“模拟人生”是另外一放缓很资深的模拟游戏,玩家在打受可了上跟和睦真实生活全两样之人生。

模拟类游戏还还得本着玩家展开培育。例如,一个举世闻名的例子就是是美国一个十几年份的子女于首先破试驾飞机的时刻就起之很自如。飞行员教官惊奇地问他:“你先开过机也?”。“不,”孩子报说,“没开始过,但是本人打了‘飞行模拟器’(flight
simulator)这款游戏”。目前,也产生过多汽车驾驶学校以游玩训练学生驾驶。

当然,除了上面列举的即时四看似以外,90年代发展兴起的娱乐项目还包:冒险类、格斗类、体育竞技类等等。但是,所有这些游戏大部分都是单机版的,也就是是打本身不包联网功能。

登2000年从此,计算机游戏为两只方向愈加发展。一个方向是走向了更不行范围的网络游戏[6],另外一个势是走向了再度粗框框之手机游戏

极致早的网络游戏起源于一种植让誉为泥巴(MUD,Multiple User
Dimension,多用户规模)的多人聊天程序。这种程序尚未图形界面,玩家只能通过当网络上传递文本信息进行互。随着多媒体电脑以及图片加速器的普及,人们将这种多口闲聊程序扩展成为当今底特大型网络游戏。第二人生(Second
life)、魔兽世界(World of Warcraft)是个别缓缓最有影响力的特大型网络游戏。

少放缓流行的网络游戏:“第二人生”与“魔兽世界”

及单机版游戏最酷的不同点是玩家当游玩世界中不仅仅可以与程序开展互动,而且还好和大量其他玩家角色进行交互。因此,在这类似游戏中,虚拟世界中之交际行为、协作行为还是实社会之缩影。最近,越来越多的社会科学家开始关注网络游戏这个领域,科学家们以为这是一个异常好的试场所,网络游戏为科学家等研究各种人类社会表现:自病毒的流传及虚拟经济网提供了优良的考查平台
跻身2000年下,手机成平等栽死普及的电子类制品,越来越多之打公司看以了这块市场,开发了众手机游戏。在此处,我们不对一般的手机游戏进行赘述,而特别考察一接近比较特别之称为手机定位类的玩耍。

手机一贯版的“吃豆人”游戏

手机一定游戏将每个安置了环球定位系统(GPS)的无绳电话机当玩家的输入装置,利用玩家当地理空间及之活动就设实现休闲游被之竞相。例如,上图所展示之就算是同等悠悠手机一贯版的“吃豆人”(Pac-man)游戏[7]。多个玩家在一个真正世界面临走路,卫星定位系统将各个一个玩家的音信映射到同样贵服务器上。这个服务器在按一个具体世界的迷宫运行吃豆类人之一日游。这样,每个玩家通过扮不同之吃豆人角色(吃豆人或者妖精),就可由此实际世界的移动而成就娱乐。
这种手机一贯游戏大大拓展了人们对游乐概念的敞亮,它摆脱了戏一定依赖让键盘和鼠标的传统观念。

图片 1

2、计算机游戏之逻辑内核

当当时无异于略节,我们透过各种乱的玩外形,从计算程序的角度来解计算机游戏。可以无夸大的游说,无论是炫酷的3D游戏,还是精致的手机游戏,它们都共享一个良基本的逻辑内核:一个开花之动力学系统(Open
Dynamical System)

具体来说,我们好将其余一个戏作为一个模仿的世界。这样,随着CPU时钟的各个一样破嘀嗒跳动,这个玩世界就是运行一个冒牌周期,游戏根据程序算法就世界状态的翻新。而玩耍跟模拟程序最充分的两样就在游戏允许玩家的输入,因此,我们得以将嬉戏之逻辑内核看作是一个简单易行的框图:

开放式的动力系统

各国一个光阴步,游戏程序因用户之输入信息I以及游玩之状态x完成同样糟运算f(x,I),这个运算结果反映为打新一步之状态,而这个状态又会于产一致步反馈让系统。游戏之进度就体现在每个周期的x变量的不等。而玩耍的规则则反映为f的例外。通常情况下,f不能够写起分析的函数形式,而得用算法的语言进行发挥:它往往带有了游戏逻辑、人工智能、物理模拟、图形渲染等作用

打数学上看,一个函数迭代:xt+1=f(xt)是一个标准的动力系统(Dynamical
System)[8]。但是,该框图与动力系统最要命之不等在玩家输入I的有,因此我们遂是框图表达的凡均等栽开放式的动力系统(Open
Dynamical
System)。玩家输入信息I对于动力系统的设计者来说完全是无确定的(不分包在规则f之内),从而这种开放式的计量体系具有天然的不确定性

值得指出的凡,在随心所欲动力系统的钻研着,系统的运作之外随机因素的烦扰。但是,在打中,外界输入的信息是玩家的玩乐作为,它明确不可知一如既往于同种植随机干扰因素。因此,开放动力系统与自由动力系统是殊的。

总而言之,无论计算机游戏之样式多么复杂多变,它的极致小逻辑内核却是休转换的,也便是一个蕴含了玩家更新信息之开放式动力系统。

正文版权所有,如用转载请联系自己以及张江,禁止非得到授权的其它款式之转载,包括且无限定于纸媒、微博、微信、公众号。

3.配置Map/Reduce Locations。 
在Window–>Show View中打开Map/Reduce Locations。 
于Map/Reduce Locations中初砌一个Hadoop
Location。在斯View中,右键–>New Hadoop
Location。在弹出的对话框中而需要配置Location
name,如Hadoop,还有Map/Reduce Master和DFS
Master。这中的Host、Port分别吗公当mapred-site.xml、core-site.xml中安排的地址与端口。如:

Map/Reduce Master

192.168.1.101  9001 

DFS Master

192.168.1.101  9000 

图片 2

布置完后退出。点击DFS
Locations–>Hadoop如果会显示文件夹(2)说明配置是,如果显示”拒绝连接”,请检查你的部署。

图片 3

其三步:新建项目。 
File–>New–>Other–>Map/Reduce Project 
花色名为好随便取,如WordCount。 
复制
hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚新建的花色下。 

季步:上传模拟数据文件夹。 
为运行程序,我们要一个输入的文本夹,和出口的公文夹。
于本土新建word.txt

[html] view
plaincopy

  1. java c++ python c  
  2. java c++ javascript   
  3. helloworld hadoop  
  4.  mapreduce java hadoop hbase   

透过hadoop的吩咐于HDFS上开创/tmp/workcount目录,命令如下:bin/hadoop fs
-mkdir /tmp/wordcount

经过copyFromLocal命令把地方的word.txt复制到HDFS上,命令如下:bin/hadoop
fs -copyFromLocal /home/grid/word.txt  /tmp/wordcount/word.txt

第五步:运行品种

1.以新建的档次Hadoop,点击WordCount.java,右键–>Run As–>Run
Configurations 2.于弹出的Run Configurations对话框中,点Java
Application,右键–>New,这时会新建一个application名吧WordCount3.配置运行参数,点Arguments,在Program
arguments中输入“你如果招为程序的输入文件夹和汝要求程序将计结果保存的文件夹”,如:

hdfs://centos1:9000/tmp/wordcount/word.txt hdfs://centos1:9000/tmp/wordcount/out 

4、如果运行时报java.lang.OutOfMemoryError: Java heap space 配置VM
arguments(在Program arguments下)

-Xms512m -Xmx1024m -XX:MaxPermSize=256m 

图片 4

5.点击Run,运行程序。 

点击Run,运行程序,过段时间将运行就,等运行了晚,查看运行结果,使用命令:
bin/hadoop fs -ls
/tmp/wordcount/out查看例子的出口结果,发现发半点独文件夹和一个文书,使用命令查看part-r-00000文本,
bin/hadoop fs -cat /tmp/wordcount/out/part-r-00000可查看运行结果。

[html] view
plaincopy

 

  1. c    1  
  2.   c++    2  
  3.  hadoop    2  
  4.  hbase    1  
  5.  helloworld    1  
  6.  java    3  
  7.  javascript    1  
  8.  mapreduce    1  
  9.  python    1  

 

运城互联网论坛地址:http://www.dmyc8.com/forum-104-1.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注