2016.2.29 工作笔记

×××××××××××××××××××××××××××××××××××

<tez的编译>

解决:编译前需要修改pom.xml文件,修改文件中的hadoop.version属性为机器中安装部署的属性

参考文档:http://tez.apache.org/install.html

另:官方文档显示,tez编译需要 Protocol Buffers 2.5.0 (https://github.com/google/protobuf/tags/),在安装protobuf时,解压后的目录下并没有./configure。通过autotools工具(autoconf)(sudo apt-get install autoconf) 转为./confiugrue

再另:tez只需要在一个节点上编译,安装配置。而不是在集群的每个节点进行的;hive也是仅需在master节点配置安装即可。

××××××××××××××××××××××××××××××

<autoconf ./configure.ac报错:error: possibly undefined macro : ******>

解决:这是由于缺少相关工具造成的,sudo apt-get install libtool。

另:防止意外,还可再安装一个工具sudo apt-get install libsysfs-dev

××××××××××××××××××××××××××××××

<tez 的版本限制>

解决:tez的版本限制很高,最新版0.8.1的在编译时总是会出现各种问题,直接编译失败,建议使用稳定的0.5.4版本(最好就是别作死去用最新版)

参考文档:http://blog.csdn.net/u012940672/article/details/48135951

另:可以参考的成功配置的版本:apache-hive-1.2.1 + hadoop2.7.1 + tez-0.5.4

×××××××××××××××××××××××××××××××××××

<tar 指令的参数>

解压
语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2  

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

××××××××××××××××××××××××××××××××××××××××××××××××××

<tez编译的依赖关系>

tez -->  jdk6+ and mvn3+ 

tez --> protobuf  --> autotools(autoconf) --> sudo apt-get install autotools-dev m4 autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc libtool (autotool 工具使用的相关包)

 ××××××××××××××××××××××××××××××××××××××××××××××××××

<Ubuntu查看端口占用>

netstat -a 显示已连接的端口信息

netstat -ap 显示所有的端口信息

netstat -ap | grep 8080 查看8080端口信息

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive 的日志存放目录>

具体地址在hive安装目录下的conf目录下的hive-log4j.properties.template文件中

全默认的情况下,hive系统日志目录存放位置为 /tmp/${user}/hive.log

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hadoop离开安全模式>

ubuntu@lxc-3:~/mzj/hadoop-2.7.1$ ./bin/hadoop dfsadmin -safemode leave

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive的Connection Refused报错有很多原因>

但是最不应该忘记的是:你得先启动hadoop集群在开hive啊

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive 数据相关>

hive连接的数据库(mysql等)中存储的是hive数据表的元数据,而真正的需要处理的数据保存在hadoop的hdfs文件系统。而对于这些数据,在hive操作台使用SQL语句建表时就决定了文件的存储格式(textfile默认、sequencefile、rcfile、orcfile)(eg:creat table tmp(****) stored as textfile;) 

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive 的元数据库设置字符集:alter database hive charater st latin1>

hive对UTF-8支持不好

×××××××××××××××××××××××××××××××××××××××××××××××××××

<mysql 的配置目录>

在使用sudo apt-get install mysql 自动安装mysql之后,配置文件路径为:/etc/mysql/my.cnf

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive中导入数据>

参考文档:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929

×××××××××××××××××××××××××××××××××××××××××××××××××××

<env 查看系统当前的环境变量值>

<reboot  重启Ubuntu>

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive中表的具体概念及逻辑>

表:Hive中的表和关系型数据库中的表在概念上很类似,每个表在HDFS中都有相应的目录用来存储表的数据,这个目录可以通过${HIVE_HOME}/conf/hive-site.xml配置文件中的 hive.metastore.warehouse.dir属性来配置,这个属性默认的值是/user/hive/warehouse(这个目录在 HDFS上),我们可以根据实际的情况来修改这个配置。如果我有一个表wyp,那么在HDFS中会创建/user/hive/warehouse/wyp 目录(这里假定hive.metastore.warehouse.dir配置为/user/hive/warehouse);wyp表所有的数据都存放在这个目录中。这个例外是外部表。

×××××××××××××××××××××××××××××××××××××××××××××××××××

<hive-site.xml文件中hive.metastore.warehouse.dir属性>

这个属性 指的是 hdfs中的路径,可以通过hive操作台  hive> dfs -ls /home/ubuntu/mzj/apache-hive-1.2.1-bin/warehouse;  访问  或者  使用hadoop 命令访问,但是一定要注意这个路径在本地是没有的,即使创建了同名路径/目录也不会在本地的这个目录下找到任何东西。

×××××××××××××××××××××××××××××××××××××××××××××××××××

猜你喜欢

转载自blog.csdn.net/Jackie_Rose/article/details/50763120