superset & zeppelin on docker

    集群或数据平台搭好了后,如cdh自带hue等notebook辅助在线处理探测分析,但仍是很鸡肋,若是想用更强大的在线分析和可视化工具,如superset & zeppelin 又不想影响集群,那在docker上安装它们变是一种即使捷有效,又高大尚的作法好 了,话很少说开始吧html

   1、 这里提供三种docker安装方法:

1.使用daocloud提供的脚本一键安装 还有Docker 加速器哦,具体参考:http://get.daocloud.io/#install-docker

在 Linux上 安装 Docker

Docker 的 安装资源文件 存放在Amazon S3,会间歇性链接失败。因此安装Docker的时候,会比较慢。 
你能够经过执行下面的命令,高速安装Docker。linux

curl -sSL https://get.daocloud.io/docker | sh

适用于Ubuntu,Debian,Centos等大部分Linux,会3小时同步一次Docker官方资源git

安装体验版或测试版,体验最新Docker。github

curl -sSL https://get.daocloud.io/docker-experimental | sh
curl -sSL https://get.daocloud.io/docker-test | sh

若是安装不成功,能够选择使用二进制包安装方式。 下载二进制包docker

配置 Docker 加速器

  • Linux
  • MacOS
  • Windows

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1169e82c.m.daocloud.ioCopyapache

该脚本能够将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.0四、Debian、CentOS6 、CentOS七、Fedora、Arch Linux、openSUSE Leap 42.1,其余版本可能有细微不一样。更多详情请访问文档json

2.使用阿里云的脚本直接安装:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

这里写图片描述

这里写图片描述

而后使用:docker info查看是否安装成功。ubuntu

配置国内数据源。

安装是完成了,而后想下载个镜像试试看,而后就出错了。错误的信息以下:centos

这里写图片描述

 

这里写图片描述

能够直接登陆阿里云的开发者平台查看的:阿里云开发者bash

也能够参考这里的内容进行配置:使用国内docker数据源

这里写图片描述

而后再次使用docker pull ubuntu的话,下载镜像的速度已经很快了。

使用镜像。

下载完镜像以后就能够进行使用了。

查看镜像信息:docker info,能够查看镜像的一些详细信息。

这里写图片描述

上面因为没有开启Docker daemon而提示了一次错误,因此应该先开启守护进程。

启动Docker守护进程:systemctl start docker用来启动守护进程。

中止守护进程:systemctl stop docker用来关闭守护进程。

查看全部的镜像:docker images

这里写图片描述

运行容器:docker run -i -t ubuntu /bin/bash,执行该命令以后,就会进入ubuntu镜像中。

首先-i,-t的参数的做用是,-i 标志保证容器中的STDIN是开启的,尽管咱们并无附着到容器中,但这个参数是标准输入的交互式sheel中的重要内容,-t是为告诉Docker为建立的容器分配一个伪tty终端。 
并且,执行run命令后,显示检查本地是否存在ubuntu镜像是否存在,这里并无指定ubuntu的版本,因此默认是latest标签的镜像。若是有的话就直接使用了,没有的话会查看官方维护的Docker Hub Registry是否有该镜像。因为这里是修改为了国内的阿里云数据源,因此查看的是阿里云的Hub。有的话,就下载到本地而后再使用了。而后直接就进入容器中执行/bin/bash。

这里写图片描述

经过username查看的就是该容器的ID。

容器命名:docker run --name leafage -i -t ubuntu /bin/bash,能够经过–name参数指定这个容器的名称,之后能够该名称代替容器ID使用。名称须要保证惟一性。

离开容器:exit

启动已经中止运行的容器:docker start 容器的名字或ID,能够经过容器的名称重启启动已经中止的容器,一样的使用容器的ID也能够。一样的restart会重启一个容器。

这里写图片描述

能够从图中看到显示命令了一个leafage的容器,而后离开以后了使用命令进行了启动。启动以后并无直接进入容器的环境。可是此容器已经启动,能够经过命令查看运行中的容器。

