Hadoop2.6.0+eclipse安装配置

几乎因为安装配置hadoop的事弄了三四天,昨天unbuntu莫名其妙的崩溃了。好在今天及其顺利都弄好了,虽然经过了很多烦恼的问题挫折,不过他们是有意义的。

第一次配置是用hadoop2.52的版本,可能是配置文件的问题,当时没有发现,但是看到做wordcount那个例子时遇到bin/hdfs dfs -put etc/hadoop input这条命令时总会出现 No such file or directory.我一开始以为是路径问题,没有在意。后面也遇到了,,我都是修改路径就好了。其实遇到这个问题时就应该发现之前装的是有问题的,这是因为namenode没有启动,导致了不会再你自己的子目录下新建/user/username这个文件夹。第二次是配置是因为没有datanode,导致发现没有datanode节点做mapreduce,localhost:50070一直进不去,但我步骤都对,所以一直重复步骤还是打不开,用jps只看到了jps一个进程,其实是namenode,datanode都没有打开。

总结教训 – 一步一步来,只要遇到中间有不正常的情况,可能就是自己程序配置出了问题,哪怕绕过了以后也可能会出问题。 – 然后遇到问题,返回去看log,通过log里的错误信息来解决。 – 有官方文档尽量看官方文档。

来正式说配置的事: 我是在linux环境下,Ubuntu14.04下配置的 资源:java+eclipse+hadoop2.6.2 里面包括了,Java(1.7和1.8都有,我用的1.8),eclipse,hadoop2.6.2 还有eclipse的hadoop2.6.0的插件

配置java 以jdk-8u40-linux-x64.gz为例,在你的java下载目录下sudo tar gzsudo mv hadoop/usr/local/jdk1.8.0_40

然后

sudo gedit /etc/profile

在最后面添加

export JAVA_HOME=/usr/local/jdk1.8.0_40export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

第一行代码目的是加环境变量,可以用JAVA_HOME代替/usr/local/jdk1.8.0_40这个地址,后面就可以少写一点。 第二行代码目的是,为了方便运行java程序,这样涉及到程序软件要调用java时,只需要用java -arg 就可以,而不用找java的路径。 第三行代码的目的是,当需要用到jar的包时,系统会自动从classpath的路径里寻找加载 然后 source /etc/profile 重新编译一遍profile就安装好了java。可输入

java -version

来测试

2.安装ssh

sudo apt-get install sshssh~/.ssh/id_dsacat ~ssh/authorized_keys

安装ssh的主要目的是因为登陆远程主机会用ssh协议,第二行代码是自己创建了一对密钥,分别为id_dsa和id_dsa.pub。第三行代码是把公钥传递给自己的公钥目录。具体ssh这样的原理可自行百度。

3.配置Hadoop2.6.0 在你hadoop的下载目录下

sudo tar tar.gzsudo mv hadoop/usr/local/hadoopsudo chmod -R 777 /usr/local/hadoop

然后

sudo gedit /etc/profile

在后面加入

export HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin

而后

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

将JAVA_HOME的值改为/usr/local/jdk1.8.0_40

然后修改 etc/hadoop/core-site.xml

>hadoop.tmp.dir>Abase for other temporary directories.>></configuration>

修改mapred-site.xml

>mapred.job.tracker> </configuration>

修改yarn-site.xml

>mapreduce.framework.name>>mapreduce_shuffle>

修改hdfs-site.xml

>dfs.replication>>file:/usr/local/hadoop/dfs/name>><property>//这个属性节点是为了防止后面eclopse存在拒绝读写设置的> </configuration>

sudo gedit /usr/local/hadoop/etc/hadoop/masters 添加:localhost

sudo gedit /usr/local/hadoop/etc/hadoop/slaves 添加:localhost

然后 创建好临时目录和datanode与namenode的目录

cd /usr/local/hadoopmkdir tmp dfs dfs/name dfs/databin/hdfs namenode -formatsbin/start-dfs.shsbin/start-yarn.sh

bin/hdfs namenode -format成功的话,最后的提示如下,Exitting with status 0 表示成功,Exitting with status 1: 则是出错。 尽量不要用start-all.sh,以为hadoop作者发现这个脚本可能有点问题。 :50070来查看Hadoop中hdfs的信息 :8088 查看all application的信息

然后输入以下代码可以来测试

bin/hdfs dfs -mkdir /userbin/hdfs dfs -mkdir /user/<username>bin/hdfs dfs -put etc/hadoop inputbin/hadoop jar share/hadoop/mapreduce/hadoopjar grep input output ‘dfs[a-z.]+’bin/hdfs dfs -cat output/*

正常情况下会有wordcount的输出结果

4.配置eclipse 下载完eclipse和其插件后,先解压缩eclipse然后 把hadoop-eclipse-plugin-2.6.0.jar这个文件放在eclipse/plugins这个目录下。 具体配置可以参照这个文档,我也是照着配的,原博是2.4.0的,我试过,2.6.0也是一样的配置。 Eclipse下搭建Hadoop2.6.0开发环境

即使是不成熟的尝试,也胜于胎死腹中的策略。

Hadoop2.6.0+eclipse安装配置

相关文章:

你感兴趣的文章:

标签云: