Hadoop安装及开发环境配置

来源:互联网 发布:sql中union的用法 编辑:程序博客网 时间:2024/06/05 19:30

  最近大数据很火,也想了解一下。相关产品很多,看了一些资料,Hadoop用的比较广泛。我理解的大数据,数据量很大,大到传统的文件存储方式都无法存放,更不用说使用关系型数据库。因此大数据首先需要解决的是数据存储,Hadoop采用的是分布式文件系统HDFS,将数据文件拆分到多个服务器(数据节点datanode)上,访问和存储都由HDFS进行管理,用户使用的时候,无需关心数据文件拆分问题,完全透明(这些数据节点由一个服务器(namenode)进行管理,分配任务)。读取时将多个数据节点上的数据块通过网络发送给请求者,写入的时候同理。如此便极大提升了大数据的存取速度。

  好了,数据存储问题解决了,有了数据,总归是要使用的。问题又来了,这么大的数据量,在上面运行算法,代价也太高了。解决的方式就是分布式运算,Hadoop引入了Map-Reduce模型。可以让一个算法在多个服务器上运行,分别处理不同的数据块(执行Map算法),处理完毕将结果汇总到一个服务器上进行最终处理(执行Reduce算法)。

  大数据技术充分使用了分布式存储和分布式运算,而且大数据强调使用廉价的服务器资源,不在像传统的方式强调稳定性和可靠性,而是追求数据错误可恢复性,存储上每个数据节点都可以设置冗余节点,一旦发现某个数据节点当机,可立即切换到冗余节点。以前Hadoop的分布式存储,还只是限制在一个机房内,现在可以夸机房了,实现了真正的分布式存储(当然存取效率低了些)。

  下面说一下hadoop的配置,当前对windows的支持还不是太好,只是体验一下的话建议采用linux(我用的是CentOs7,配置hadoop单机版),少走弯路。Apache的产品都支持绿色的风格,直接下载。

1、配置之前先把系统自带的OpenJava卸载了:用rpm -qa|grep java 查询相关的包,用yum -y remove java 包名 卸载java安装包。接着到Oracle网站上下载最新的jdk1.8,将其安装到/usr/java目录.

2、将下载的Hadoop2.8解压到/usr/local下。

3、在终端输入vi ~/hash_profile,设置HADOOP_HOME和JAVA_HOME环境变量。并将$JAVA_HOME/jre/bin、$HADOOP_HOME/bin加入到系统搜索路径中。

4、配置HADOOP_HOME/etc/hadoop目录下的core-site.xml、hadoop-env.sh、hdfs-site.xml等文件(具体网上搜索一下)。这里主要配置core-site.xml时fs.defaultFS值中的IP地址设置为0.0.0.0,如果配置为具体IP地址,开发环境无法连接成功。

5、配置完毕,在终端输入sbin/start-all.sh启动dfs和yarn。

6、在浏览器中输入http://127.0.0.1:8088(查看mapreduce)和http://127.0.0.1:50070(查看hdfs)查看是否启动成功。


上面步骤进行完毕,hadoop服务启动成功。接下来我们在win7下配置开发环境。

1、下载eclipse,我从官网下下载的绿色版Luna Service Release 1 (4.4.1),解压。

2、下载Hadoop的eclipse插件hadoop-eclipse-plugin-2.7.3.jar,拷贝到eclipse解压目录中的plugins目录。

3、下载Hadoop2.8,并解压,设置环境变量HADOOP_HOME为Hadoop2.8的解压目录。

4、启动Eclipse,打开Windows->Preferences->找到Hadoop Map/Reduce项,输入Hadoop2.8的解压目录:


5、在Windows->Open Prespective选择Map/Reduce视图。

6、在Windows->Show View中找到Map/Reduce Locations,双击选中。点击右上角的小象图标,新建Map/Reduce配置项:


注意:上面两个IP地址和端口号需要与Hadoop中的配置一致。

7、在左侧Project Explorer中,展开DFS Locations,一直展开,没有提示错误,并可右键文件夹,新建文件夹和上传下载文件,即表示配置成功。


原创粉丝点击