在工作中经常遇到多个人同时使用一台机器同一个软件的情况,软件带有GUI,需要使用GPU,且因端口冲突,无法同时打开。使用docker封装和display映射,实现多用户共享的方法记录如下。
Flink SQL 原理及使用入门
Posted on
|
In
Flink
基于Apache Flink 1.6.x
1 Get Started
Flink SQL是Flink高层API,语法遵循ANSI SQL标准。示例如下
1 | SELECT car_id, MAX(speed), COUNT(speed) |
Flink SQL是在Flink Table API的基础上发展起来的,与上述示例对应的Table API示例如下
1 | table.where('speed > 90) |
上述示例使用Scala代码,结合隐式转换和中缀表示等Scala语法,Table API代码看起来非常接近SQL表达。
mesos net_cls test
Posted on
|
In
Mesos
1.mesos启动参数配置
slave启动参数配置,增加net_cls
1 | echo cgroups/cpu,cgroups/mem,cgroups/net_cls > /etc/mesos-slave/isolation |
增加mesos-slave启动参数--cgroups_net_cls_primary_handle=0x0001
,可以通过修改/usr/bin/mesos-init-wrapper
脚本实现,最终mesos-slave启动参数如下:
deploy flink on mesos marathon
Posted on
|
In
Flink
Mesos部署
1.下载安装
从官网下载Mesos的rpm安装包(下载链接)并在所有集群节点中安装mesos
1 | rpm -ivh mesos-1.1.0*.rpm |
注:可能会报libevent-devel依赖未安装,使用命令yum install libevent libevent-devel -y
安装
tips in Functional Programming in Scala
Posted on
|
In
Scala
update everyday(maybe weekly)
-
partial application
1
2
3
4
5
6
7
8
9def compose[A,B,C](f: B => C, g: A => B): A => C = {
(a: A) => f(g(a))
}
def curry[A,B,C](f: (A, B) => C): A => (B => C) = {
(a: A) => ((b: B) => f(a, b))
}
def uncurry[A,B,C](f: A => B => C): (A, B) => C = {
(a: A, b: B) => f(a)(b)
}
Libprocess concepts
Posted on
|
In
Mesos
先看官方定义:
1 | Library that provides an actor style message-passing programming model (in C++). |
mesos代码中大篇幅引用libprocess,其中定义了大量异步编程的原语,包括future、promise这些在c++11中也有的概念,onReady、onAny等回调注册接口,以及then串接异步调用等等强大功能。
Mesos Containerizer
Posted on
|
In
Mesos
Mesos Containerizer是mesos agent的关键部件,提供容器化所需的服务。
- 位于agent和容器之间
- 启动、更新和销毁容器
- 提供容器间的隔离
- 上报容器状态