hadoop笔记
<property>
</property>
每次都要重新 format namenode,有可能是您未設定 hadoop.tmp.dir 到其他路徑。
預設值是 /tmp/hadoop-${user.name},/tmp 重開機就會容易被清空。
常用的和重要的配置
hadoop-env
hdfs-core
</property>
<property>
</property>
<property>
</property>
core-site
<property>
</property>
<property>
</property>
mapred-site
<property>
</property>
windows和cygwin下hadoop安装配置
http://www.zihou.me/html/2010/02/19/1525.html在windowxp下使用Cygwin安装Hadoop问题总结
http://saupb.blog.163.com/blog/static/471241782011927111144949
-----------------------------------------------------------------------------------------
修改hadoop文件夹的权限,保证hadoop用户能正常访问其中的文件
sudo chown -hR hadoop /usr/local/hadoop
在实际操作中,碰到过这样的问题/usr/local/hadoop是一个软连接
lrwxrwxrwx
从上面已经看到执行过chown命令后,用户已经是hadoop,但是启动hadoop的时候,仍然会抱错:
hadoop@ubuntu:/usr/local/hadoop$ bin/start-all.sh
mkdir: cannot create directory `/usr/local/hadoop/bin/../logs': Permission denied
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-ubuntu.out
/usr/local/hadoop/bin/hadoop-daemon.sh: line 117: /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-ubuntu.out: No such file or directory
是不能创建log目录.进入hadoop软连接指向的实际目录(/usr/local/software/hadoop-0.20.2/)后,发现里面的user还是baishuo,证明chown -hR命令,对软连接本身好使,但是对其子目录不好使.解决方法:进入实际目录的上一级:/usr/local/software 执行 sudo chown -hR hadoop hadoop-0.20.2/
-------------------------------------------------------------------------------------------------
先在任意位置,建立两个文件(最好是以hadoop用户)
hadoop@ubuntu:/usr/local/software/hadoopfile$ sudo echo "hello world">test1.txt
然后把上级目录,拷贝到hdfs系统的in目录里
输出结果到out目录
hdfs = FileSystem.get(conf);默认得到的是hadoop的jar包里面的core-site.xml. 但是很多时候不起作用,特别是对hdfs,可以在src目录下面,创建一个自己的core-site.xml,写好关于hdfs的配置,就能好用了。
java.lang.IllegalArgumentException
解决方法
在127.0.0.1
127.0.0.1
这样就可以匹配了。
在试验hadoop的全分布模式的时候。其实只需要修改master端的/etc/hosts和配置文件。否则的话,增加一个节点,就要修改所有节点的配置文件,就不合适了。
要修改的配置文件
第一次启动start-all的时候,因为各个slave还没有加入信任列表,会出一些提示。输入yes就可以了
The authenticity of host 'slave3 (192.168.1.110)' can't be established.
RSA key fingerprint is 82:05:df:99:6a:ec:2b:be:7e:f2:98:bb:fa:58:91:f1.
Are you sure you want to continue connecting (yes/no)?
比如,3个slave节点,就要输入最少3次yes。正常情况下,slave节点应该启动datanoade和tasknode
如果第一次没启动起来,stop-all以后,再start-all,就可以了。
但是这时候,master端的jvm都没有启动,有一行提示:connect to host master port 22: No route to host(后来发现,仅仅是因为/etc/hosts里的masterip设得不是本机ip
编译eclipse的mapreduce 插件
http://wiki.apache.org/hadoop/EclipsePlugIn
build.properties里面加入 eclipse.home,然后执行ant clean package
A typical $HOME/eclipse-plugin.build.properties file would contain the following entry: eclipse.home=/path/to/eclipse
如果修改源码后,eclipse里面执行的效果仍然不对,可以
cd /home/hadoop/workspace/branch-1.0/build/classes