查看运行中的容器:docker ps

这里写图片描述

链接到运行中的容器:docker attach 容器名字或ID

这里写图片描述

3.centos7中的Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此我直接使用yum install docker

1. 查看系统版本: 
$ cat /etc/redhat-release 
CentOS Linux release 7.0.1406 (Core)

2. 安装docker 
$ yum install docker 
安装过程当中报错: 
Transaction check error: 
file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 
file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64

解决办法: 
$yum install libdevmapper* -y

再次运行: 
$yum install docker

3.检查安装是否成功 
$docker version 
若输出了 Docker 的版本号,说明安装成功了,可经过如下命令启动 Docker 服务:

4. $service docker start 
一旦 Docker 服务启动完毕,就能够开始使用 Docker 了。

使用docker

  1. 使用命令行的工具来检索名字为“tutorial”的镜像 
    $docker search tutorial

  2. 使用docker命令来下载镜像 
    $docker pull learn/tutorial

  3. 查看已下载的镜像 
    $ docker images 
    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
    docker.io/learn/tutorial latest 2d13ac7ee948 3 years ago 128 MB

  4. 在docker容器中运行hello world!

    docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。 
    $docker run learn/tutorial echo “hello word”

  5. 在容器中安装新的程序(wget命令) 
    $docker run learn/tutorial apt-get install -y wget

  6. 使用docker ps -l命令得到安装完ping命令以后容器的id。而后把这个镜像保存为learn/wget。 
    $ docker ps -l 
    Container ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
    1861c071d861 learn/tutorial “apt-get install -y w” 2 minutes ago Exited (0) 2 minutes ago furious_panini

  7. 保存对容器的修改 
    $ docker commit 1861c071d861 learn/wget 
    ad2245a8acd8014c39ad46b503cc8e74ce4202d9b4b4fdf48596b596b88059b4 
    执行完docker commit命令以后,返回新版本镜像的id号

  8. 运行新的镜像 
    到如今为止,咱们已经创建了一个完整的、自成体系的docker环境,而且安装了wget命令在里面。它能够在任何支持docker环境的系统中运行啦!(是否是很神奇呢?)让咱们来体验一下吧!

    在新的镜像中运行wget “http://blog.csdn.net/yown” 命令。 
    $docker run learn/wget wget “http://blog.csdn.net/yown

    成功啦! 
    $ docker ps -l 
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
    2e079c9ecac4 learn/wget “wget http://blog.csd” About a minute ago Exited (8) About a minute ago elegant_lumiere

  9. 检查运行中的镜像 
    $docker inspect 2e079c9ecac4

  10. 发布本身的镜像 
    a. 首先在www.docker.com注册帐户,登陆并在https://cloud.docker.com/repository/list 页面建立learn库

    b. 将刚才咱们作的镜像起个新的名字: 
    $docker tag learn/wget:latest yown/learn:latest

    c. 在命令行登陆: 
    $docker login

    d. 上传 
    $docker push yown/learn:latest

    Do you really want to push to public registry? [y/n]: y 
    The push refers to a repository [docker.io/yown/learn] (len: 1) 
    ad2245a8acd8: Pushing [=========================> ] 6.482 MB/12.48 MB

至此,整个docker的使用已体验完啦!

2、接下来就安装superset & zeppelin  

docker run -p 8088:8088 -v /dockerfs/superset/conf:/etc/superset -v mkdir /dockerfs/superset/data:/data  --name superset -d amancevice/superset:0.18.5

docker run -p 8080:8080 --rm -v /var/zeppelin/logs:/logs -v /var/zeppelin/notebook:/notebook -e ZEPPELIN_LOG_DIR='/logs' -e ZEPPELIN_NOTEBOOK_DIR='/notebook' --name zeppelin apache/zeppelin:0.8.0
 

只听啪啪两声,内心默念了声 “搞定”,偷瞄了眼还在加班写BUG的猿兄媛妹,偷偷掏出手机打卡下班了 ~~

相关文章
相关标签/搜索