分享

Hadoop实操

本帖最后由 desehawk 于 2018-4-23 17:33 编辑

公众号介绍:
专注Apache Hadoop,CDH和HDP的实操,如安装部署,安全配置,排障过程,经验分享,性能调优

地址:gh_c4c535955d0f

经典文章推荐:


如何降级Cloudera Manager和CDH


1.文档编写目的

在前面的文章中,Fayson介绍过《如何升级Cloudera Manager和CDH》,在实际使用过程中,我们往往会碰到将集群升级到一个较新的版本后,会出现一些莫名其妙的问题,为了保证生产系统的稳定运行,在无法快速定位问题的情况下,这时需要对集群进行降级。本文主要介绍如何对集群进行Cloudera Manager和CDH的降级。
在《如何升级Cloudera Manager和CDH》文章中,Fayson详细介绍了CDH版本的一些说明和代表的意义,这里我们先回顾一个重要的概念:
"CDH和Cloudera Manager不用同时升级,但是需要保证Cloudera Manager和CDH版本的兼容。Cloudera Manager可以管理当前或以前的major版本的CDH,或相同minor版本的CDH,或较低minor版本的CDH。比如,Cloudear Manager 5.7.1可以管理CDH5.7.2,CDH5.6.1和CDH4.8.6,但是不能管理CDH5.8.1. Cloudera Manager5.x不能管理CDH3.x。"
对于降级其实也是一样的,你不用同时对CDH和Cloudera Manager进行降级,在版本跨度不大的情况下,实际你只降级CDH即达到了目的,因为Cloudera Manager的版本并不影响你集群上的任何作业的运行。而高版本的Cloudera Manager是可以管理低版本的CDH的。
如果你是使用Parcel方式安装CDH,无论是升级CDH还是降级CDH,差别都不大。我们回顾《如何升级Cloudera Manager和CDH》这篇文章可以发现对于Cloudera Manager的升级可以通过yum upgrade的命令来实现,比较方便,Cloudera Manager元数据库schema的升级,其实Cloudera Manager在升级时后台也自动帮你做了。但降级不一样,Cloudera Manager没有提供自动降级元数据库schema的功能,如果降级过程中有兼容性问题,你可能需要自己处理schema。实际过程中,往往一般降级CDH就够了。因为最终你会将Cloudera Manager和CDH升级到一个稳定的相同版本。

更多参考原文
https://cloud.tencent.com/developer/article/1078827

已有(15)人评论

跳转到指定楼层
desehawk 发表于 2018-4-23 17:29:34
如何启用Oozie的HA

1.文档编写目的

Oozie是基于Hadoop的作业调度工具,工作流引擎,在实际工作中,遇到对数据进行一连串的操作的时候很实用,不需要自己写一些处理代码了,只需要定义好各个action,然后把他们串在一个工作流里面就可以自动执行了。但Oozie在实际生产过程中,也会有单点故障问题,所以我们也需要考虑部署多个Oozie Server从而实现Oozie的HA。Oozie的HA是Acive-Active的模式,通过负载均衡如HAProxy来实现。本篇文章中主要讲述如何启用Oozie Server的HA。
l5pgwgr0cb.jpeg
  • 内容概述
1.环境准备
2.启用Oozie服务HA
3.测试Oozie服务HA
  • 测试环境
1.操作系统RedHat7.3
2.CM和CDH版本为5.13.1
3.集群已启用Kerberos

更多参考
https://cloud.tencent.com/developer/article/1078819




回复

使用道具 举报

desehawk 发表于 2018-4-23 17:31:16

如何获取Hive正在执行或者已结束的的MapReduce作业的SQL语句


1.文档编写目的

当我们提交Hive SQL语句到YARN后,有时如果我们想监控某个SQL的执行情况,需要查看具体SQL语句,如果这个SQL语句比较长,无论是通过YARN的8088界面还是YARN的命令都无法看全这个SQL语句。
YARN的8088界面如下:
1.jpeg
查看作业详情也无法看到完整SQL语句
2.jpeg
yarn application -list同样无法看全SQL语句,如下:
3.jpeg
本文主要介绍三种方式来获取Hive正在执行或者已结束的的MapReduce作业的SQL语句,一种是通过MapReduce API获取执行作业的xml配置文件,另一种是通过Cloudera Manager界面直接查看,第三种是通过Cloudera Manager的API来获取。
  • 测试环境
1.操作系统RedHat7.3
2.CM和CDH版本为5.13.1
3.集群已启用Kerberos

更多参考
https://cloud.tencent.com/developer/article/1078818
回复

使用道具 举报

desehawk 发表于 2018-4-23 17:32:25
如何使用SAML配置Cloudera Manager的身份验证

1.文档编写目的

在前面Fayson介绍了《如何使用Shibboleth搭建IDP服务并集成OpenLDAP》,通过Shibboleth的IDP服务提供SAML认证服务,本篇文章主要介绍如何使用SAML配置Cloudera Manager的身份验证。下图为CM集成SAML认证流程:
1.jpeg
  • 内容概述
1.环境准备
2.CM配置SAML及注册IDP
3.登录验证
4.总结
  • 测试环境
