hadoop一些配置

hadoop笔记

 
这个配置很重要,要不然默认value是在tmp里面,总出各种连不上的毛病
<property>
  <name> hadoop.tmp.dir</name>
  <value>/var/log/hadoop/tmp</value>
  <description>A base for other temporary directories.</description>
</property>
每次都要重新 format namenode,有可能是您未設定 hadoop.tmp.dir 到其他路徑。
預設值是 /tmp/hadoop-${user.name},/tmp 重開機就會容易被清空。

常用的和重要的配置
hadoop-env
  export JAVA_HOME=/usr/lib/java
  export HADOOP_PID_DIR=/home/hadoop/hadoop-related/pids

hdfs-core
  <property> 
            <name>dfs.replication</name> 
            <value>1</value>     
</property>
<property> 
      <name>dfs.name.dir</name> 
      <value>/home/hadoop/hadoop-related/hdfs/name</value> 
</property> 
 
<property> 
      <name>dfs.data.dir</name> 
      <value>/home/hadoop/hadoop-related/hdfs/data</value> 
</property>

core-site
<property>
            <name>fs.default.name</name> 
            <value>hdfs://master:9000</value>     
</property> 
<property>     
            <name>hadoop.tmp.dir</name> 
            <value>/home/hadoop/hadoop-related/tmp</value>     
</property>

mapred-site
<property>
    <name>mapred.job.tracker</name>
    <value>nn-smt:9001</value>
    <description> </description>
</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  1 hadoop  root   33 2012-02-17 21:58 hadoop -> /usr/local/software/hadoop-0.20.2/

从上面已经看到执行过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-0.20.2,发现里面的user全变成了hadoop,这样就可以启动了!!!

-------------------------------------------------------------------------------------------------


先在任意位置,建立两个文件(最好是以hadoop用户)

hadoop@ubuntu:/usr/local/software/hadoopfile$ sudo echo "hello world">test1.txt
  hadoop@ubuntu:/usr/local/software/hadoopfile$ echo "hello hadoop">test2.txt

然后把上级目录,拷贝到hdfs系统的in目录里

  bin/hadoop dfs -put /usr/local/software/hadoopfile in

输出结果到out目录

  bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out
  bin/hadoop dfs cat out/*
  bin/hadoop dfs -cat out/*
  bin/hadoop dfs -ls out/*
  bin/hadoop dfs -ls out/part-r-00000
  bin/hadoop dfs -cat out/part-r-00000 
  cd contrib/
  cd eclipse-plugin/

hdfs = FileSystem.get(conf);默认得到的是hadoop的jar包里面的core-site.xml. 但是很多时候不起作用,特别是对hdfs,可以在src目录下面,创建一个自己的core-site.xml,写好关于hdfs的配置,就能好用了。


java.lang.IllegalArgumentException: Wrong FS: hdfs://localhost:9000/tmp/mycount/out, expected: hdfs://localhost.localdomain:9000
    at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:310)
    at org.apache.hadoop.hdfs.DistributedFileSystem.checkPath(DistributedFileSystem.java:99)
    at org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:155)
    at org.apache.hadoop.hdfs.DistributedFileSystem.delete(DistributedFileSystem.java:227)
    at org.apache.hadoop.test.MyCounter.main(MyCounter.java:47)

解决方法  sudo gedit /etc/hosts

在127.0.0.1    localhost.localdomain    localhost这一行的上面,加上一行

127.0.0.1   localhost

这样就可以匹配了。


在试验hadoop的全分布模式的时候。其实只需要修改master端的/etc/hosts和配置文件。否则的话,增加一个节点,就要修改所有节点的配置文件,就不合适了。

要修改的配置文件  包括masters 和 slaves,如果已经修改好了/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  如果eclipse.home  没有设置的话,就会跳过编译。需要在


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   然后 rm -rf org  这样做有这样一个问题,就是jsp编译成的类,也会被删除


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值