最近老大让看hadoop的,尝试着将环境搭起来,真是不搭不知道,一搭下一跳啊,几乎步步都出错啊。网上不少人的回答也是灰常的坑人啊比(如最典型的就是命令的大小写问题,如hadoop命令是小写的,很多人写出Hadoop,所以大家在遇到Command not found这类错误时,先看看是不是大小写的问题),总之过程很痛苦,好在终于搭建起来了。
我不打算重述搭建的步骤,在别的文章我也简单的介绍下,这样步骤在网络上有太多了,只是记录下自己搭建遇到的问题,备忘。
本人几乎没有在Linux环境下编过程,对于Linux也不熟悉,所以会有很多地方不对,后续慢慢更正。
环境:RedHat6(企业版)
Hadoop版本:1.04
Eclipse:3.4
模式:hadoop有三种模式,本地模式、伪分布模式、分布模式。由于只是用于学习,(条件也不允许搭建分布模式),只搭建了伪分布模式下的环境。
今天暂时把问题mark下,后续补上。
1:hadoop版本选择问题
2:ssh免密码登陆问题
3:Windows 与Linux 互ping
4:hadoop服务启动问题(start-all.sh)
5:Eclipse连接Hadoop问题(防火墙)
先mark到这吧,Linux相关的知识急需恶补~~~
问题1:版本选择问题
第一次打环境的时候用的是hadoop 0.22.0版本,后来发现这个版本少了部分jar包(不知道为何?)于是又去Apache官网上下了1.04版本,官网上介绍的时候,也提到了此版本是稳定版本。
问题2:SSH免密码登陆问题
对于这个问题,我至今也没搞定,我在同事的机器上试验了,没有问题,可是自己的机器死活还是要密码,也上网查了一些资料,大致的步骤如下,
root@localhost hadoop]# ssh-keygen -t rsa 一直按enter,就会按默认的选项将生成的密钥对保存在.ssh/id_rsa文件中
Generating public/private dsa key pair.
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
74:79:98:eb:fa:e0:53:aa:e3:1b:e4:a4:16:7a:6b:31 root@localhost
执行以下命令
[root@localhost hadoop]# cp id_rsa.pub authorized_keys
然后执行ssh localhost,可以实现用ssh连接并且不需要密码连接
如果还是需要密码,那就是权限问题,将权限设置如下:
chmod 700 /.ssh/(对应自己安装的ssh路径)
chmod 600 /.ssh/authorized_keys
一般情况下,如上操作就可以实现本机的ssh免密码登陆了(还是不行,我也不知道了,因为我自己至今还是要密码,郁闷中)
我写ssh的目的不是为了说如何设置SSH免密码登陆,而是为了说明这一步在单机模式或者伪分布模式下并不是非得必要的,因为这里没有大量集群,即使连接的时候需要密码,也只要输入几次(我在伪分布模式下只需要输入3次即可)。很多人说这个必须要需设置免密码,个人觉得这话有点误导人,至少误导了我,我在ssh设置上花了大概一天的时候,还没搞定。其实如果只是出于学习Hadoop 的需要,如果在这一步上卡壳了,那就先别管他了吧,后续自己看看能不能再解决。(当然,如果能成功的设置的ssh免密码登陆那是最好的了)
问题3:Windows 与Linux 互ping
如果你跟我一样,习惯在Windows下进行开发,想在Windows-Eclipse下开发程序,那么这一步是必须的,至少要保证在Windows下ping通Linux。我也不敢细说这部分内容,怕误导了人,下面这个步骤是我在网上找到的,暂时这么用的,但是我不能保证合理性
转自:http://blog.163.com/shixw_2000/blog/static/183884421201211492215617/
首先,介绍如何在VMWARE中设置LINUX的网络。一般网络选项有Bridged, NAT, host-only几种。本次以我实现的host-only为样本来做详细说明,如下图:
在选择host-only模式之后,打开VMWARE的网络属性编辑窗口,就可以看到VMnet1网卡已经可见。
此处VMnet1可以设置Subnet的IP为192.168.0.0, mask为255.255.255.0。
关于DHCP选项,此处可以不管,因为我在LINUX虚拟机上是用yast来配置静态的ip,如:192.168.0.222(注意:这个静态IP地址必须与Subnet上设置的IP地址在同一网段),如图:
关于选项中的NAT设置,我是严格按照网络上的建议,设置Gateway IP Address为192.168.0.1(实际上,我也尝试过使用192.168.0.*的任一IP,只要不与主机及linux虚拟机的ip冲突,都没问题)。如下图
基本上做完上述VMWARE虚拟机的配置,LINUX侧的基于host-only模式的网络配置就可以了。
然后再配置WINDOW本机上新增的网络接口卡VMnet1。此处也只需设置其ip地址为192.168.0.2(必须与之前Subnet ip在同一网段)。如下图:
至此,WINDOWS本机与LINUX虚拟机之间的网络设置就完成了。
当然,仅是如上的设置,可能还不能保证就可以实现WINDOWS与LINUX的ping互通问题。这其中就涉及到双方的防火墙问题了。
1、WINDOS侧存在防火墙。如果你发现WINDOWS可以ping通LINUX,而LINUX不能ping通WINDOWS,则应该是你WINDOWS本机上防火墙策略导致的问题。我本次也是被这个问题折磨了好长一段时间,直到关闭了WINDOSW本机的防火墙,终于就实现ping互通了。关闭本机WINDOWS防火墙的关闭方法如下:
开始 -> 控制面板 -> 系统和安全 -> Windows防火墙 -> 打开或关闭Windows防火墙 -> 关闭Windows防火墙
2、LINUX侧存在防火墙。此时可能出现LINUX能ping通WINDOWS,但是windows却不能ping通LINUX。
检查LINUX是否有防火墙的方法是:
iptables -L 命令查看当前LINUX系统的策略。
我这里不需要各种防火墙策略,因此直接简单设置防火墙规则如下:
iptables -F //清空当前防火墙规则
iptables -X //删除系统配置的所有防火墙规则
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
只要配置成开机自动执行上述命令,则启动后LINUX系统当前的防火墙策略就如下:
现在,就可以实现WINDOWS <-> LINUX系统之间的IP互通了。在LINUX上开启ssh服务,samba服务,都可以从WINDOWS上正常登陆了。
4:hadoop服务启动问题(start-all.sh)
在hadoop1.0后,已经不建议使用start-all.s和stop-all.sh命令了,而是用start-dfs.sh start-mapred.sh 和stop-dfs.sh stop-mpared.sh这两组命令来实现服务的启动和关闭。
提示:在hadoop第一次启动之前,需要格式化namenode。(只有安装好环境第一次使用才进行此操作,如果后续又格式化了,那么会出现datanode于namenode命名空间不一致的错误,解决的方法也很简单,只需要手动的修改其中的任何一个使其一致就可以了,如何修改,也请看网上吧,很多的)
5:Eclipse连接Hadoop问题(防火墙)
使用Eclipse(Windows环境下)连接到Linux时,本人遇到了两个问题,导致连不上,一个是由于Linux的防火墙设置导致的,我参照第三步的防火墙设置可以解决问题,但是显然不太好,有更好的处理方式,就用更好的吧。第二个问题是由于权限不够,这个问题,在我另一篇hadoop搭建篇有详细的介绍。再次就不累述了~
分享到:
相关推荐
Hadoop开发环境搭建Win8+Eclipse+Linux.pdf
总结来说,通过Cygwin和Eclipse搭建Hadoop的单机开发环境,可以方便地在Windows环境下进行Hadoop的开发和测试。理解每个步骤和组件的作用,以及它们之间的相互配合,对于成功建立和优化这个环境至关重要。同时,定期...
5. **安装与配置**:使用这个压缩包,开发者需要首先在32位Linux环境下安装Eclipse Kepler,然后将提供的插件导入到Eclipse中,按照指定步骤进行配置,以实现Hadoop开发环境的搭建。 6. **应用场景**:此组合常用于...
在本教程中,我们将深入探讨如何使用Cygwin和Eclipse搭建Hadoop的单机开发环境,以便在Windows操作系统上进行高效的数据处理和分析。Cygwin是一个提供Linux-like环境的开源工具集,使得Windows用户可以运行原本为...
在本教程中,我们将深入探讨如何使用Cygwin和Eclipse搭建Hadoop的单机开发环境,这将有助于你理解Hadoop的基础知识以及如何在Windows操作系统上进行开发和测试。Cygwin是一个在Windows上模拟Linux环境的工具,它允许...
标题"hadop2+eclipse+win7开发所需环境"指的是在Windows 7操作系统上,使用Eclipse集成开发环境进行Hadoop 2.x应用程序的开发所需的一系列配置和工具。在这样的环境中,开发者可以编写、测试和调试Hadoop MapReduce...
在Windows操作系统上搭建Hadoop开发环境,通常会借助于Cygwin模拟Linux环境,并通过Eclipse作为集成开发环境。本文将详细介绍如何在Windows 7 32位系统中使用Cygwin和Eclipse来构建一个Hadoop的单机开发环境。 首先...
在搭建Hadoop伪分布式环境时,如果没有显式设置`hadoop.tmp.dir`字段,其默认值一般为`/tmp/hadoop-<username>`,在该目录下Hadoop的dfs以及mapred数据都会被存储。然而,`/tmp`目录在系统关闭时会被清空,导致数据...
总结,这个压缩包提供了一个完整的Linux环境下基于JDK1.7和Hadoop2.6.0的开发环境,通过Hadoop-Eclipse-Plugin2.6.0,开发者可以在Eclipse中无缝地进行Hadoop应用的开发和调试,极大地提升了开发效率和工作体验。
在Linux环境下搭建Hadoop并配置Eclipse开发环境是大数据处理工作中的重要步骤。Hadoop是一个开源的分布式计算框架,主要用于处理和存储大规模数据。而Eclipse是一款强大的集成开发环境(IDE),通过特定的插件可以...
### Hadoop开发环境搭建知识点详解 #### 一、Hadoop简介及重要性 Hadoop是一个开源的分布式计算框架,能够高效地处理大规模数据集。它主要由两大部分组成:Hadoop Distributed File System (HDFS) 和 MapReduce。...
总结起来,Hadoop Eclipse Plugin 2.2.0是Hadoop开发者不可或缺的工具,它将强大的Eclipse IDE与Hadoop的分布式计算能力紧密结合,极大地简化了开发流程,提高了开发效率。无论是初学者还是经验丰富的开发者,都能...
至此,你已经在Win7+Eclipse+Ubuntu的环境中搭建起了Hadoop的单机开发环境。你可以使用Eclipse的Hadoop插件(如Hadoop Eclipse Plugin)来编写、调试和运行Hadoop MapReduce程序。记住,这只是一个基本的配置,实际...
尽管Hadoop通常在Linux环境下运行,但通过模拟层也可以在Windows上搭建。"把hadoop.dll和winutile.exe放到hadoop的bin文件夹里.zip"提供了适用于Windows的Hadoop二进制文件。解压后,将这两个文件移动到Hadoop安装...
搭建Hadoop开发环境,无论是单机模式还是伪分布式模式,都需要准备一些基础软件和环境。单机模式仅用于开发和测试,它在本地运行所有Hadoop守护进程;伪分布式模式将守护进程部署在单个机器上,但是每个守护进程都...
总结来说,"Hadoop搭建与eclipse开发环境设置"涉及到的是大数据处理领域中的基础工作,理解并掌握这些内容对于进行Hadoop相关的开发工作至关重要。通过搭建Hadoop环境,开发者能够实践和理解分布式计算原理,而在...
VM虚拟机下配Eclipse+JDK+Tomcat+Hadoop环境搭建 了解VM虚拟机的安装和配置是非常重要的,因为它可以为我们提供一个独立的操作系统环境,方便我们进行开发和测试。在本文中,我们将详细介绍如何在VM虚拟机中安装和...
7. **MapReduce编程**:如果你打算在Windows上进行MapReduce编程,还需要配置开发环境,包括设置Hadoop的类路径,以及使用IDE(如IntelliJ IDEA或Eclipse)的Hadoop插件。 8. **安全性与认证**:在生产环境中,你...