zoukankan      html  css  js  c++  java
  • 制作spark镜像

    构建镜像

      添加jdk引用(可以使用yum进行安装);
      安装SSH
      碰到一个问题,执行systemctl的时候发生了异常:
        Failed to get D-Bus connection
      解决这个问题的方式就是:
     docker run --privileged -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup centos /usr/sbin/init 
      这种启动方式将会导致操作系统重头启动,这个时候就会要求登录;牵涉到root密码问题,增加如下RUN指令首先密码重置;
     echo "root:rootpwd" | chpasswd
      之所以要这样处理可以算是centos7的一个bug吧(尽管这个bug是开始之初就公布出来的,可以在github的官网上面看到):正常启动docker无法使用systemctl,因为systemd采用的是fakeSystem;所以各种操作能够在Dockerfile中实现就在dockerFile中实现,不要再docker start(run)之后,再进入到里面的命令行来敲击“systemctl”。从实际情况来看-v后面部分似乎不需要指定也是可以的。
      以下是dockerifle核心内容:
    FROM daocloud.io/library/centos
    COPY spark-2.2.0-bin-hadoop2.7.tgz /opt
    COPY jdk1.8.tar.gz /opt
    RUN yum -y install openssh-server openssh-clients
    RUN echo "root:root" | chpasswd
    RUN systemctl enable sshd

      这里制作启动镜像,最好首先制作一个centos7-patch版本,安装上lsof,ssh,jdk等必备工具;然后基于此镜像之上,来制作spark镜像

    启动spark

    启动spark:
    /opt/sparkjarfolder/sbin/start-all.sh
    即可自动启动master以及worker节点
     
    spark的work节点启动的时候报错:JAVA_HOME is not set;
    在conf文件夹下面的spark-env.sh中增加一句:
     export JAVA_HOME=/opt/jdk1.8.0_40 
    即可。
  • 相关阅读:
    shell 函数用法
    shell read变量的读入
    利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果
    shell重定向介绍及使用
    监控MySQL或Web服务是否正常
    centos 6.5下安装nmap工具及简单用法
    if条件简单语法
    shell 的条件表达式及逻辑操作符简单介绍
    mysql常见的错误代码
    Linux MySql 安装与配置(二进制包)
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7787765.html
Copyright © 2011-2022 走看看