容器部署spark+hadoop+java+scala+推荐服务

本文介绍了如何使用Docker容器部署Spark、Hadoop、Java、Scala以及自定义服务的详细步骤,包括下载镜像、创建容器、安装应用、配置软件以及打包容器镜像。涉及关键操作如端口映射、环境变量设置、软件版本匹配等。
摘要由CSDN通过智能技术生成
容器部署spark+hadoop+java+scala+自己服务

步骤:公网下载镜像 -> 创建容器 -> 安装应用 -> 容器打包 -> 创建镜像 -> 离线使用镜像

为了简单起见:只记录上述软件单节点安装方式,集群安装可修改相关配置文件,请自行百度。

公网下载镜像
  • 镜像来源:docker.io/centos
docker pull docker.io/centos    #下载镜像
  • 查看镜像

    docker image ls
    

完成公网下载镜像到本地,可以通过镜像创建容器

创建容器

自定义容器名字:recSys

创建容器有两种方式,第一种方式一般是实验阶段使用,正式用于生产一般推荐第二种,两者区别在于提前指定容器与宿主机之间映射端口。

第一种方式:没有指定端口,后期需要增加端口映射需要修改配置文件
docker run -it --name=recSys docker.io/centos /bin/bash #创建容器
exit #退出时候容器自动关闭,重新进入容器需要重启容器
docker start recSys #启动容器
docker exec -it recSys /bin/bash #进入容器
第二种方式:提前规划好端口或者IP

结合业务:8099就是hadoop管理监控端口,50070是文件系统管理端口,将宿主机8900映射为8099,50071映射为50070,8002映射为8002。8002是自己应用服务的端口。

[root@AIOps-1 /]# docker run -itd -p 8900:8099 -p 50071:50070 -p 8002:8002 --name=recsys rec_sys_ready /bin/bash #-d表示后台运行
1eaf173131b47858510ca3e9f4e2f5264fb3ec5de938ae3a123a85b670784357
[root@AIOps-1 /]# docker ps  #docker ps -a 查看正在或已停止历史运行容器
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                                                      NAMES
1eaf173131b4        rec_sys_ready           "/bin/bash"              6 seconds ago       Up 5 seconds        0.0.0.0:8002->8002/tcp, 0.0.0.0:8900->8099/tcp, 0.0.0.0:50071->50070/tcp   recsys
#这种方式创建容器前台看不了,需要通过exec进入容器
docker exec -it recSys /bin/bash #进入容器
安装应用

软件版本:需要安装jdk,spark,hadoop,scala,注意版本之间配套,如果不知道配套,可以每个软件都下载最新的版本

[root@d9243e9eccf1 opt]# ls
derby.log     jdk1.8.0_131  recsys        spark-1.5.0-bin-hadoop2.6
hadoop-2.7.3  metastore_db  scala-2.11.8

上传各软件:这里指从宿主机传到容器里,如果软件不在宿主机,需要将其上传到宿主机,然后再传到容器里。

  • 以spark为例,上传命令类似linux cp,用 docker cp 文件名 容器名称:目录
# 安装spark

[root@AIOps-1 ~]# docker cp spark-1.5.0-bin-hadoop2.6.tgz recSys:/opt/ #将软件包从宿主机复制到容器,recSys:/opt是容器名字和目标目录

#所有软件已上传
[root@d9243e9eccf1 opt]# ls
jdk-8u131-linux-x64.tar.gz  scala-2.11.8.tgz
recsys                      spark-1.5.0-bin-hadoop2.6.tgz

安装前准备

  • 下载的容器里没有ssh服务和客户端,需要手动安装ssh服务和客户端,否则启动hadoop会报错。
centos环境
yum -y install openssh-server openssh-clients
ubuntu环境
apt-get update
apt-get install openssh-server openssh-clients
  • 启动ssh服务,启动需手动创建/var/run/sshd,不然启动sshd的时候会报错

mkdir -p /var/run/sshd

  • sshd以守护进程运行,注意如果重启容器后需要手动起ssh服务
/usr/sbin/sshd -D &
  • 安装netstat,查看sshd是否监听22端口
apt-get install net-tools 或者yum install net-tools
netstat -apn | 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值