仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 460|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] 来一发Centos下装置hadoop并与Eclipse毗连

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!好久之前就企图进修hadoop了,直到比来才提上日程。消费了一些工夫才把centos下的hadoop搭起来,前后履历的“波折”相对能够写成数千字的血泪史了。既有被网上教程坑了的苦逼遭受,也有教研室年夜超师兄和练习公司的泡哥的爱心增援。明天终究能够坐上去说说怎样在Centos下装置hadoop并与Eclipse毗连这个成绩。
先说一下要筹办哪些软件和信息:
VMware-workstation;
CentOS-6.0-i386-bin-DVD;
eclipse-jee-luna-SR1-win32;
hadoop-0.20.2;
jdk-6u27-linux-i586;
(因为hadoop对版本的请求较高,人人仍是不要容易改换版本,这里列出来的各类软件都是不乱公布版,网上很简单能够download到的)。

全部教程分为如许5个局部来讲:1)在Windows下装置假造机Vmware,并新建一个假造机装好centos体系;2)centos下设置ssh办事无暗码登录;3)centos下装置jdk,并设置情况变量;4)centos下装置hadoop,并设置文件;5)windows下装置jdk和eclipse,并将eclipse与centos下的hadoop毗连。能够说这5个局部每个都很主要,特别是第4)步。上面我们就具体说一下每步该怎样做。
Step0:请人人先在windows下新建一个一般用户,用户名为hadoop,我们一切的软件全在这个上面装置,用户名最好如果hadoop,由于这个要和前面良多username不异,设为hadoop对照好记。


1)在Windows下装置假造机Vmware,并新建一个假造机装好centos体系;

起首,下载VMware-workstation并装置,这步调和一样平常windows下装置软件的历程是一样的,进门小白也会纯熟操纵,这里就节俭点儿空间给前面主要的步调了~
然后,在Vmware的主页上新建一个假造机,以下图:



一起下一步,直到让你选择体系镜像路径,我们选择centos体系映像,如上图,点击下一步。然后,必要你输出linux的用户名,这个对照主要,最好填写hadoop,由于这个名字在前面要用到很多多少次!





前面仍是一起的“下一步”,直到让你设置假造机的内存巨细,倡议为1024M。如上图。前面就是要选择和假造机的收集范例有关的设置了,倡议为“利用收集地点转换NAT”,以下图。这一步我事先选择了主动桥接的功效,找了一个早晨的毛病。。。工夫就如许白花花的没了~~




以后仍是一起的“下一步”,几近都是利用它保举的设置,我们就能够新建一个centos,守候个几分钟然后就能够进进centos界面了。看到那一抹科技蓝,有无让你心动了呢~~哈哈哈,你的确走好了第一步!
2centos下设置ssh办事无暗码登录;

在桌面右击,选择openinTerminal,这个就是linux的终端了。但愿读者有一些linux操纵体系的基本,如许子上手更快一些。不外如果没有的话,也没有干系,我们是面向老手的教程。





2.1.先在linux下令行中输出su,提醒暗码,输出你本人设置的暗码,如许子你前面的操纵都具有了linux体系下的最高权限——root权限。
2.2.在设置ssh无暗码登录之前,有一个出格主要的要先出好:封闭SELinux。这是由于centos会主动制止你修正sshservice,我们只要封闭SELinux,重启才干失效。怎样做,以下:
修正/etc/selinux/config文件
将SELINUX=enforcing改成SELINUX=disabled
重启呆板便可
(note:在linux下修正文件,vi下令后会进进到文件窗口,按i进进insert,修正终了以后再按esc推出insert,输出;:wq!保留并加入~这里要感激泡哥,改了半天都不可,仍是泡哥指导迷津了~~)

2.3.在linux下令行里输出:ssh-keygen-trsa,然后一起回车。
root@hadoopName-desktop:~$ssh-keygen-trsa
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/zhangtao/.ssh/id_rsa)://密钥保留地位,间接回车坚持默许;
Createddirectory/home/zhangtao/.ssh.
Enterpassphrase(emptyfornopassphrase)://设置密钥的暗码,空暗码间接回车便可;
Entersamepassphraseagain://确认上一步设置的暗码。
然落后进/root/.ssh/上面,会看到两个文件id_rsa.pub,id_rsa,
然后实行cpid_rsa.pubauthorized_keys
然后sshlocalhost考证是不是乐成,第一主要你输出yes,今后就不必要了。
以下图,因为我又考证了一次,以是还必要输出y,假如你是第一次考证是不要的。




至此,ssh办事无暗码登录设置终了!
3centos下装置jdk,并设置情况变量;

