docker搭建hadoop集群一

本文详述了如何使用Docker从基础的Ubuntu镜像开始,一步步创建和配置容器,包括安装必要的软件、设置环境变量,以及创建用户和权限,最终构建一个用于Hadoop分布式集群的基础镜像,并通过复制容器快速部署多节点集群。
摘要由CSDN通过智能技术生成

前言

一般用docker都是直接下载装有hadoop的镜像,但是这次为了复习一下hadoop的搭建以及linux的使用,决定从零开始搭建一个完全分布式的集群。

容器创建

记得在用VMware的时候,这一步特别麻烦,现在docker两行就搞定了。
首先拉取需要的镜像,我这里以ubuntu:18.04为例子

docker pull ubuntu:18.04

   
   
  • 1

下载之后可以用docker images查看一下镜像
在这里插入图片描述
然后创建一个容器准备安装jdk、hadoop作为基础版本

docker run -it --name hadoop_base -h hadoop ubuntu:18.04 bash

   
   
  • 1

在这里插入图片描述
成功进入创建的容器

容器配置

必做

apt

这个容器最开始没有vi/vim,所以先更新apt安装一下vim
apt update然后apt install vim,还没有修改镜像源,可能有点慢,阻塞了的时候可以敲一下回车;
有了vim就可以去修改镜像源,也可以不修改直接安装ssh服务apt-get install openssh-server和rsync
apt-get install rsync
最好把ping和ifconfig也装上apt-get install iputils-pingapt-get install net-tools,便于测试网络

文件

  1. 创建目录:在opt目录下创建一个softwares用于放软件的压缩包、一个modules用于放解压的软件。
    mkdir /opt/modulesmkdir /opt/softwares
  2. 上传文件: 然后将自己的java和hadoop放入容器内,自己的电脑是mac或者linux系统的话cp绝对路径没问题,我的win10出现了问题。
    可以先进入文件所在目录cd 文件所在目录再用cp
    docker cp ./hadoop-2.7.2.tar.gz hadoop_base:/opt/softwaresdocker cp ./jdk-8u144-linux-x64.tar.gz hadoop_base:/opt/softwares
    接着进入容器可以看到hadoop和jdk已经传到了指定位置
    在这里插入图片描述
  3. 解压文件:直接使用tar -zxvf /opt/softwares/jdk-8u144-linux-x64.tar.gz -C /opt/modules/tar -zxvf /opt/softwares/hadoop-2.7.2.tar.gz -C /opt/modules/进行解压
  4. 最后就是环境变量的配置vim /root/.bashrc,不能放到vim /etc/profile,因为docker每次重启容器会失效。
# 支持中文
export  LANG=C.UTF-8

JAVA_HOME

export JAVA_HOME=/opt/modules/jdk1.8.0_144
export PATH= P A T H < s p a n c l a s s = " t o k e n p u n c t u a t i o n " > : < / s p a n > PATH<span class="token punctuation">:</span> PATH<spanclass="tokenpunctuation">:</span>JAVA_HOME/bin:$JAVA_HOME/sbin

HADOOP_HOME

export HADOOP_HOME=/opt/modules/hadoop-2.7.2
export PATH= P A T H < s p a n c l a s s = " t o k e n p u n c t u a t i o n " > : < / s p a n > PATH<span class="token punctuation">:</span> PATH<spanclass="tokenpunctuation">:</span>HADOOP_HOME/bin

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

别忘记了source /etc/profile
在这里插入图片描述

选做

权限

建议新手跳过这一步,因为我创建了一个用户又给了他root的所有权限,和root使用起来只有名字的区别没有别的区别。

  • 由于公司里面会有单独的大数据用户,所以首先准备一个用户叫bduser或者hadoop,我这里用户和密码都是bduser。
    在这里插入图片描述
  • 让刚刚的用户能借用root权限
    首先安装sudoapt-get install sudo,然后修改sudoers的权限chmod u+w /etc/sudoers
    进入文件进行修改vim /etc/sudoers
    根据自己的用户名加入这一行bduser ALL=NOPASSWD: ALL
    在这里插入图片描述
    :wq保存退出,一定要还原文件本来的权限chmod u-w /etc/sudoers
    这样一来bduser就拥有了root的权限,如果想更真实的模拟生产环境那就换用户,否则还是都用root吧,对于新手友好一些,我接下来也只会用root。

安全

一般是关闭防火墙和安全子系统,在这个镜像里没有就不需要关了。

复制容器

在以上的步骤,完成了一个基础版本的linux,以它为基础可以快速搭建hadoop集群。
docker export hadoop_base > hadoop_base.tar导出容器
docker import hadoop_base.tar hadoop导入容器为新的hadoop镜像
docker images查看一下现在有的镜像
在这里插入图片描述
然后就可以用这个镜像创建三个节点的hadoop集群

docker run -it -p 50070:50070 --name hadoop1 -h master hadoop bash 
docker run -it -p 8088:8088--name hadoop2 -h slave1 hadoop bash
docker run -it --name hadoop3 -h slave2 hadoop bash

 
 
  • 1
  • 2
  • 3

进入每台容器的时候ifconfig查看一下ip,我这里是.2、.3、.4,记住这个待会配置域名映射需要。
在这里插入图片描述

最后通过docker ps -a看看刚刚创建出的三台容器
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值