标签:hadoop 安装配置 eclipse eclipse插件
几乎因为安装配置hadoop的事弄了三四天,昨天unbuntu莫名其妙的崩溃了。好在今天及其顺利都弄好了,虽然经过了很多烦恼的问题挫折,不过他们是有意义的。
总结教训
- 一步一步来,只要遇到中间有不正常的情况,可能就是自己程序配置出了问题,哪怕绕过了以后也可能会出问题。
- 然后遇到问题,返回去看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的插件
sudo tar -zxvf jdk-8u40-linux-x64.gz
sudo mv hadoop-2.6.0 /usr/local/jdk1.8.0_40
然后
sudo gedit /etc/profile
在最后面添加
export JAVA_HOME=/usr/local/jdk1.8.0_40
export PATH=$PATH:$JAVA_HOME/bin
export 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 ssh
ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
安装ssh的主要目的是因为登陆远程主机会用ssh协议,第二行代码是自己创建了一对密钥,分别为id_dsa和id_dsa.pub。第三行代码是把公钥传递给自己的公钥目录。具体ssh这样的原理可自行百度。
3.配置Hadoop2.6.0
在你hadoop的下载目录下
sudo tar -zxvf hadoop-2.6.0.tar.gz
sudo mv hadoop-2.6.0 /usr/local/hadoop
sudo chmod -R 777 /usr/local/hadoop
然后
sudo gedit /etc/profile
在后面加入
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export 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
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
修改yarn-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property> //这个属性节点是为了防止后面eclopse存在拒绝读写设置的
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
sudo gedit /usr/local/hadoop/etc/hadoop/masters 添加:localhost
sudo gedit /usr/local/hadoop/etc/hadoop/slaves 添加:localhost
然后
创建好临时目录和datanode与namenode的目录
cd /usr/local/hadoop
mkdir tmp dfs dfs/name dfs/data
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
bin/hdfs namenode -format成功的话,最后的提示如下,Exitting with status 0 表示成功,Exitting with status 1: 则是出错。
尽量不要用start-all.sh,以为hadoop作者发现这个脚本可能有点问题。
http://localhost:50070来查看Hadoop中hdfs的信息
http://localhost:8088 查看all application的信息
然后输入以下代码可以来测试
bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/<username>
bin/hdfs dfs -put etc/hadoop input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 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开发环境
标签:hadoop 安装配置 eclipse eclipse插件
原文地址:http://blog.csdn.net/whu_sky/article/details/44202625