您的位置:首页 > 运维架构

Hadoop安装及开发环境配置

2017-07-01 11:03 211 查看
  最近大数据很火,也想了解一下。相关产品很多,看了一些资料,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,一直展开,没有提示错误,并可右键文件夹,新建文件夹和上传下载文件,即表示配置成功。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: