自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

runzhliu大数据/容器日记

记录一些工作中碰到的大数据/容器计算的问题

  • 博客(13)
  • 收藏
  • 关注

原创 【Spark】用scala2.11编译打包构建镜像

如果关注 Spark 社区的同学已经知道,从 Spark 3.0 开始,就不再支持用 Scala 2.11 来编译了,Scala 2.11 相关的依赖也被 Owen 去掉了,所以如果要用 Spark 3.0 的同学就需要用 Scala 2.12 去编译打包了。而如果还在用 Spark 2.x 版本的,至少在 2.4.5 的版本中,已经是将 Scala 2.12 作为默认的 Scala 版本了,如果用户的程序是用 Scala 2.11 写的,也需要将 Spark 用 Scala 2.11 编一次,而 Ma

2020-07-27 09:41:52 1374

原创 Etcd+Prometheus+Grafana

2020-07-24 17:37:06 952

原创 【s3cmd】文件名一个空格带来的烦恼

正常使用的 Ceph RGW,还有正常使用的 s3cmd,突然今天碰到一个用户反馈说,在使用 s3cmd get 时候出现大量的404,也就是下载对象 Object 的时候发现对象不存在。这个问题很有意思,之前都没有遇到过,于是看了一下用户的文件,发现了一些端倪。划红线的文件名,居然带空格…Fine,既然是用户能上传上来的,那么我们就应该可以让用户下载了。可以判断到的是因为文件名带空格,所以在 get 的时候我才 s3cmd 没有处理这部分的内容,所以自动截断了,因为截断之后的对象肯定是不存在的,于是

2020-07-24 10:31:59 469

原创 【Ceph RGW】找一个用Go写的s3cmd

很多人都知道 s3cmd 是用 Python 写的,但是由于项目的背景,用 Python 这类动态编译的语言,无法在安卓容器使用,所以就想到找一个 Go 写的类似 s3cmd 的一个客户端。用 Go 写的 s3cmd 客户单,或者说是一个 command line interface,只要本地通过静态编译,把需要的静态链接库编进去二进制,虽然体积不小,但是这样就满足在安卓容器里直接使用的需求了,当然这个客户端并不是很难实现,本质上就是调用 AWS S3 的 Go SDK,重新封装一个出来。本着不重复造轮子

2020-07-21 16:38:41 407

原创 【Goland】#{key}=#{value},字符串被格式化了?

不喜欢看这种格式 #{key}=#{value}不知道什么时候,Goland 的 Editor 默认的字符串,尤其是涉及到 Format 的时候,总会被缩写成这样,很不习惯,非常讨厌,忍无可忍,终于花时间研究了一下怎么取消了,Google 了很久,都没找到答案,于是一个个选项扫下来,终于发现问题了,大家可以按下图去取消 Format strings 。...

2020-07-20 22:51:57 303

原创 【android系统】使用s3来上传下载文件

我们的安卓容器需要使用 s3 来进行一些文件的上传和下载,因为 s3cmd 是 Python 写的,Android 系统中缺少linux系统中的这些依赖库,所以想运行 s3cmd,估计是不行的,如果需要使用静态编译的 s3 客户端程序,随手在 github 上搜了一个 s3-cli,这个项目是用 Go 写的,所以只要在本地编译的时候加上 static 就可以了。将原来项目点 Makefile 修改一下,在本地编译。SRC=*.gos3-cli: $(SRC) CGO_ENABLED=0 GOOS=

2020-07-20 18:06:03 1136

原创 【Ceph RGW】radosgw_usage_exporter监控用户使用量

文章目录1 Overview2 radosgw_usage_exporter2.1 usage2.2 bucket3 关于权限4 metrics1 OverviewCeph Mgr Prometheus 的模块没有提供用户数据使用量的指标,而在 Ceph 日常运维中,我们希望知道哪个用户用了多少存储容量,或者距离 Quota 还有多少,方便自动化扩容等等,所以推荐一个开源的 prometheus exeporter 来通过 radosgw 来输出用户在 Ceph 集群使用的量。再次明确一下,这个 us

2020-07-19 20:24:32 1288 7

原创 【Spark Operator】核数设置Cores/Cores Limit/Cores Request,你搞清楚没有?

我们先看下 Spark

2020-07-18 10:35:21 1254

原创 【Spark Operator】集成Airflow

我们的任务流调度是采用 Airflow,画出 DAG 之后再按序执行,其中 Etcd 是我们很重要的组件,所以封装出一个 Airflow 的 Etcd Operator,然后将任务写到 Etcd,而在集群里有个 Watcher 的程序会监听 Etcd 任务的 key,一旦发现就会通过 Spark Operator 的 Spark Application Client 把任务提交到 api-server。...

2020-07-17 07:25:54 620

原创 如何快速找到JAVA_HOME

文章目录ReferenceJDK 几乎是所有 PC 都必不可少的软件,那么像 Mac/Linux/Windows 本身系统自带的 JDK,在什么目录呢,如果想在自己的电脑配置多个不同版本的 JDK 玩儿,又或者不小心把 JAVA_HOME 配置混乱了,那么有什么方法可以快速找到合适的 JDK 目录呢。本文推荐阅读 find java home。简单总结一下 Linux 环境下几个方法,下面几个方法都值得学习或者收藏一下。which javadirname $(dirname $(readlink -

2020-07-15 20:44:00 992

原创 【Spark on Kubernetes】Executor环境变量

今天在给 Executor 配置环境变量的时候,以为 Executor 环境变量跟 Driver 一样是通过 spark.kubernetes.driverEnv.XXX=YYY,最后发现其实是 spark.executorEnv,要注意 Env 的大小写,都是细节…可以看到下图,其实 Spark on Kubernetes 的文档,并没有写,所以 Executor 环境变量就是普通的参数即可。...

2020-07-15 16:25:57 828

原创 oci runtime error: exec failed: container_linux.go:247: starting container process caused “exec: \“/

在运行 mpi-operator 之后,想进去容器查看一下,于是执行下面的命令报错。[root@TENCENT64site /data/runzhliu/mpi]# kubectl exec -it -n kube-system mpi-operator-bbf56967f-ht8bx /bin/shrpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container p

2020-07-07 14:51:03 5001

原创 应用程序InetlliJ IDEA不能打开

一大早回公司想打开 IDEA,准备魔改一下 Spark,突然发现前两天更新的 IDEA 打不开了(那天更新完后没有尝试打开),WTF。第一反应是,我系统有多个 IDEA,而且还有 N 个版本还有各种社区版交错,会不会是版本的问题?应该是读取到我插件的配置文件。关于插件这个我倒不是太担心,因为我 PyCharm, GolandReferencehttps://intellij-support.jetbrains.com/hc/en-us/articles/360007568559.

2020-07-04 10:49:42 1091

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除