• Kerberos从入门到放弃(一):HDFS使用kerberos

    原理 配置 配置DNS服务 配置NTP 创建MIT KDC 为HDFS等组件生成keytab 配置HDFS 本文尝试记录HDFS各服务配置使用kerberos的过程,配置的东西比较多,一定会有疏漏。 我的环境: 三台服务器,分别命名为zelda1、zelda2、zelda3 ubuntu 14.04 hadoop 2.7.2 spark 2.0/1.6.1 原理 默认Hadoo...


  • Spark SQL源码走读(一):HiveThriftServer2

    HiveThriftServer2 SparkSQLSessionManager start-thriftserver.sh启动thrift server,入口是org.apache.spark.sql.hive.thriftserver.HiveThriftServer2。Spark sql的一些背景说明可以参见这里。 HiveThriftServer2 def main(args: Array[String]) { logInfo("Starting SparkCon...


  • Spark(十):Hive on Spark配置

    版本对应关系 配置方式 过程分析及集群角色划分 日志路径 遇到的一些错误 Spark与Hive有两种搭配方式,一是我们目前采用的spark thrift server读取hive metastore(Spark SQL),由spark项目组主导;二是hive on spark,即hive将其执行引擎从tez改为spark,由hive项目组主导。当然更早还有shark,不过已经没人用了。Databricks有篇文章谈到了二者的未来,可以参考。 从一些测试结果来看,spark ...


  • Spark(九):Thrift Server的用户认证

    用户验证 数据库配置解析 配置 启动 Hiverserver2支持如下四种: KERBEROSE LDAP CUSTOM NONE 默认为NONE,即只要用户对即可,不检查密码。 类似Hiveserver2,Spark thrift server(sts)也支持这几种。前面我们已经具备了权限管理(Authorization)的能力,但还需要对用户的identity做认证,先采用比较简单的CUSTOM认证方式,可以参考MapR的这篇文章,主要是实现Passw...


  • Spark(八):多租户隔离

    3、数据隔离 3.1 用户登录 3.2 sts用户认证 3.1 用户同步 3.2 授权 4 审计 5 资源隔离 1、2谈的是SQL和UDF隔离,对于开源来说,zeppelin或者Hue可能是个选择,但其并不支持多租户。国内像美团在之上做了增量开发,支持了多租户,这样就做到了SQL和UDF的隔离。我司有自行开发的data studio产品,其功能跟开源的Hue对标,支持多租户。 3、数据隔离 前文谈到,...


  • Apache Ranger:统一授权管理框架

    1、功能 支持组件 用户/组管理 授权 审计 2、机制 组件plugin 前一篇文章介绍了hive的授权模型和spark支持hive的现状,可以看到目前授权管理各自为政:HDFS,hive,yarn,storm等都有自己的授权模型,需要到具体产品下进行修改,比较分散,不利于统一管理,需要有一个集中控制的工具(更准确的应该叫做框架) 目前已有的统一授权管理的开源框架为Ranger和...


  • Spark(七):Hive的授权

    使用场景 三种授权模型 1、Storage based Authorization 2、SQL standard based Authorization 3、默认授权模型 Storage based Authorization配置 用户在使用Hive的时候,需要做到数据隔离,针对DB、表对不同的用户有不同的权限,即授权(Authorization)。注意跟身份验证(Authentication)区别,前者是判断用户对资源是否...


  • Spark(六):一个Hive UDF编码问题的解决记录

    todo….. spark的thrift server可以提供类似hive的体验,用户可以通过hive的JDBC连接到thrift server上。 1、UDF的不同类型及区别 2、需求:ip2region 3、UDF的执行 每次执行都是一次反射,包括init和evaluate 4、如何提升性能


  • Spark(五):在Zeppelin中分析IPv4地址的瓜分图

    背景介绍 安装 对接hive 对接spark 例一:求Pi值 例二:IP地址瓜分图 其他功能 背景介绍 Spark可以像Hadoop一样用来跑大作业,也可以像数据库一样做实时分析。对于后者,Spark的发行版中提供了spark shell、spark sql,数据科学家可以在这里面做一些分析。不过命令行的可编辑、可视化方面毕竟不友好,因此一些厂商开发了web IDE,而开源界也提供了这样的工具:Zeppelin(齐普林?)。 ...


  • Spark(四):python编程示例

    环境准备 编码 集群上执行 下面以一个简单的例子,介绍下如何用python编程,并提交到yarn上执行。 环境准备 SparkContext是spark编程的基石,后面的SqlConext等等都是基于SparkContext。它作为python的lib,在pyspark库中提供,同时它还依赖py4j,所以我们要做的第一件事就是修改系统的python路径,把它俩加进去: cd /usr/local/lib/python2.7/dist-packages/ echo "/home/...