Map Reduce什么的我是不懂啊。 今天是帮马同学搭建hadoop。 用的2.2.0版本,结果运行时发现提示 “libhadoop.so.1.0.0 which might have disabled stack guard” 的警告。 Google了一下发现是因为 hadoop 2.2.0提供的是libhadoop.so库是32位的,而我们的机器是64位。 解决的办法就是重新在64位的机器上编译hadoop。 恰好马同学刚刚步入linux用户的行列,连机器上的Ubuntu都是新装的,因此,为了编译hadoop,一切都得从头配置。
目录
- 编译环境
- Java 环境配置
- 安装依赖包
- 安装配置 protobuf
- 安装配置 maven
- 创建新用户及用户组
- 编译 hadoop 2.2.0
- 安装配置 hadoop 2.2.0
编译环境
OS: Ubuntu 12.04 64-bit
hadoop version: 2.2.0
Java: Jdk1.7.0_45
java环境配置
空白的电脑,什么都没有啊
下载 jdk : http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
在 /usr/lib/下新建jvm文件夹,将刚下的压缩文件解压到/usr/lib/jvm/目录下
修改~/.bashrc 配置环境变量
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
更新一下,使其生效
$ source .bashrc
检查一下是否配置成功
$ java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
安装依赖包
这些库啊包啊基本都会在编译过程中用到,缺少的话会影响编译,看到error了再找solution非常麻烦,提前装好一劳永逸。
$ sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
因为还要用到ssh,所以如果机器上没有的话,装个openssh的客户端就好啦 (ubuntu 12.04应该预装了)
$ sudo apt-get install openssh-client
当然想装server的话就
$ sudo apt-get install openssh-server
编译过程中还会用到protobuf 貌似需要最新的2.5.0,因此有低版本的也重新安装一下
安装配置 protobuf
下载最新的protobuf: https://code.google.com/p/protobuf/downloads/list
解压,依次运行
$ ./configure --prefix=/usr $ sudo make $ sudo make check $ sudo make install
检查一下版本
$ protoc --version libprotoc 2.5.0
安装配置 maven
ubuntu下用apt-get安装
$ sudo apt-get install maven
创建新用户及用户组
我们为hadoop创建一个新组叫“hadoop”,创建一个新用户叫“hduser”属于“hadoop”组 (网上都这么起名字,我们也跟风好了)
$ sudo addgroup hadoop $ sudo adduser --ingroup hadoop hduser
有了新用户以后,我们下面的操作就都要在新用户下完成了
$ su hduser
建立ssh信任
hadoop启动的时候要ssh访问localhost,建立信任关系省得老输密码
$ cd /home/hduser $ ssh-keygen -t rsa -P "" $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
用命令验证一下是否可以免密码链接localhost
$ ssh localhost
这是没有给rsa密钥设密码的情况,但是我觉得吧,一般还是给个密码好,可以用ssh-agent管理,以后也不许要每次都输入
$ ssh-add ~/.ssh/id_rsa.pub# 参数写成公钥了,应该传私钥进去,感谢twlkyao提醒 $ ssh-add ~/.ssh/id_rsa
编译 hadoop 2.2.0
下载 hadoop 2.2.0 http://www.apache.org/dyn/closer.cgi/hadoop/common/
解压到用户目录 /home/hduser/. 进入 hadoop-2.2.0-src 目录
因为已经安装了maven, protobuf, java环境也有了,compiler也有了所以直接运行
$ mvn package -Pdist,native -DskipTests -Dtar
正常应该不会有什么错误了, 参数和其他编译选择请看 hadoop目录下的 BUILDING.txt文件
安装配置 hadoop 2.2.0
此时编译好的文件位于 hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/ 目录中
1、安装ant,并输入ant -version测试可以正常工作
2、进入到eclipse插件包的eclipse-plugin的根目录下,路径是/home/lm/Downloads/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin
3、执行命令ant jar -Dversion=2.2.0 -Declipse.home=/home/lm/Downloads/eclipse -Dhadoop.home=/home/lm/Downloads/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0。注意这两个路径,分别是eclipse的根路径,和hadoop2.2.0的根路径
4、最终的生成jar的路径在,/home/lm/Downloads/hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-2.2.0.jar目录下
5、OK,至此已经成功完成,把此插件拷贝eclipse的插件目录下,重新启动eclipse即可。
三、配置Eclipse、Hadoop开发环境
第一步:安装Eclipse-Hadoophadoop集成插件
把hadoop-eclipse-plugin-1.1.1.jar插件放到/home/eclipse/plugins中,然后重新启动Eclipse如下图。
细心的你从上图左侧“Project Explorer”下面发现“DFS Locations”,说明Eclipse已经识别刚才放入的Hadoop Eclipse插件了。
第二步:在Eclipse中指定Hadoop的安装目录
选择“Window”菜单下的“Preference”,然后弹出一个窗体,在窗体的左侧中找到“Hadoop Map/Reduce”选项,点击此选项,选择Hadoop的安装目录(如我的Hadoop目录:/home/hadoop/hadoop-1.1.1)。结果如下图:
第三步:切换“Map/Reduce”工作目录
有两种方法:
1)、选择“Window”菜单下选择“Open Perspective–>Other”,弹出一个窗体,从中选择“Map/Reduce”选项即可进行切换。
2)、在Eclipse软件的右上角,点击图标“”中的“
”,从中选择“Map/Reduce”,然后点击“OK”即可确定。
切换到“Map/Reduce”工作目录下的界面如下图所示。
第四步:配置DFS Locations
建立与Hadoop集群的连接,在Eclipse软件下面的“Map/Reduce Locations”进行右击,弹出一个选项,选择“New Hadoop Location ”,然后弹出一个窗体。
注意上图中的红色标注的地方,是需要我们关注的地方。
Location Name:可以任意填,标识一个“Map/Reduce Location”
Map/Reduce Master
Host:xx.xx.xx.xx(Master.Hadoop的IP地址,即/home/hadoop/hadoop-1.1.1/conf/mapred-site.xml中ip)
Port:xx(即/home/hadoop/hadoop-1.1.1/conf/mapred-site.xml中端口)
DFS Master
Use M/R Master host:前面的勾上。(因为我们的NameNode和JobTracker都在一个机器上。)
Host:xx.xx.xx.xx(/home/hadoop/hadoop-1.1.1/conf/core-site.xml中ip)
Port:xxxx (/home/hadoop/hadoop-1.1.1/conf/core-site.xml中端口)
User name:hadoop(操作hadoop的用户)
接着点击“Advanced parameters”从中找到“hadoop.tmp.dir”,修改成为我们Hadoop集群中设置的地址,我们的Hadoop集群是“/home/hadoop/hadoop-datastore/”,这个参数在“core-site.xml”进行了配置。
再从中找到“fs.default.name”,修改成为我们Hadoop集群中设置的地址,我们的Hadoop集群是“hdfs://localhost:54310”,这个参数在“core-site.xml”进行了配置。
点击“finish”之后,会发现Eclipse软件下面的“Map/Reduce Locations”出现一条信息, 就是我们刚才建立的“Map/Reduce Location ”。
第五步:查看HDFS文件系统
查看HDFS文件系统,点击Eclipse软件左侧的“DFS Locations”下面的“localhost”,就会展示出HDFS上的文件结构(记得要先启动hadoop,不然看不到效果)。
到此为止,我们的Hadoop Eclipse开发环境已经配置完毕。
相关推荐
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是解决大数据处理的问题。Hadoop 2.7.4是Hadoop发展过程中的一个重要版本,它提供了许多增强特性和稳定性改进,使得大规模数据处理更加高效和...
Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不...
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是这个框架的一个稳定版本,它包含了多个改进和优化,以提高性能和稳定性。在这个版本中,Winutils.exe和hadoop.dll是两...
Apache Hadoop (hadoop-3.3.4.tar.gz)项目为可靠、可扩展的分布式计算开发开源软件。官网下载速度非常缓慢,因此将hadoop-3.3.4 版本放在这里,欢迎大家来下载使用! Hadoop 架构是一个开源的、基于 Java 的编程...
此文件为hadoop-2.7.7.tar.gz,可在linux下直接进行安装,如在windows上安装,则需要hadooponwindows-master.zip,用windows-master里的文件替换解压好后hadoop的bin和etc即可。Hadoop 2.7.7是一款开源的分布式计算...
Apache Hadoop是一个开源框架,主要用于分布式存储和计算大数据集。Hadoop 3.1.0是这个框架的一个重要版本,提供了许多性能优化和新特性。在Windows环境下安装和使用Hadoop通常比在Linux上更为复杂,因为Hadoop最初...
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。标题"hadop2.7.x_winutils_exe&&hadoop_dll"暗示我们关注的是Hadoop 2.7.x版本在Windows环境下的两个关键组件:`winutils.exe`和`...
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`...
在Hadoop生态系统中,Hadoop 2.7.7是一个重要的版本,它为大数据处理提供了稳定性和性能优化。Hadoop通常被用作Linux环境下的分布式计算框架,但有时开发者或学习者在Windows环境下也需要进行Hadoop相关的开发和测试...
在Windows环境下安装Hadoop 3.1.0是学习和使用大数据处理技术的重要步骤。Hadoop是一个开源框架,主要用于分布式存储和处理大规模数据集。在这个过程中,我们将详细讲解Hadoop 3.1.0在Windows上的安装过程以及相关...
标题 "hadoop2.6 hadoop.dll+winutils.exe" 提到的是Hadoop 2.6版本中的两个关键组件:`hadoop.dll` 和 `winutils.exe`,这两个组件对于在Windows环境中配置和运行Hadoop至关重要。Hadoop原本是为Linux环境设计的,...
在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说,它们在本地开发和运行Hadoop相关应用时必不可少。`hadoop.dll`是一个动态链接库文件,主要用于在Windows环境中提供...
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在...
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop2.6.0是这个框架的一个重要版本,它包含了多项优化和改进,以提高系统的稳定性和性能。在这个压缩包中,我们关注的是与Windows...
在Hadoop生态系统中,`winutils.exe`和`hadoop.dll`是Windows环境下运行Hadoop必备的组件,尤其对于开发和测试环境来说至关重要。这里我们深入探讨这两个组件以及与Eclipse插件的相关性。 首先,`winutils.exe`是...
Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。在提供的信息中,我们关注的是"Hadoop的dll文件",这是一个动态链接库(DLL)文件,通常在Windows操作系统中使用,用于...
Hadoop源码分析是深入理解Hadoop分布式计算平台原理的起点,通过源码分析,可以更好地掌握Hadoop的工作机制、关键组件的实现方式和内部通信流程。Hadoop项目包括了多个子项目,其中最核心的是HDFS和MapReduce,这两...