手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

如何在CentOS下安装Hadoop并与Eclipse连接?

[日期:2014-12-15] 来源:CSDN   作者:puQuTogether [字体: ]

4)CentOS下安装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 -zxvf  hadoop-0.20.2.tar.gz    解压安装一步完成!

4.3.首先配置hadoop的环境变量

命令“vi /etc/profile”

#set hadoop

export HADOOP_HOME=/usr/hadoop/hadoop-0.20.2

export PATH=$HADOOP_HOME/bin:$PATH

命令:source  /etc/profile  使刚配置的文件生效!

进入/usr/local/hadoop/hadoop-0.20.2/conf,配置Hadoop配置文件

4.4. 配置hadoop-env.sh文件

打开文件命令:vihadoop-env.sh

添加 # set javaenvironment

export JAVA_HOME=/usr/program/jdk1.6.0_27

编辑后保存退出(提示,输入:wq!)。其实仔细找一下就会发现hadoop-env.sh文件中本身就有JAVA_HOME这行,我们只需要把前面的注释#取消,然后修改HOME的地址就好。如下图所示:

4.5. 配置core-site.xml

[root@master conf]# vi core-site.xml

fs.default.name

hdfs://192.168.154.129:9000/

hadoop.tmp.dir

/usr/local/hadoop/hadoop-0.20.2/hadooptmp

(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

dfs.replication

1

dfs.permissions

false

"hdfs-site.xml" 15L, 331C

(note:其中dfs.replication的value为1是因为我们这里配置的是单机伪分布式,只有一台机子~后面的dfs.permissions是为了让用户有权限~)

4.7. 配置mapred-site.xml

[root@master conf]# vi mapred-site.xml

mapred.job.tracker

192.168.154.129:9001

如下图:

4.8.  masters文件和slaves文件(一般此二文件的默认内容即为下述内容,无需重新配置)

[root@hadoop conf]# vi masters

192.168.154

[root@hadoop conf]# vi slaves

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目录下,输入hadoop namenode -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文件夹。

5)windows下安装jdk和eclipse,并将eclipse与centos下的hadoop连接;

在windows下安装jdk这个很简单,之间下载windows下的jdk安装即可。Eclipse直接把安装包解压即可使用。我们主要说一下如何将eclipse与hadoop连接。

5.1.首先在要关闭linux的防火墙;

连接之前要关闭linux的防火墙,不然在eclipse的project中会一直提示“listing folder content…”,导致连接不上。关闭防火墙的方法如下:

输入命令:chkconfig iptables off,然后reboot重启即可。

重启之后,输入命令:/etc.init.d/iptables status就可以查看防火墙关闭的状态了。(显示“iptables: Firewall is not running.”)

5.2.插件安装和配置eclipse参数

下载插件hadoop-eclipse-plugin-0.20.3-SNAPSHOT,放到eclipse下的plugins文件夹中,重启eclipse就可以找到project explorer一栏中的DFS locations。如下图:

在windows- preferences中会多出一个hadoopmap/reduce选项,选中这个选项,然后把下载的hadoop根目录选中。

在视图中打开map/reducelocation,你会发现在下面的Location区域会出现黄色大象图标。在Loctaion空白区域,右击:New Hadoop Location…

配置general的参数,具体如下:

点击finish,关闭eclipse,再重启eclipse,会发现在Location区域有一个紫色的大象,右击它edit,配置Advanced parameters的参数。(注意,这儿不断关闭、重启eclipse的过程一定要严格执行,不然在advanced parameters页会有一些参数不出来~)

设置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,在advanced paramters页面就可以直接找到它,修改即可;后面两个参数比较难出来,其中hadoop.job.ugi参数,一定要保证linux的用户名和windows的用户名相同才会有,不然是找不到的。直到现在我也不知道为什么有的时候就是找不到这两个参数,只有多关闭-重启eclipse几次,多试一试,网上的教程一直没有涉及到这个情况)

5.3.project目录下会展示hadoop的hdfs的文件目录

按照上面设置好之后,我们会在project中发现hadoop中最重要的hdfs目录已经展示出来了。如下图:

至此,hadoop与eclipse就成功的连接上了。我们的教程也就完整结束,下一次我们再说说怎么让eclipse上的WordCount程序,放在hadoop中运行,具体见 http://www.linuxidc.com/Linux/2014-12/110515.htm

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-12/110514.htm

linux
相关资讯       Hadoop Eclipse  CentOS安装Hadoop 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款