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的猿兄媛妹,偷偷掏出手機打卡下班了 ~~

相關文章
相關標籤/搜索