Hello Tez

Tez

http://www.infoq.com/cn/articles/apache-tez-saha-murthy

http://hortonworks.com/blog/apache-tez-a-new-chapter-in-hadoop-data-processing/

http://www.cnblogs.com/fxjwind/p/3377695.html

http://zcdeng.iteye.com/blog/1897208

http://blog.sequenceiq.com/blog/2014/09/23/topn-on-apache-tez/

 

1) 编译protobuffer

$ tar zxf protobuf-2.5.0.tar.gz

$ cd protobuf-2.5.0

$ ./configure && make && sudo make install

$ protoc --version

libprotoc 2.5.0

2) 修改nodejs和npm的版本

由于本机已经安装了node.js和npm

[email protected]:~$ node --version

v0.10.33

[email protected]:~$ npm --version

1.4.28

为了和版本一致, 修改tez-ui的pom.xml. 试过注释掉<!--NPM Install-->那段代码, 但是会报错.

<properties>

<webappDir>src/main/webapp</webappDir>

<!-- /usr/local/bin/node -->

<node.executable>${basedir}/src/main/webapp/node/node</node.executable>

<fileName>${artifactId}-${parent.version}</fileName>

<nodeVersion>v0.10.33</nodeVersion> <!--v0.10.18  1.3.8-->

<npmVersion>1.4.28</npmVersion>

</properties>

3) 编译tez

[email protected]:~/github/apache/tez$ mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true

Tez on YARN

http://blog.woopi.org/wordpress/?p=96

http://hadooptutorial.info/apache-tez-successor-mapreduce-framework/

http://blog.csdn.net/teddeyang/article/details/19564603

$ cd /home/hadoop/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT

$ mkdir conf

$ hadoop fs -mkdir /apps

$ hadoop fs -mkdir /apps/tez

$ hadoop fs -put /home/hadoop/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT /apps/tez

$ vi conf/tez-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>

<name>tez.version</name>

<value>tez-0.7.0-SNAPSHOT</value>

</property>

<property>

<name>tez.lib.uris</name>

<value>${fs.default.name}/apps/tez/${tez.version},${fs.default.name}/apps/tez/${tez.version}/lib/</value>

</property>

</configuration>

$ vi ~/.bashrc