这一步中能够分为两步:装置jdk、设置jdk情况变量。
3.1.第一步:root用户上岸,利用下令mkdir/usr/program新建目次/usr/program,下载JDK装置包jdk-6u13-linux-i586.bin,将其复制到目次/usr/program下,用cd下令进进该目次,实行下令“./jdk-6u13-linux-i586.bin”,下令运转终了即装置完成,将在目次下天生文件夹/jdk1.6.0_13,此即为jdk被乐成装置到目次:/usr/program/jdk1.6.0_13下。
3.2.root用户上岸,下令行中实行下令“vi/etc/profile”,并到场以下内容,设置情况变量(注重/etc/profile这个文件很主要,前面Hadoop的设置还会用到)。
#setjavaenvironment
exportJAVA_HOME=/usr/program/jdk1.6.0_27
exportJRE_HOME=/usr/program/jdk1.6.0_27/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
在vi编纂器增添以上内容后保留加入,并实行以下下令使设置失效!
#chmod+x/etc/profile;增添实行权限
#source/etc/profile;使设置失效!
设置终了后,在下令行中输出:java-version,就会呈现装置jdk的信息。





这时候,jdk的装置和设置情况变量就乐成了~
4centos下装置hadoop,并设置文件;

4.1.装置hadoop之前要先晓得你的centos中的ip地点:在终端中输出ifconfig就能够检察ip地点了。以下图:(我的是192.168.154.129




4.2.下载hadoop-0.20.2.tar.gz,将其拷贝到/usr/local/hadoop目次下,然后在该目次/usr/local/hadoop解压装置天生文件/hadoop-0.20.2(即为hadoop被装置到/usr/local/hadoop/hadoop-0.20.2文件夹下)
下令以下:tar-zxvfhadoop-0.20.2.tar.gz解压装置一步完成!
4.3.起首设置hadoop的情况变量
下令“vi/etc/profile
#sethadoop
exportHADOOP_HOME=/usr/hadoop/hadoop-0.20.2
exportPATH=$HADOOP_HOME/bin:$PATH
下令:source/etc/profile使刚设置的文件失效!
进进/usr/local/hadoop/hadoop-0.20.2/conf,设置Hadoop设置文件
4.4.设置hadoop-env.sh文件
翻开文件下令:vihadoop-env.sh
增加#setjavaenvironment
exportJAVA_HOME=/usr/program/jdk1.6.0_27
编纂后保留加入(提醒,输出:wq!)。实在细心找一下就会发明hadoop-env.sh文件中自己就有JAVA_HOME这行,我们只必要把后面的正文#作废,然后修正HOME的地点就好。以下图所示:



4.5.设置core-site.xml
[root@masterconf]#vicore-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href=http://www.centoscn.com/image-text/install/2014/1119/"configuration.xsl"?>
<!--Putsite-specificpropertyoverridesinthisfile.-->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.154.129:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-0.20.2/hadooptmp</value>
</property>
</configuration>
(note:hdfs前面的必定如果你的centos的IP地点,这就是为何要在下面先ifconfig失掉ip地点的缘故原由。有些教程说的那种localhost,是不准确的!前面和eclipse会毗连不上!!这里又损耗了一个早晨的工夫。。。)
以下图所示:


申明:hadoop散布式文件体系的两个主要的目次布局,一个是namenode上名字空间的寄存中央,一个是datanode数据块的寄存中央,另有一些其他的文件寄存中央,这些寄存中央都是基于hadoop.tmp.dir目次的,好比namenode的名字空间寄存中央就是${hadoop.tmp.dir}/dfs/name,datanode数据块的寄存中央就是${hadoop.tmp.dir}/dfs/data,以是设置好hadoop.tmp.dir目次后,其他的主要目次都是在这个目次上面,这是一个根目次。我设置的是/usr/local/hadoop/hadoop-0.20.2/hadooptmp,固然这个目次必需是存在的。
4.6.设置hdfs-site.xml
<?xmlversion="2.0"?>
<?xml-stylesheettype="text/xsl"href=http://www.centoscn.com/image-text/install/2014/1119/"configuration.xsl"?>
<!--Putsite-specificpropertyoverridesinthisfile.-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
"hdfs-site.xml"15L,331C



(note:个中dfs.replication的value为1是由于我们这里设置的是单机伪散布式,只要一台机子~前面的dfs.permissions是为了让用户有权限~)
4.7.设置mapred-site.xml
[root@masterconf]#vimapred-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
<!--Putsite-specificpropertyoverridesinthisfile.-->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.154.129:9001</value>
</property>
</configuration>
以下图:



4.8.masters文件和slaves文件(一样平常此二文件的默许内容即为下述内容,无需从头设置)
[root@hadoopconf]#vimasters
192.168.154
[root@hadoopconf]#vislaves
192.168.154



注:由于在伪散布形式下,作为master的namenode与作为slave的datanode是统一台办事器,以是设置文件中的ip是一样的。
4.9.主机名和IP剖析设置(这一步十分主要!!!)
起首[root@hadoop~]#vi/etc/hosts,
然后[root@hadoop~]#vi/etc/hostname,
最初[root@hadoop~]#vi/etc/sysconfig/network。
申明:这三个地位的设置必需和谐分歧,Hadpoop才干一般事情!主机名的设置十分主要!







4.9.启动hadoop
进进/usr/local/hadoop/hadoop-0.20.2/bin目次下,输出hadoopnamenode-format格局化namenode。


启动hadoop一切历程,输出start-all.sh:



考证hadoop有无起来,输出jps:


假如红圈中的Tasktracker,JobTracker,DataNode,Namenode都起来了,申明你的hadoop装置乐成!
申明:1.secondaryname是namenode的一个备份,内里一样保留了名字空间和文件到文件块的map干系。倡议运转在别的一台呆板上,如许master逝世失落以后,还能够经由过程secondaryname地点的呆板找回名字空间,和文件到文件块得map干系数据,规复namenode。
2.启动以后,在/usr/local/hadoop/hadoop-1.0.1/hadooptmp下的dfs文件夹里会天生data目次,这内里寄存的是datanode上的数据块数据,由于笔者用的是单机,以是name和data都在一个呆板上,假如是集群的话,namenode地点的呆板上只会有name文件夹,而datanode上只会有data文件夹。

5windows下装置jdkeclipse,并将eclipsecentos下的hadoop毗连;

在windows下装置jdk这个很复杂,之间下载windows下的jdk装置便可。Eclipse间接把装置包解压便可利用。我们次要说一下怎样将eclipse与hadoop毗连。
5.1.起首在要封闭linux的防火墙;
毗连之前要封闭linux的防火墙,否则在eclipse的project中会一向提醒“listingfoldercontent…”,招致毗连不上。封闭防火墙的***以下:
输出下令:chkconfigiptablesoff,然后reboot重启便可。
重启以后,输出下令:/etc.init.d/iptablesstatus就能够检察防火墙封闭的形态了。(显现“iptables:Firewallisnotrunning.”)
5.2.插件装置和设置eclipse参数
下载插件hadoop-eclipse-plugin-0.20.3-SNAPSHOT,放到eclipse下的plugins文件夹中,重启eclipse就能够找到projectexplorer一栏中的DFSlocations。以下图:




在windows-preferences中会多出一个hadoopmap/reduce选项,选中这个选项,然后把下载的hadoop根目次选中。
在视图中翻开map/reducelocation,你会发明鄙人面的Location地区会呈现黄色年夜象图标。在Loctaion空缺地区,右击:NewHadoopLocation…
设置general的参数,详细以下:



点击finish,封闭eclipse,再重启eclipse,会发明在Location地区有一个紫色的年夜象,右击它edit,设置Advancedparameters的参数。(注重,这儿不休封闭、重启eclipse的历程必定要严厉实行,否则在advancedparameters页会有一些参数不出来~)


设置advancedparameters页的参数是最泯灭工夫的,统共必要修正3个参数,事先一入手下手的时分发明它的页面下找不到:
第一个参数:hadoop.tmp.dir。这个默许是/tmp/hadoop-{user.name},由于我们在ore-defaulte.xml里hadoop.tmp.dir设置的是/usr/local/hadoop/hadoop-0.20.2/hadooptmp,以是这里我们也改成/usr/local/hadoop/hadoop-0.20.2/hadooptmp,其他基于这个目次属性也会主动改;
第二个参数:dfs.replication。这个这里默许是3,由于我们再hdfs-site.xml内里设置成了1,以是这里也要设置成1;
第三个参数:hadoop.job.ugi。这里要填写:hadoop,Tardis,逗号后面的是毗连的hadoop的用户,逗号前面就写Tardis。


(note:这里要说一下,一样平常而言第一个参数hadoop.tmp.dir很好出来,你依照后面的步调重启eclipse,在advancedparamters页面就能够间接找到它,修正便可;前面两个参数对照难出来,个中hadoop.job.ugi参数,必定要包管linux的用户名和windows的用户名不异才会有,否则是找不到的。直到如今我也不晓得为何有的时分就是找不到这两个参数,只要多封闭-重启eclipse几回,多试一试,网上的教程一向没有触及到这个情形)
5.3.project目次下会展现hadoop的hdfs的文件目次
依照下面设置好以后,我们会在project中发明hadoop中最主要的hdfs目次已展现出来了。以下图:


至此,hadoop与eclipse就乐成的毗连上了。我们的教程也就完全停止,下一次我们再说说怎样让eclipse上的WordCount步伐,放在hadoop中运转。


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-15 10:40:22 | 只看该作者

来一发Centos下装置hadoop并与Eclipse毗连

边撸边过
活着的死人 该用户已被删除
板凳
 楼主| 发表于 2015-1-25 19:40:52 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
分手快乐 该用户已被删除
地板
发表于 2015-2-4 07:46:56 | 只看该作者
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
因胸联盟 该用户已被删除
5#
发表于 2015-2-9 19:08:02 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
谁可相欹 该用户已被删除
6#
发表于 2015-2-27 23:20:53 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
若相依 该用户已被删除
7#
发表于 2015-3-17 06:12:37 | 只看该作者
对我们学习操作系统有很大的帮助,加深我们对OS的理解。?
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-24 02:25:29 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 20:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表