1、ubuntu 下 安装配置 hadoop 1.0.4第一次搞 hadoop,折腾我 2 天,功夫不负有心人,终于搞好了,现在来分享下,我的环境操作系统:wmv 虚拟机中的 ubuntu12.04hadoop 版本:hadoop-1.0.4( 听说是稳定版就下了)eclipse 版本:eclipse-jee-indigo-SR2-win321.先安装好 jdk,然后配置好 jdk 的环境变量,在这里我就不累赘了!网上多的是2.安装 ssh 这个也不用说了2.把 hadoop-1.0.4.tar.gz 拖到虚拟机中,解压,比如: /home/wys/Documents/hadoop-1.0.4/
2、(有的还单独建了个用户 ,为了舍去不必要的麻烦我都是用 root 用户来操作的)3.修改 hadoop-1.0.4/conf 下面的 core-site.xml 文件,如下:fs.default.namehdfs:/192.168.116.128:9000hadoop.tmp.dir/home/wys/Documents/tmp192.168.116.128 这个是虚拟机中 ubuntu 的 ip,听说用 localhost,127.0.0.1 都不行,我没试过,直接写上 ip 地址了tmp 是预先创建的一个目录4.修改 hadoop-env.sh把 export JAVA_HOME=xxxx
3、xx 这行的#号去掉,写上 jdk 的目录路径5.修改 hdfs-site.xml 如下:dfs.replication1dfs.permissionsfalse说明:为了以后用 eclipse 开发出现各种问题,就把权限关了!6.修改 mapred-site.xmlmapred.job.tracker192.168.116.128:9001这里我也用了本机 ip7.启动 hadoop为了方便启动,我就把 hadoop 配置到了环境变量( 配置完记得重启):export HADOOP_HOME=/home/wys/Documents/hadoop-1.0.4export JAVA_HOME=/
4、home/wys/Documents/jdk1.6.0_24export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$HADOOP_HOME/bin把这个复制到/etc/profile 文件中 HADOOP_HOME JAVA_HOME 根据实际情况而定!重启之后格式化分布式文件系统:hadoop namenode -format接着启动 hadoop:start-all.sh成功后会看到一下信息:starting namenode, logging to /home/wys/Documents/hadoop-1.0.4/libexec/logs/h a
5、doop-root-namenode-ubuntu.outlocalhost: starting datanode, logging to /home/wys/Documents/hadoop-1.0.4/libexec/logs/hadoop-root-datanode-ubuntu.outlocalhost: starting secondarynamenode, logging to /home/wys/Documents/hadoop-1.0.4/libexec/logs/hadoop-root-secondarynamenode-ubuntu.outstarting jobtrack
6、er, logging to /home/wys/Documents/hadoop-1.0.4/libexec/logs/hadoop-root-jobtracker-ubuntu.outlocalhost: starting tasktracker, logging to /home/wys/Documents/hadoop-1.0.4/libexec/logs/hadoop-root-tasktracker-ubuntu.out现在就可以在浏览器中输入地址:http:/192.168.116.128:50030http:/192.168.116.128:50070均可以查看到一些信息假如这
7、个 http:/192.168.116.128:50070 地址无法访问 是因为 hadoop.tmp.dir 这个没指定文件夹至此 hadoop 已安装配置完成!Eclipse 连接 hadoop 开发程序入门前面一遍博文介绍了如何安装配置 hadoop地址:http:/ eclipse 如何连接 hadoop 开发由于我用的是虚拟机中的系统来做测试,多少有点不正确,还请谅解!1.首先 要下载 eclipse hadoop 插件我用的是 hadoop 1.0.4 的版本, 这里有个已经做好了的版本下载地址:hadoop-eclipse-plugin-1.0.4.jar下载下来直接把 jar
8、文件放到 eclipse/plugins/文件夹中,然后重启 eclipse2.之后会到看到 如下图:然后设置下右边的 hadoop 根目录没有的话说明插件没安装成功!3.切换到 Map/Reduce 视图:下面有个黄色的大象:4.右击新建一个 hadoop 地址把红框的都填下:Location name : 这个随便写个Map/Reduce host port: 这 2 个是要根据 conf/mapred-site.xml 这个来定的DFS Master port: 这个是对应你 conf/core-site.xml 这个文件中 fs.default.name 这个属性的值右边的 Advan
9、ced parameters 就不用改了!完成后再看工程视图:一步一步展开 DFS Locations当出现 ConnectException 异常时,只要检查下你写的地址跟端口是否跟 hadoop 配置文件中一样即可!5.连接成功之后类似这个样子:6.新建一个 MapReduce Project把hadoop-1.0.4srcexamplesorgapachehadoopexamplesWordCount.java 复制到你的工程7.在 eclipse 里,创建远程目录命名为 wordCount,建完之后刷新就可以看到了8.然后从本地上传一个 word.txt 文件word.txt 内容:j
10、ava c+ python cjava c+ javascript helloworld hadoopmapreduce java hadoop hbase 当出现 org.apache.hadoop.hdfs.server.namenode.SafeModeException: 异常,这时就要把 hadoop 安全模式关闭 , 命令:hadoop dfsadmin safemode leave9.上传之后 run as WordCount.java 记得带上参数,用空格隔开这个时候会出现 Exception in thread “main“ java.io.IOException: Fail
11、ed to set permissions of path: tmphadoop-wysmapredstagingwys1479426331.staging to 0700 异常,是因为没有权限,网上说替换 hadoop-core-xx.jar 包中的org.apache.hadoop.fs.FileUtil.class 文件,除此之外我还没找到其他的方法了!文件地址:FileUtil10.替换之后刷新工程,再次执行 WordCount.java 文件当控制台打印下面这些说明已经执行成功!再看 DFS Locations下面会多出来一个文件夹和 2 个文件, 打开 part-r-00000 文件这个就是你想要的:恭喜你,此时大功告成!