• Spark支持S3作为DataSource(一):S3及其开源实现

    S3 Ceph/Demo的安装 minio 我们需要用spark来处理图片、视频,这种数据用HDFS来存储很不合适,在我看来主要有两个问题: HDFS的block size一般为64MB或者128MB,但图片一般可能1MB左右,浪费空间 图片文件的数量可能很大,对NameNode的内存会是个挑战 针对交通卡口的图片,国内有公司是使用HBase做的存储,用Spark来处理。HBase默认一个Cell的大小是64KB,需要根据实际情况调整为1MB或者2MB。但HBase实...


  • Spark通过JDBC使用MySQL作为数据源

    假设场景:用户使用beeline或者其他JDBC客户端,通过Spark Thrift server的JDBC服务,来访问MySQL。一般来说,直接通过JDBC来访问MySQL,可以肯定其数据量不大(无论是从MySQL读还是写到MySQL),否则应该将MySQL的数据导入到Hive库中(当然可以使用create table xxx stored as parquet as select * from jdbc_table_X将数据写到hive表里,但体验并不好,基本等同于单线程)。 1.6.1版本可以...


  • Hadoop 2.7.2编译

    调试Spark支持S3作为DataSource的时候,需要改下hadoop-aws这个包,所以编译了一把Hadoop,具体步骤可以参考这个韩国人的文章,包括centos和ubuntu两个操作系统的说明。注意Hadoop编译需要cmake/make/protoc/libssl等。我的操作系统是ubuntu,直接照抄下面即可(相对韩国人我删掉了 -Drequire.snappy参数)。 # sudo apt-get install maven libssl-dev build-essential pkg...


  • CentOS 7使用nmcli配置双网卡聚合

    进入CentOS 7以后,网络方面变化比较大,例如eth0不见了,ifconfig不见了,其原因是网络服务全部都由NetworkManager管理了,下面记录下今天下午用nmcli配置的网卡聚合,网络上资料比较多,这里仅记录以备忘,更详细的说明可以参考rhel7和centos7使用nmcli命令管理配置网络。 CentOS7使用ip link代替ifconfig命令,使用teamd处理双网卡聚合,使用nmcli命令行配置网络。 实战发现team driver在重启时会有些问题,会漏掉设置混杂模式(...


  • 非典型Grub破坏并修复之路

    我有一台很古老的IBM ThinkPad笔记本,900MHZ的CPU,512MB内存,30GB硬盘,想必现在的小朋友都只在书里看到过吧。这个本基本放着吃灰,偶尔通上电开起来缅怀下,不过它的硬盘实在太老旧,有不少坏区,双系统之一的XP(是的你没看错,30GB也双系统)已经进不去了,只能进debian,勉强作为命令行工具(然而并不会)。 昨天晚上拿螺丝刀拆了一把,十年了所有的螺丝还能拧得动,确实佩服。CPU的硅胶还有一丢丢,风扇里倒是满是灰。把硬盘拆了出来,尝试换块新硬盘上去。因为光驱已经完全不能读盘了...


  • Spark调度(一):Task调度算法,FIFO还是FAIR

    Spark调度分几个层次? 两层。 第一层,Spark应用间:Spark提交作业到YARN上,由YARN来调度各作业间的关系,可以配置YARN的调度策略为FAIR或者FIFO。 这一层可以再分两层,第一小层是YARN的队列,第二小层是队列内的调度。Spark作业提交到不同的队列,通过设置不同队列的minishare、weight等,来实现不同作业调度的优先级,这一点Spark应用跟其他跑在YARN上的应用并无二致,统一由YARN公平调度。比较好的做法是每个用户单独一个队列,这种配置FAIR调度就...


  • Apache Ranger续:与LDAP和Kerberos合作,提供统一的认证、管理

    1、全集群使用LDAP做用户管理 2、管理hive授权 3、管理spark thrift server授权 4、Final Fantasy 1、全集群使用LDAP做用户管理 Ranger 0.5版本开始支持使用LDAP做认证,即除了Ranger自己的internal用户,在LDAP中的用户也可以登录Ranger系统去做权限管理;而Ranger的user-sync也支持从LDAP同步用户到Ranger。用户管理完全在LDAP中管理,授权完全在Ranger中管理,Ranger操作的...


  • Kerberos从入门到放弃(三):kerberos+LDAP各司其职,以及一体化的freeIPA

    前面2篇Kerberos文章 HDFS使用kerberos、YARN、Spark、Hive使用kerberos介绍了在spark/hadoop集群开启Kerberos后可以获得的好处: 服务认证,如YARN的namenode、datanode,spark thrift server使用yarn的资源 用户认证,如使用不同的Principal登录到spark thrift server 由于集群一般来说变化的比较小,服务认证比较合适;但在多租户的集群上,Kerberos这种需要独占操作系...


  • 使用Apache Knox配置保护Spark/Hadoop

    启动自带LDAP 创建Master key 配置Gateway 配置Spark UI代理 配置HiveServer2代理 我们知道Spark、HDFS等等都提供了Story Web UI,用户可以从Web上查看当前JOB的执行情况,也可以kill掉JOB。那么这个Web UI不应该所有人都可以访问,而应该只开放给管理员使用。默认Spark没有认证,能连接到这个集群上就可以访问Web UI,但通过Knox,可以在打开Web UI的时候先做认证,限制只有某些用户可以访问。 类似的...


  • Databricks cloud初探

    workspace UDF/library cluster 作业 JDBC Databricks cloud(行文方便下面简称DC)是Databricks公司提供的公有云服务,用户在上面创建自己的spark集群,进行数据处理,其建设思路类似阿里云的ODPS。下面主要关注其权限控制。 workspace workspace有如下几个概念:user、folder、notebook、library。 user:管理员可以邀请其他用户到自己的workspace里。通过wo...