export TEZ_HOME=/home/hadoop/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${TEZ_HOME}/conf:${TEZ_HOME}/*:${TEZ_HOME}/lib/*

另一种方案是复制tez-site.xml到$HADOOP_HOME/etc/hadoop下, 并修改hadoop-env.sh文件. 这种侵入性大, 不建议.

vi ${HADOOP_INSTALL}/etc/hadoop/hadoop-env.sh

export HADOOP_CLASSPATH=$HADOOP_HOME:$HADOOP_HOME/etc/hadoop

for f in /home/hadoop/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT/*.jar; do

if [ "$HADOOP_CLASSPATH" ]; then

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f

else

export HADOOP_CLASSPATH=$f

fi

done

for f in /home/hadoop/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT/lib/*.jar; do

if [ "$HADOOP_CLASSPATH" ]; then

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f

else

export HADOOP_CLASSPATH=$f

fi

done

可选步骤:

$ vi ${HADOOP_HOME}/etc/hadoop/mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn-tez</value>

</property>

Tez WorldCount

$ stop-yarn.sh

$ start-yarn.sh

$ cd ~/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT

$ hadoop fs -put ~/data/helloworld.txt /input/tez

$ hadoop jar tez-examples-0.7.0-SNAPSHOT.jar orderedwordcount /input/tez/helloworld.txt /output/tez/helloworld

[email protected]:~/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT$ hadoop fs -ls /output/tez/helloworld

-rw-r--r--   3 hadoop supergroup          0 2015-01-20 19:33 /output/tez/helloworld/_SUCCESS

-rw-r--r--   3 hadoop supergroup        130 2015-01-20 19:33 /output/tez/helloworld/part-v002-o000-00000

[email protected]:~/github/apache/tez/tez-dist/target/tez-0.7.0-SNAPSHOT$ hadoop fs -cat /output/tez/helloworld/part-v002-o000-00000

again
1

system.
1

Spark
1

system,
1

process
1

Now
1

hot
1

today
1

batch
1

also
1

..
2

bigdata
2

a
2

Hadoop
2

Hello
3

world
3

is
3

可以看到结果安装word的count进行升序排列. 在 http://localhost:8088/cluster

$ hadoop jar tez-tests-0.7.0-SNAPSHOT.jar testorderedwordcount -DUSE_TEZ_SESSION=true \

/input/tez/helloworld.txt /output/tez/helloworld2 /input/tez/helloworld2.txt /output/tez/helloworld3

15/01/20 20:01:04 INFO examples.TestOrderedWordCount: Creating Tez Session

15/01/20 20:01:04 INFO client.TezClient: Tez Client Version: [ component=tez-api, version=0.7.0-SNAPSHOT, revision=83261659809f7904b786c9c81def4451dca27078, SCM-URL=scm:git:https://git-wip-us.apache.org/repos/asf/tez.git, buildTime=20150120-1554 ]

15/01/20 20:01:04 INFO client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:8032

15/01/20 20:01:04 INFO client.TezClient: Session mode. Starting session.

15/01/20 20:01:04 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS

15/01/20 20:01:04 INFO client.TezClientUtils: Using tez.lib.uris value from configuration:

hdfs://localhost:9000/apps/tez/tez-0.7.0-SNAPSHOT,hdfs://localhost:9000/apps/tez/tez-0.7.0-SNAPSHOT/lib/

15/01/20 20:01:04 INFO client.TezClient: Tez system stage directory

hdfs://localhost:9000/tmp/hadoop/tez/staging/1421755263939/.tez/application_1421753603786_0002 doesn‘t exist and is created

15/01/20 20:01:04 INFO impl.YarnClientImpl: Submitted application application_1421753603786_0002

15/01/20 20:01:04 INFO client.TezClient: The url to track the Tez Session: http://localhost:8088/proxy/application_1421753603786_0002/

15/01/20 20:01:04 INFO examples.TestOrderedWordCount: Running OrderedWordCount DAG,

dagIndex=1, inputPath=/input/tez/helloworld.txt, outputPath=/output/tez/helloworld2

15/01/20 20:01:05 INFO examples.TestOrderedWordCount: Checking DAG specific ACLS

15/01/20 20:01:05 INFO examples.TestOrderedWordCount: Waiting for TezSession to get into ready state

15/01/20 20:01:08 INFO examples.TestOrderedWordCount: Submitting DAG to Tez Session, dagIndex=1

15/01/20 20:01:08 INFO client.TezClient: Submitting dag to TezSession,

sessionName=OrderedWordCountSession, applicationId=application_1421753603786_0002, dagName=OrderedWordCount1

15/01/20 20:01:08 INFO client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:8032

15/01/20 20:01:08 INFO examples.TestOrderedWordCount: Submitted DAG to Tez Session, dagIndex=1

15/01/20 20:01:15 INFO examples.TestOrderedWordCount: DAG 1 completed. FinalState=SUCCEEDED

examples.TestOrderedWordCount: Running OrderedWordCount DAG, dagIndex=2, inputPath=/input/tez/helloworld2.txt, outputPath=/output/tez/helloworld3

15/01/20 20:01:15 INFO examples.TestOrderedWordCount: Checking DAG specific ACLS

15/01/20 20:01:15 INFO examples.TestOrderedWordCount: Waiting for TezSession to get into ready state

15/01/20 20:01:15 INFO examples.TestOrderedWordCount: Submitting DAG to Tez Session, dagIndex=2

15/01/20 20:01:15 INFO client.TezClient: Submitting dag to TezSession,

sessionName=OrderedWordCountSession, applicationId=application_1421753603786_0002, dagName=OrderedWordCount2

15/01/20 20:01:15 INFO client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:8032

15/01/20 20:01:15 INFO examples.TestOrderedWordCount: Submitted DAG to Tez Session, dagIndex=2

15/01/20 20:01:16 INFO examples.TestOrderedWordCount: DAG 2 completed. FinalState=SUCCEEDED

15/01/20 20:01:16 INFO examples.TestOrderedWordCount: Shutting down session

client.TezClient: Shutting down Tez Session, sessionName=OrderedWordCountSession, applicationId=application_1421753603786_0002

查看yarn web

时间: 2024-10-05 12:57:13

Hello Tez的相关文章

Hadoop2.0/YARN深入浅出(Hadoop2.0、Spark、Storm和Tez)

随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发人员并不多,直接导致了这几年hadoop技术的薪水远高于JavaEE及 Android程序员. Hadoop入门薪资已经达到了 8K 以上,工作1年可达到 1.2W 以上,具有2-3年工作经验的hadoop人才年薪可以达到 30万—50万 . 一般需要大数据处理的公司基本上都是大公司,所以学习had

mac OS X Yosemite 上编译hadoop 2.6/2.7及TEZ 0.5.2/0.7 注意事项

1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 应该选择mac ox 64位的版本 http://download.oracle.com/otn-pub/java/jdk/7u79-b1

hive on tez踩坑记2-hive0.14 on tez

在测试hive0.14.0 on tez时遇到的问题比较多:1.在使用cdh5.2.0+hive0.14.0+tez-0.5.0测试时,首先遇到下面的问题 java.lang.NoSuchMethodError: org.apache.tez.dag.api.client.Progress.getFailedTaskAttemptCount()I         at org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.printStatusInPl

Apache Tez 了解

你可能听说过Apache Tez,它是一个针对Hadoop数据处理应用程序的新分布式执行框架.但是它到底是什么呢?它的工作原理是什么?哪些人应该使用它,为什么?如果你有这些疑问,那么可以看一下Bikas Saha和Arun Murthy提供的呈现"Apache Tez: 加速Hadoop查询处理",在这个呈现中他们讨论了Tez的设计,它的一些突出亮点,同时还分享了通过让Hive使用Tez而不是MapReduce而获得的一些初始成果. Tez是Apache最新的支持DAG作业的开源计算框

hive on tez踩坑记1-hive0.13 on tez

最近集群准备升级到cdh5.2.0,并使用tez,在测试集群cdh5.2.0已经稳定运行了很长时间,因此开始折腾hive on tez了,期间遇到不少问题,这里记录下. hive on tez的部署比较简单,可以参考wiki.主要注意几个地方 1.编译的时候 mvn clean package -Dtar -DskipTests=true -Dmaven.javadoc.skip=true 2.需要将tez相关的包upload到hdfs中,并设置tez-site.xml   <property>

TEZ安装试用

下载地址:http://apache.dataguru.cn/tez/0.7.0/ 第一次使用maven编译 tez的时候到tez ui部分报错,google后发现有人遇到类似问题是因为maven版本的问题, 当时我使用的是最新的maven3.3,我尝试换到maven3.2.5,再编译后成功. 其他步骤参考:http://www.myexception.cn/open-source/1927193.html hdfs dfs -mkdir /apps/ hdfs dfs -copyFromLoc

hive on tez sql 优化

select t.id end_usr_id, t.end_user_name end_usr_name, t.end_user_real_name end_usr_nknm, t.end_user_password end_usr_pswd, t.end_user_birthday end_usr_bthd, t.mobile mobl_num, t.phone phone_num, t.valid_mobile_phone_num bindg_mobl_num, t.end_user_ema

TEZ UI搭建

官方 TEZUI 需要TEZ6+hadoop2.6.0 其实 TEZUI  TEZ0.53+hadoop2.4.0+也可以玩 只要hadoop有timelineserver 但是hadoop2.4.0 hadoop2.5.0 timelineserver不支持跨域请求..所以用ambari2.2中的tez view来搭建可以实现,并且方便快捷. tez-site.xml <configuration> <property> <name>tez.lib.uris</

pig 使用tez引擎 OutOfMemoryError

tez版本:0.5.3 pig版本:0.14.0 解决办法: 将tez.task.scale.memory.reserve-fraction 设置的大点.如下: set tez.task.scale.memory.reserve-fraction 0.7d ; 报错详情见下: cause TezChild exit.:java.lang.OutOfMemoryError: Java heap space at org.apache.tez.runtime.library.common.sort.