×××××××××××××××××××××××××××××××××××
<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 命令访问,但是一定要注意这个路径在本地是没有的,即使创建了同名路径/目录也不会在本地的这个目录下找到任何东西。
×××××××××××××××××××××××××××××××××××××××××××××××××××