Docker-hadoop集群搭建

本文提供从0开始在Docker中搭建Hadoop集群的步骤,包括事前准备、Docker容器配置、Hadoop集群配置和完全分布式启动。内容涵盖Docker镜像制作、集群IP与hostname映射、Hadoop关键组件配置、SSH免密登录以及wordcount测试。
摘要由CSDN通过智能技术生成

事前准备

搭建的过程中碰到过很多的坑,所以在这里给大家的是从0开始搭建的步骤,基本上按照顺序搭建就可以,有问题的同学可以留言.

  1. docker安装
  2. docker下载centos镜像文件(版本看个人喜好,推荐centos7+,centos7之前对docker的支持不完全,这里不做深究,毕竟重点是hadoop集群的搭建)
# 下载centos镜像
sudo docker pull centos:centos7

docker容器中进行配置

  1. 首先启动一个基于centos7的最基本容器
# --name:容器名称,自己随意起
# --privileged:给与扩展权限,没有此选项的话容器内的root用户并不是真正意义上的root权限
# -d:为daemon,表示运行在后台的进程
# 然后接需要使用的镜像的registry:tag
# 容器运行/usr/sbin/init脚本后,才可以在容器内使用systemctl命令
# 否则会报Failed to get D-Bus connection: Operation not permitted
sudo docker run --name "centos-base" --privileged -d centos:centos7 /usr/sbin/init

# -it:开启一个伪终端设备提供给用户来进行交互
# i:interactive 交互模式
# t:伪tty
sudo docker exec -it centos-base /bin/bash
  1. 修改root用户密码,并创建一般用户(根据自己喜好来就行,这里我用的是hadoop)
# 修改root密码
passwd
# 添加hadoop用户
useradd hadoop
passwd hadoop

3.安装sudo(新手向,老鸟请跳过)

# 如果不知道一个命令需要安装什么软件时,可以先使用provides来查看
yum provides sudo
# 这里强行不用-y,为的是让新手能够仔细看看自己安装的内容和过程,本文后面也是如此一律不加-y
yum install sudo-1.8.23-4.el7.x86_64

# 执行visudo命令,来配置sudo信息
# 在101行位置为hadoop用户添加配置(可自己酌情配置)
visudo
# 配置成后以后我们切换到hadoop用户来进行接下来的操作
su - hadoop

在这里插入图片描述

4.安装wget(新手向,老鸟请跳过)

# 其实可以直接加-y参数自动同意安装,但是这里是新手向,建议仔细看清自己要安装的软件信息
yum install wget

5.jdk配置(新手向,老鸟请跳过)
如果不清楚具体下载方式的,可以参考我的另一篇博客jdk下载

# 创建一个文件夹,用来存放需要下载的软件包
sudo mkdir /opt/download
cd /opt/download

或者你主机中有jdk的也可以通过docker cp命令拷贝到当前容器中.
需要在docker容器外执行

# -a:完全拷贝,包括UID,GID等等
# -L:追踪链接文件的源目标
# /opt/download/jdk-8u202-linux-x64.tar.gz 这个是你本机存放jdk的位置,根据实际情况来
# centos:base 容器的名称,也可以用id
sudo docker cp -aL /opt/download/jdk-8u202-linux-x64.tar.gz centos-base:/opt/download/

在这里插入图片描述
创建/opt/softwares目录目录名称看个人喜好(以后的软件都解压到此处),然后将jdk解压到此处

sudo mkdir /opt/softwares
sudo tar xzf /opt/download/jdk-8u202-linux-x64.tar.gz \
-C /opt/softwares
# 做个软链接,版本号太长打起来累
cd /opt/softwares
sudo ln -s jdk1.8.0_202/ jdk

配置JAVA环境变量

# /etc/profle 中的配置作用于所有用户
# 而~/.bash_profile 中的配置只作用于当前用户
vi ~/.bash_profile
# 在~/.bash_profle文件中添加JAVA相关信息
export JAVA_HOME=/opt/softwares/jdk
PATH=$PATH:......中间省略,添加:$JAVA_HOME/bin:$JAVA_HOME/sbin
source ~/.bash_profile
或
. ~/.bash_profile

在这里插入图片描述

# 查看版本信息
java -version

在这里插入图片描述
6. 下载并配置hadoop本地环境(新手向,老鸟请跳过)
具体细节也可以参照我的另外一篇博客hadoop单机模式与伪分布式

# 下载hadoop 同jdk一样,也可以从本地复制,由于上面做过演示了,所以这里不再做同样演示.
sudo wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
# 解压缩到/opt/softwares目录下
sudo tar xzf hadoop-2.8.5.tar.gz -C /opt/softwares/
# 名字太长记不住,来个链接(开玩笑,其实还有一个目的,就是当目录中有多个版本时,用链接的方式比较方便)
cd /opt/softwares/
sudo ln -s hadoop-2.8.5/ hadoop

在这里插入图片描述

# 同jdk配置时一样,再~/.bash_profile中添加hadoop环境变量
vi ~/.bash_profile
export HADOOP_HOME=/opt/softwares/hadoop
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 重读配置文件
source ~/.bash_profile
或
. ~/.bash_profile

在这里插入图片描述

# 查看hadoop配置情况
hadoop version

在这里插入图片描述

如果报

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值