———————————————————— 准备 Tez 编译环境 ————————————————————
1 需要的支持
tez0.7 需要 Hadoop 2.60 以上
2 需要的 linux 相关工具
// apt-get install g++
// apt-get install vim
// apt-get install make
// yum -y install gcc make gcc-c++ openssl 
3 protobuf 安装
CDN 下载的 编译好的 protobuf 2.5.0 
 
编译要很久的  并且需要提前安装好 2.5 版本的 protobuf。  如果安装2.6.1 也不用怕 删了重装即可
 
./configure
$ make
$ make check
$ make install
 
protoc --version 
 
如果找不到 sodu 一下/etc/profile
 
下载 node.js
 tar -zxvf node-v0.10.26.tar.gz 
 make && make install 
 node -v v0.10.26
 
改下载 10.27 
wget http://nodejs.org/dist/v0.10.27/node-v0.10.27.tar.gz
 tar -zxvf node-v0.10.27.tar.gz
make && make install 
验证 node -v
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP

安装npm
curl -L https://www.npmjs.com/install.sh
 | sh
验证 npm -v
 
6 maven 3.10 以上版本
 
安装 git (linux 自带的就行 1.7.1)
1、新集群首先更新 yum
            sudo yum update
2、依赖包
          sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
 
3、git 下载
     1.7.1
     yum -y install git     
 
————————————————————— 编译Tez —————————————————————
 

一 下载 0.70 

 
解压文件:

二 修改 pom.xml 

 1)需要编辑 tez 目录下 tez-ui 目录 中的 pom.xml 文件,添加红色部分

<arguments>
                <argument>node_modules/bower/bin/bower</argument>
                <argument>install</argument>
                p<argument> --allow-root</argument>
                <argument>--remove-unnecessary-resolutions=false</argument>
</arguments>

 2) hadoop.version 和 protobuf.version 修改成hadoop 和 protobuf.version 环境下的版本号。
本次环境是  hadoop2.6.0 和 protobuf.version 2.5  tez 0.7默认就是这俩所以不用改
 
 3)升级frontend版本为0.0.23 (可以不升级先试试 如果能过不用管。)

        <plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>0.0.23</version>
</plugin>
三 创建路径
mkdir -p  apache-tez-0.7.0-src/tez-ui/src/main/webapp/dist 创建一个 dist目录
四 编译 TEZ (漫长等待,如果失败可以重新编译。 经常下载超时失败。)
 mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
 
编译好的 tez 在根目录下 tez-dist/target 目录 tez-0.7.0.tar.gz 就是
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP

Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 
五 为调配 Hadoop 做准备
成功后,在tez的根目录下创建tezlib文件夹: 
执行输入命令,拷贝所有tez相关的jar到tezlib下面: 
find . -name "*jar" -print | cp -a `xargs` tezlib/ 
 
———————————————————— 调配 Hadoop  ————————————————————
 
 
 
1 将 编译好的 TEZ .tar.gz 文件上传到 HDFS 中。
 
hdfs fs -put complete-tez-0.7.0.tar.gz /tez
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP

Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP

Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
2 解压 tez-0.7.0.tar.gz 后修改hadoop 的 mapred-site.xml
 Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 
3 创建 tez-site.xml

需要在 hadoop 的 master 节点上面的 ${HADOOP_HOME}/etc/hadoop 目录下面创建一个 tez-site.xml 文件,里面填写如下内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>(HDFS路径)+/tez/tez-0.7.0</value>
</property>
</configuration>
 Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP

以上完成了tez的基本配置,接下来有 2 中方法使我们的任务运行在tez上,

 
export TEZ_HOME=/usr/local/opt/tez-0.7.0
          for jar in `ls $TEZ_HOME |grep jar`; do
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar
 done
           for jar in `ls $TEZ_HOME/lib`; do
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar
 done
 
运行 TEZ 自己的 例子运行过程:
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
查看 HDFS 结果
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
运行 hadoop  MR 例子过程:
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
结果一样的
Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 Apache Tez 0.7、0.83、 0.82 安装、调试笔记-LMLPHP
 
 
明日检查性能
05-26 07:09