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 
    即可。
  • 相关阅读:
    [学习笔记]Java代码中各种类型变量的内存分配机制
    记录一次linux线上服务器被黑事件
    浅谈Facebook的服务器架构(组图)
    make: *** [sapi/cli/php] Error 1 解决办法
    linux CentOS 系统下如何将php和mysql命令加入到环境变量中
    Linux系统安装Apache 2.4.6
    日请求亿级的QQ会员AMS平台PHP7升级实践
    聊一聊淘宝首页和它背后的一套
    PHP与MySQL通讯那点事
    PHP多进程(4) :内部多进程
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7787765.html
Copyright © 2011-2022 走看看