【大数据学习计划-CDH】Hive压缩及企业级调优


第19.8压缩和存储19.8.1Hadoop源码编译支持Snappy压缩19.8.1.1资源准备

1.CentOS联网

配置CentOS能连接外网。Linux虚拟机是畅通的

注意:采用root角色编译,减少文件夹权限出现问题

2.jar包准备(hadoop源码、JDK8、maven、protobuf)

(1)(2)(3)(4)(5)

3、检查集群所支持的压缩编码

[root@localhostbin]/opt/module/[root@localhostsoftware]JAVA_HOMEexportJAVA_HOME=/opt/module/_144exportPATH=$PATH:$JAVA_HOME/bin[root@localhostsoftware]/opt/module/[root@]MAVEN_HOMEexportMAVEN_HOME=/opt/module/=$PATH:$MAVEN_HOME/bin[root@localhostsoftware]yuminstallsvn[root@hadoop101software]yuminstallncurses-devel[root@hadoop101software]yuminstallgcc*

2.编译安装snappy

[root@hadoop101software]/[root@]make[root@]查看snappy库文件
[root@]/opt/module/[root@hadoop101module]./configure[root@]makeinstall
protoc--version

4.编译hadoopnative

[root@hadoop101software]/[root@hadoop101software]vim/etc/profileexportMVN_HOME=/data/module/=$PATH:$MVN_HOME/bin
[root@cluster2-slave2~]mvn-v


5、安装

下载

只能是2.5.0这个版本

因为后面安装的时候加压后在里可以看到,要求就是2.5.0的


安装依赖

yuminstallglibc-headersyuminstallgcc-c++

编译安装

[root@]makemakeinstall

验证protobuf

[root@]vimtez-mapreduce/src/main/java/org/apache/tez/mapreduce/client/

源:

(unknownAppId,unknownAttemptId,"N/A","N/A","N/A","N/A",0,null,,"N/A","N/A",0,0,,null,"N/A",0.0f,"TEZ_MRR",null);

改为:

7、maven编译

[root@]cdtez-dist/

hdfs上创建相应的tez目录

[root@localhosttarget]hadoopfs-ls/user/tez[root@localhosthive]cd/var/cloudera/parcels//lib

1、创建tez相关目录目录

[root@localhosttarget]/namevalue${}/user/tez//value//namevaluefalse/value/property/configuration

2、拷贝到tez中

[root@localhosttez]cp-r/u01/temp/tez-dist/target//lib/var/cloudera/parcels//lib/tez/

3、分发tez这个文件到各个节点

[root@localhostlib]scp-rgadmin@127.0.0.1:/var/cloudera/parcels//lib/tez/var/cloudera/parcels//lib/

4、配置环境

在cdh找到hive客户端配置

Gateway客户端环境高级配置代码段

HADOOP_CLASSPATH=/var/cloudera/parcels//lib/tez/conf:/var/cloudera/parcels//lib/tez/*:/var/cloudera/parcels//lib/tez/lib/*

更改Hive的jar包

[root@localhostauxlib]mv/opt/cloudera/parcels//lib/hive/auxlib/_bak

否者报错

5、保存并部署客户端配置,重启使生效

19.11.4测试hiveontez

1、Hive执行引擎Tez使用容器大小

=1024;建议:不小于或者是的倍数=tez;

2、如果日志感觉太多,可以调整日志级别

调整hive日志级别是INFO

Gateway日志记录高级配置代码段(安全阀)

=ERROR,console[root@localhostconf]vi/var/cloudera/parcels//lib/hive/conf//namevalue1024/value//namevaluetez/value/property

3、重启服务

4、测试:直接运算即可得出结果

5、HUE:HiveServer2环境高级配置代码段(安全阀)

HADOOP_CLASSPATH=/var/cloudera/parcels//lib/tez/conf:/var/cloudera/parcels//lib/tez/*:/var/cloudera/parcels//lib/tez/lib/*

测试:

综合测试对比

9亿数据查询

=mr;

20亿数据查询

TEZ203s

Mr:378s

19.11.6tez参数优化

一、AM、Container大小设置

1、设置tezcontainer内存

默认值:-1
默认情况下,Tez将生成一个mapper大小的容器。这可以用来覆盖默认值。
配置文件:hive-site-xml

建议:不小于或者是的倍数

二、AM、ContainerJVM参数设置

1、设置containerjvm

默认值:Hortonworks建议“–server–=true–XX:NewRatio=8–XX:+UseNUMA–XX:UseG1G”,默认大小:80%*

说明:在的官方文档中没有找到这个参数。看有些博客里面有这个值。

配置文件:

3、设置输出排序内存大小

默认值:100

配置文件:

建议:40%*,一般不超过2G

2、如果不直接写入磁盘,使用的缓冲区大小

默认值:100M

建议:10%*

配置文件:

5、_HOME=/opt/cloudera/parcels/_HOME=${CDH_HOME}/lib/hbaseexportPATH=$PATH:$HBASE_HOME/bin#hiveexportHIVE_HOME=${CDH_HOME}/lib/hiveexportPATH=$PATH:$HIVE_HOME/bin安装GPLEXTRAS

发布于 2025-06-05
84
目录

    推荐阅读