超详细,阿里云安装hortonwork sandbox HDP

在windows下用浏览器打开hortonwork中文官网,注册后得到下载连接. 我使用的版本是 HDP 2.6

本文原文链接http://write.blog.csdn.net/mdeditor#!postId=75171553

购买阿里云服务器,本人选择配置如下:

  • 服务器2核16GB,按时计费
  • 20GB系统盘
  • 120GB数据盘
  • 带宽10MBPS,流量按量计费 0.8元/GB

软件信息:

  • docker 1.12.6
  • OS centOS 7.3
  • HDP 2.6

下面介绍详细步骤:官网的英文安装步骤请点这里查看

  1. 在阿里云选择配置,支付完成后,使用阿里云的网页版终端连接实例(不用每次输入ip和root密码,比较方便)

  2. 在阿里云控制台——实例,挂载磁盘(必须是同一个区域,比如磁盘是华东2可用区B的,实例必须也是华东2可用区B)

  3. 先安装docker
    yum install docker

  4. 启动docker服务
    service docker start

  5. 查看docekr当前配置信息
    docker info
    注意到Total Size=107 GB(docker允许的总大小,不是实际占用磁盘大小)
    Base Device Size = 10 GB,而HDP sandbox解压后14GB,所以会报错。需要修改Base Device Size为16GB,具体方法参考文章最后的补充部分

  6. 下载HDP sandbox Docker版本,官网有三个版本,一定要选Docker版本,最适合linux上的安装。虚拟机版本其实也是Docker版本再封装了一层OS。
    wget -c 《在windows系统中获得的sandbox HDP官网下载链接》
    请耐心等待,我下载用了一上午。
    安装包保存目录,一定要确保执行wget命令的路径有10GB的可用空间

  7. 设置docker默认路径为120GB的数据盘,参考文献1-3中有详细步骤

  8. docker load -i HDP-xxxx-xxx.tar.gz

  9. 官网下载docker版本的sandbox启动sh脚本
    wget命令下载,2.6 HDP的sh脚本链接如下
    wget https://raw.githubusercontent.com/hortonworks/data-tutorials/master/tutorials/hdp/sandbox-deployment-and-install-guide/assets/start_sandbox-hdp.sh
    chmod 777 xxx.sh
    ./xxx.sh

  10. 修改阿里云主机的ip端口限制.
    实例——管理——本机安全组
    添加安全策略:
    TCP
    8888/8888
    0.0.0.0/0

  11. windows下公网ip+8888端口访问 http://xxx.xxx.xxx.xxx:8888/

到此,HDP sandbox安装完成


————————————–分割线,以下是补充部分—————————————
原标题:“修改docker容器的Base Device Size”
发布时间:August 18, 2016

注意:文章中的/etc/systemd/system/docker.service在阿里云的centOS 7.3 系统上是 /lib/systemd/system/docker.service

老高的容器在运行一段时间的时候会突然无法写入数据,报错

docker no space left on device
Google之,发现原来是Base Device Size的问题,其默认值是10G,而容器经过一段时间的运行写入文件量早已超过10G,就造成无法写入数据的问题了。

下面给出解决方案:

系统为Centos,其他OP应该大同小异。

首先查看docker的服务配置文件

/etc/systemd/system/docker.service
cat /etc/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker daemon --registry-mirror=https://hg3r3yxx.mirror.aliyuncs.com $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave
TimeoutStartSec=1min
Restart=on-failure

[Install]
WantedBy=multi-user.target
我们只关心其中的ExecStart一节,于是发现守护进程启动命令中已经预留$DOCKER_STORAGE_OPTIONS变量,并且应该存在于这个文件中 /etc/sysconfig/docker-storage。这就好办了,直接把老高想改成的40G写入到此文件中即可!

sudo echo "DOCKER_STORAGE_OPTIONS=--storage-opt dm.basesize=40G" > /etc/sysconfig/docker-storage

拓展阅读:
[1] HDP sandbox的使用,写的非常清楚. 官网上找不到中文使用教程 http://www.cnblogs.com/hseagle/p/3557389.html

参考文献:
[1] 修改docker默认保存路径. http://blog.csdn.net/kongxx/article/details/50310653
[1.1] docker命令行. http://www.infoq.com/cn/articles/docker-command-line-quest
[1.2] docker原理和配置, 不同的OS,非常全. http://blog.csdn.net/abcdocker/article/details/53158212
[2] docker load 空间不足的解决. https://segmentfault.com/a/1190000002931564
[3] 修改docker容器空间和池空间. http://www.cnblogs.com/HD/p/4807088.html
[3] 阿里云挂载数据盘. https://help.aliyun.com/document_detail/25426.html?spm=5176.doc25446.2.3.5tD3Q5

dd命令
if=file #输入文件名,缺省为标准输入。
of=file #输出文件名,缺省为标准输出。
/dev/zero: 在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。
其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。

dd if=/dev/hdx of=/dev/hdy #将本地的/dev/hdx整盘备份到/dev/hdy
dd if=/dev/hdx of=/path/to/image #将/dev/hdx全盘数据备份到指定路径的image文件


以上没效果,于是找到stackoverflow上帖子:
https://stackoverflow.com/questions/33094320/centos-7-docker-in-docker-error-no-space-left-on-device

建议修改service启动配置,修改运行时的根目录,centOS 7 版本的配置在 /lib/systemd/system/docker.service
启动项全部命令可以执行 dockerd-current –help 查看
ExecStart=/usr/bin/docker daemon -g /there_is_space_here

猜你喜欢

转载自blog.csdn.net/caib1109/article/details/75171553
HDP
今日推荐