`
haoningabc
  • 浏览: 1449333 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hadoop最基本配置及build(ant代理)

阅读更多
网上的大多数都是hadoop-site.xml
20的版本,分成了3个配置文件,core-site.xml,hdfs-site.xml,mapred-site.xml,
默认的在core.jar里面,源码在
hadoop-0.20.2\src\core\core-default.xml
hadoop-0.20.2\src\mapred\mapred-default.xml
hadoop-0.20.2\src\hdfs\hdfs-default.xml
core.jar里面还打了个hadoop-metrics.properties不知道干什么的
bin.tgz是把bin目录下的东西打包了,这样就能用了?
还有两个slaves,masters也相关
5个最基本的比较重要
1.fs.default.name
2.hadoop.tmp.dir
3.mapred.job.tracker
4.dfs.name.dir
5.dfs.data.dir
6.dfs.http.address


core-site.xml中hadoop.tmp.dir为临时目录,如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个hadoop.tmp.dir中了
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://192.168.200.12:8888</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/Administrator/tmp</value>
        </property>
</configuration>

hdfs-site.xml中
dfs.http.address提供web页面显示的地址和端口默认是50070,ip是namenode的ip
dfs.data.dir是datanode机器上data数据存放的位置,没有则放到core-site.xml的tmp目录中
dfs.name.dir是namenode机器上name数据粗放的位置,没有则放到core-site.xml的tmp目录中
<property>
    <name>dfs.hosts.exclude</name>
    <value>conf/excludes</value>
</property>这个不知道是啥,放上报错就去掉了
<configuration>
  <property>
    <name>dfs.http.address</name>
    <value>192.168.200.12:50071</value>
  </property>
  <property>
    <name>dfs.balance.bandwidthPerSec</name>
    <value>12582912</value>
  </property>
  <property>
    <name>dfs.block.size</name>
    <value>134217728</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/home/Administrator/data/</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.datanode.du.reserved</name>
    <value>1073741824</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.datanode.handler.count</name>
    <value>10</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.name.dir</name>
    <value>/home/Administrator/name/</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.namenode.handler.count</name>
    <value>64</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.permissions</name>
    <value>True</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>

mapred-site.xml内容为,mapred.job.tracker为jobtracker的ip和端口
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>192.168.200.12:9999</value>
        </property>
</configuration>

常见问题:
一。防火墙在学习阶段就全关了吧,iptables -L查看 ,网络问题1.互信;2.iptables
二。如果调用./bin/hadoop namenode -format前最好清空/tmp目录和基本配置中的目录(否则有可能运行后dfsadmin -report显示全0)
三。logs很重要,没事就看看,job那个总出问题


看到hadoop中用了ivy,下了个apache-ivy-2.2.0
需要把ivy-2.2.0.jar放到ant的lib目录,比如D:\oracle\apache-ant-1.8.1\lib
可以用apache-ivy-2.2.0\src\example\hello-ivy下ant看ivy是否好使
参考http://www.iteye.com/wiki/ivy/1945-ivy-tutorials-quick-start

----------------★★---------------
因为有代理,所以ant配合ivy有问题
上网找的http://liu-hliang.iteye.com/blog/456664
改了之后不好使啊
又找到https://issues.apache.org/jira/browse/IVY-529
拿apache-ivy-2.2.0\src\example\hello-ivy>apache-ivy-2.2.0\src\example\hello-ivy为例子
在<ivy:retrieve/>前加入proxy,并加depends="proxy"解决
<target name="proxy">
	<property name="proxy.host" value="代理的ip地址"/>
	<property name="proxy.port" value="8080"/>
	<input message="Please enter proxy username" addproperty="proxy.user" />
	<input message="Please enter proxy password - NOTE: CLEAR TEXT" addproperty="proxy.pass"/>
	<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>
</target>
<target name="resolve" depends="proxy" description="--> retreive dependencies with ivy">
	<ivy:retrieve/>
</target>

在hadoop-0.20.2\build.xml中
找到<target name="ivy-download" ...
修改为
<target name="proxy">
	<property name="proxy.host" value="代理的ip地址"/>
	<property name="proxy.port" value="8080"/>
	<input message="Please enter proxy username" addproperty="proxy.user" />
	<input message="Please enter proxy password - NOTE: CLEAR TEXT" addproperty="proxy.pass"/>
	<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>
</target>
<target name="ivy-download" depends="proxy" description="To download ivy" unless="offline">
    <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
</target>

---------------★★------------------
ant之后
\hadoop-0.20.2\src\hdfs,hadoop-0.20.2\src\mapred,hadoop-0.20.2\src\core下的所有代码会变成hadoop-0.20.2\build\hadoop-0.20.3-dev-core.jar替换原来的hadoop-0.20.2-core.jar即可
如果用eclipse创建工程,build path--source--Link Source选上面三个目录(如果看例子可以引个examples目录),lib引用\hadoop-0.20.2\lib下的所有jar和外面的除了core.jar,还需要个ant.jar,
-------------★★----------------------
hadoop还用到了这个东西The JR Concurrent Programming Language
http://www.cs.ucdavis.edu/~olsson/research/jr/
安装http://www.cs.ucdavis.edu/~olsson/research/jr/versions/2.00602/install.html
这有个helloworld
http://developer.51cto.com/art/201006/208197.htm
尝试一下jr windows上跑需要perl,放redhat5上测试,把jr.zip解压到/usr/local/hadoop/
设置环境变量
export CLASSPATH=$CLASSPATH:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar:.
export JR_HOME=/usr/local/hadoop/jr
export PATH=$PATH:/usr/local/hadoop/jr/bin:/usr/local/hadoop/jr/jrv

cd /usr/local/hadoop/jr/vsuite
[root@122226 vsuite]# jrv quick
Starting JRV
JR_HOME= /usr/local/hadoop/jr
JRC=     perl "/usr/local/hadoop/jr/bin/jrc"
JRRUN=   perl "/usr/local/hadoop/jr/bin/jrrun"
JAVAC=   "/usr/java/jdk1.6.0_23/bin/javac"
JAVA=    "/usr/java/jdk1.6.0_23/bin/java"
ccr2jr=  perl "/usr/local/hadoop/jr/bin/ccr2jr"
csp2jr=  perl "/usr/local/hadoop/jr/bin/csp2jr"
m2jr=    perl "/usr/local/hadoop/jr/bin/m2jr"
WHICH=   /usr/bin/which
CMP=     perl "/usr/local/hadoop/jr/bin/cmp.pl"
GREP=    perl "/usr/local/hadoop/jr/bin/grep.pl"
SORT=    perl "/usr/local/hadoop/jr/bin/sort.pl"
TAIL=    perl "/usr/local/hadoop/jr/bin/tail.pl"
jr compiler version "2.00602 (Mon Jun 1 10:59:20 PDT 2009)"
jr rts      version "2.00602 (Mon Jun 1 10:59:25 PDT 2009)"
HOST= 122226
Start Directory= /usr/local/hadoop/jr/vsuite
JR.JRT = /usr/local/hadoop/jr/classes/jrt.jar 
  -rw-r--r--   1 root     root       2090324 Jun  2  2009 /usr/local/hadoop/jr/classes/jrt.jar
JR.JRX = /usr/local/hadoop/jr/classes/jrx.jar 
  -rw-r--r--   1 root     root        227198 Jun  2  2009 /usr/local/hadoop/jr/classes/jrx.jar
Operating System= 
original CLASSPATH= /usr/java/jdk1.6.0_23/lib:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar:.
jrv sets CLASSPATH= .:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar
DATE= Thu Oct 14 20:14:21 2010
quick/baby:
    expected 0, got 1 from jrrun <null
quick/fact_2:
    expected 0, got 1 from jrrun <null
quick/misc_invocation_count_st_by_0:
    expected 0, got 1 from jrrun <null
DATE= Thu Oct 14 20:14:34 2010
Elapsed time (hh:mm:ss)= 00:00:13
[root@122226 vsuite]# pwd
/usr/local/hadoop/jr/vsuite


分享到:
评论

相关推荐

    hadoop1.1.2 eclipse 插件

    ${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/&gt; ${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="$...

    hadoop-eclipse-plugin-2.10.0.jar

    Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...

    hadoop-lzo-master

    将生成的 build/hadoop-lzo-0.4.15.jar cp 到 /usr/local/hadoop-1.0.2/lib 测试解压程序 bin/hadoop jar /usr/local/hadoop-1.0.2/lib/hadoop-lzo-0.4.15.jar ...

    hadoop-eclipse-plugin-1.1.2.jar

    hadoop 1.1.2 的eclipse 插件 经测试可用 如不可用 可以参考如下自行编译 首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${...在${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 执行 ant jar

    hadoop1.0.4 eclipse插件

    hadoop1.0.4的eclipse插件 内有ant的两个文件 和编译方法说明 但愿用的上

    eclipse-hadoop3x

    hadoop3x-eclipse-插件 hadoop 3.xx的eclipse插件 如何建造 [hdpusr @ demo hadoop2x-eclipse-plugin] $ cd src / contrib / eclipse-plugin ...$ {hadoop2x-eclipse-plugin} /build/contrib/eclipse-plugin/hadoop-ec

    Hadoop2.7.2 编译64位源码(小白都能看的懂!!!全网最详细!!!)

    一、环境准备 1.CentOS配置 最好是用新克隆的虚拟机 ,虚拟机内存设置大一点(我设置的4G),...(3)apache-ant-1.9.9-bin.tar.gz(build工具,打包用的) (4)apache-maven-3.0.5-bin.tar.gz (5)protobuf-2.5.0.ta

    hadoop2x-eclipse-plugin-master:hadoop2x-eclipse-plugin-master

    2、执行编译命令:ant jar -Dversion=2.6.0 -Declipse.home=D:\desktop\eclipse -Dhadoop.home=D:\desktop\hadoop-2.6.0 其中Declipse.home为ecipse根目录,Dhadoop.home为hadoop根目录 3、等待编译成功,出现如下...

    Hadoop学习笔记(一)Hadoop快速入门:3.编译

    1. 前期准备工作1.1 CentOS联网配置CentOS能连接外网。Linux虚拟机pingwww.baidu.com是畅通的注意...ant-1.9.9-bin.tar.gz(build工具,打包用的)(4)apache-maven-3.0.5-bin.tar.gz(5)protobuf-2.5.0.tar.gz(序列

    Airplane-MapReduce:探索hadoop mapreduce进行航空公司延误分析的项目

    要构建项目类型: ant为了构建项目,可能必须将build.xml中的lib.dir属性设置为hadoop库的位置。运行Q1-Q6 通过运行脚本run.sh并向其传递输出文件名称的参数,可以回答关于分配的问题1-6。 cat run.sh ...# Run Q1 ...

    PyHive2:Python Hive 与 JDBC 集成

    PyHive2 PyHive2 是一个 Python 包,通过 HIVE 查询促进分布式计算。 PyHive2 允许在 Python 中轻松使用 HQL(Hive SQL),并允许在 ...使用 ant 构建 java 文件: ant build 构建 PyHive2: python setup.py build

    United-States-Census-Data-Analysis-using-MapReduce

    我所有的代码都放在一个包结构中: cs455 / hadoop / census,支持的jar文件位于cs455 / hadoop / census /文件夹中提供的build.xml文件将编译所有java文件并创建jar文件输入$ ant创建jar文件该代码带有注释。

    sqoop-orc-import

    使用ant build Usage 在import命令中,增加: --as-orcdatafile Examples sqoop import -D hadoop.job.history.user.location=none --connect 'jdbc:sqlserver://...' --table {talbeName} --columns ... --target-...

    SIDR:过去SC '13论文的工作仍在继续

    西德 ... 我们正在开发此代码的功能更完整的版本,应于短期内发布(2013年10月)... sudo apt-get install ant-contrib build-essential git maven python-software-properties autoconf libtool 导出CLASSPATH = $ CLASSP

    sqoop:Apache Sqoop的镜像

    这是Sqoop(SQL到Hadoop)工具。 Sqoop允许在数据库和HDFS之间轻松导入和导出数据集。更多文件Sqoop附带其他文档:用户指南和手册页。 两者的asciidoc来源都在src/docs/ 。 运行ant docs以构建文档。 它将在build/...

Global site tag (gtag.js) - Google Analytics