使用docker部署hadoop集群

最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群。

0. 写在前面

网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程。

目标:使用docker搭建一个一主两从三台机器的hadoop2.7.7版本的集群

准备

  • 首先要有一台内存8G以上的centos7机器,我用的是阿里云主机。

  • 其次将jdk和hadoop包上传到服务器中。

    我安装的是hadoop2.7.7。包给大家准备好了,链接:https://pan.baidu.com/s/15n_W-1rqOd2cUzhfvbkH4g 提取码:vmzw。

1. 步骤

大致分以下几步:

  1. 安装docker
  2. 基础环境准备
  3. 配置网络,并启动docker容器
  4. 配置host及ssh免密登录
  5. 安装配置hadoop
  6. 测试使用hadoop

1.1 安装docker

依次执行如下步骤安装docker。如果有docker环境的可以跳过。

yum update

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install -y docker-ce
 
systemctl start docker

docker -v

1.2 基础环境准备

1.2.1 创建基础的centos7镜像
  1. 拉取官方centos7镜像
docker pull centos
  1. 通过build Dockfile生成带ssh功能的centos镜像
  • 创建Dockerfile文件

    vi Dockerfile

    将如下内容写入Dockerfile

    FROM centos
    MAINTAINER mwf
    
    RUN yum install -y openssh-server sudo
    RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
    RUN yum  install -y openssh-clients
    
    RUN echo "root:qwe123" | chpasswd
    RUN echo "root   ALL=(ALL)       ALL" >> /etc/sudoers
    RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    
    RUN mkdir /var/run/sshd
    EXPOSE 22
    CMD ["/usr/sbin/sshd", "-D"]
    

    上述内容大概意思是:以centos镜像为基础,设置密码为wqe123,安装ssh服务并启动

  • 构建Dockerfile

    docker build -t="centos7-ssh" .
    

    将生成一个名为centos7-ssh的镜像,可以通过docker images查看

1.2.2 生成有hadoop和jdk环境的镜像

  1. 将准备好的包放在当前目录下。hadoop-2.7.7.tar.gzjdk-8u202-linux-x64.tar.gz

  2. 通过build Dockfile生成带hadoop和jdk环境的centos镜像

  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值