docker从零开始搭建Hadoop完全分布式(一)-Linux基础版安装与集群环境准备

文章目录

  • 前言
  • 容器创建
  • 容器配置
    • 必做
      • apt
      • 文件
    • 选做
      • 权限
      • 安全
  • 复制容器

前言

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

容器创建

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

docker pull ubuntu:18.04

下载之后可以用docker images查看一下镜像
docker从零开始搭建Hadoop完全分布式(一)-Linux基础版安装与集群环境准备_第1张图片
然后创建一个容器准备安装jdk、hadoop作为基础版本

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

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

容器配置

必做

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=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin

# HADOOP_HOME
export HADOOP_HOME=/opt/modules/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin

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

选做

权限

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

  • 由于公司里面会有单独的大数据用户,所以首先准备一个用户叫bduser或者hadoop,我这里用户和密码都是bduser。
    docker从零开始搭建Hadoop完全分布式(一)-Linux基础版安装与集群环境准备_第2张图片
  • 让刚刚的用户能借用root权限
    首先安装sudoapt-get install sudo,然后修改sudoers的权限chmod u+w /etc/sudoers
    进入文件进行修改vim /etc/sudoers
    根据自己的用户名加入这一行bduser ALL=NOPASSWD: ALL
    docker从零开始搭建Hadoop完全分布式(一)-Linux基础版安装与集群环境准备_第3张图片
    :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

进入每台容器的时候ifconfig查看一下ip,我这里是.2、.3、.4,记住这个待会配置域名映射需要。
docker从零开始搭建Hadoop完全分布式(一)-Linux基础版安装与集群环境准备_第4张图片

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

你可能感兴趣的:(Hadoop)