1.CM和CDH版本为5.13.1
2.Shibboleth IDP版本为3.3.2


更多参考
https://cloud.tencent.com/developer/article/1078815


回复

使用道具 举报

desehawk 发表于 2018-4-23 17:34:28
如何在Redhat7.3的CDH5.14中启用Kerberos

1.文档编写目的

在前面的文章中,Fayson介绍了《如何在Redhat7.3安装CDH5.14》,这里我们基于这个环境开始安装MIT Kerberos。前面Fayson也介绍过《如何在CDH集群启用Kerberos》,当时的环境是Redhat6的,大家也可以看看Redhat6和7安装Kerberos有什么区别。
  • 内容概述:
1.如何安装及配置KDC服务
2.如何通过CDH启用Kerberos
3.如何登录Kerberos并访问Hadoop相关服务
4.总结
  • 测试环境:
1.操作系统:Redhat7.3
2.CDH5.14
3.采用ec2-user用户进行操作

更多参考
https://cloud.tencent.com/developer/article/1078812



回复

使用道具 举报

desehawk 发表于 2018-4-23 17:35:49
本帖最后由 desehawk 于 2018-4-23 17:40 编辑

Hive与Impala的关键字

1.Hive的关键字

Hive有一些保留的关键字,我们在执行一些语句时,不能将这些关键字作为标识符(Identifier),比如建表语句的表名或者字段名,以下我们具体看看什么是Hive中的Identifier。
An Identifier can be a:
  • tableName
  • columnName
  • select expr alias
  • lateral view aliases
  • database name
  • view name
  • subquery alias
  • function name
  • ptf argument identifier
  • index name
  • property name for: db,tbl,partition…
  • fileFormat
  • role name
  • privilege name
  • principal name
  • macro name
  • hint name
  • window name
参考:
在Apache的Hive官网有关键字的列表,不同的Hive版本有一些区别。如下:
1.jpeg
参考:
如果你非要使用“保留的关键字”作为标识符,官网也给出了建议:(1)对标识符使用倒引号(backtick);(2)set hive.support.sql11.reserved.keywords=false

更多参考
https://cloud.tencent.com/developer/article/1078801
回复

使用道具 举报

desehawk 发表于 2018-4-23 17:37:52
如何在Kerberos环境的CDH集群部署Livy

1.文档编写目的

在前面的文章Fayson介绍了《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》、《如何编译Livy并在非Kerberos环境的CDH集群中安装》和《如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业》,本篇文章主要介绍如何在Kerberos环境的CDH集群中部署Livy服务。
  • 内容概述
1.部署Livy服务
2.修改Livy及Hadoop配置
3.Livy服务启停
4.总结
  • 测试环境
1.CM和CDH版本为5.14.0
2.Livy版本为0.4
  • 前置条件
1.集群已启用Kerberos
更多参考
https://cloud.tencent.com/developer/article/1078797

回复

使用道具 举报

desehawk 发表于 2018-4-23 17:39:22
本帖最后由 desehawk 于 2018-4-23 17:46 编辑


如何在Hue中配置HiveServer2的负载均衡

1.文档编写目的

在前面的文章Fayson介绍了《如何使用HAProxy实现HiveServer2负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》。本篇文章主要基于Haproxy方式实现的Hive负载均衡在Hue中配置HiveServer2服务的负载均衡。
  • 内容概述
1.测试环境描述
2.Hue配置HiveServer2负载均衡
3.测试HiveServer2负载均衡
4.总结
  • 测试环境
1.CM和CDH版本为5.13.1
2.Haproxy版本为1.5.18
  • 前置条件
1.已配置好Haproxy实现的Hive负载均衡

更多参考
https://cloud.tencent.com/developer/article/1078794


回复

使用道具 举报

desehawk 发表于 2018-4-23 17:41:34
如何在Hive & Impala中使用UDF

1.文档编写目的
本文档讲述如何开发Hive自定义函数(UDF),以及如何在Impala中使用Hive的自定义函数,通过本文档,您将学习到以下知识:
1.如何使用Java开发Hive的自定义函数
2.如何在Hive中创建自定义函数及使用
3.如何在Impala中使用Hive的自定义函数
这篇文档将重点介绍UDF在Hive和Impala的使用,并基于以下假设:
1.集群环境正常运行
2.集群安装Hive和Impala服务
以下是本次测试环境,但不是本操作手册的硬限制:
1.操作系统:Redhat6.5
2.CDH和CM版本为5.11.1
3.采用sudo权限的ec2-user用户进行操作

更多参考
https://cloud.tencent.com/developer/article/1077534











回复

使用道具 举报

desehawk 发表于 2018-4-23 17:43:24
Hive多分隔符支持示例

1.问题描述
如何将多个字符作为字段分割符的数据文件加载到Hive表中,事例数据如下:
字段分隔符为“@#$”
test1@#$test1name@#$test2valuetest2@#$test2name@#$test2valuetest3@#$test3name@#$test4value
如何将上述事例数据加载到Hive表(multi_delimiter_test)中,表结构如下:
字段名

字段类型

s1

String

s2

String

s3

String


更多参考

https://cloud.tencent.com/developer/article/1077565


回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条