• 使用Docker部署Hadoop


    使用Docker部署Hadoop

    拉取一个CentOS镜像作为Hadoop运行

    docker pull centos:8
    
    • 1

    配置JavaSSH环境

    创建容器

    创建一个名为 java_ssh_proto的容器

    docker run -d --name=java_ssh_proto --privileged centos:8 /usr/sbin/init
    
    • 1

    进入容器

    docker exec -it java_ssh_proto bash
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pskfQP7i-1656940564945)(Hadoop学习笔记.assets/image-20220703164811913.png)]

    配置镜像

    下载阿里云镜像配置

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    
    • 1

    修改配置文件

    sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    sed -i 's/releasever\//releasever-stream\//g' /etc/yum.repos.d/CentOS-Base.repo
    
    • 1
    • 2

    重置缓存

    yum clean all 
    yum makecache
    
    • 1
    • 2

    如果出现以下错误

    image-q20220703181326737

    解决方法:

    进入repos目录

    cd /etc/yum.repos.d/
    
    • 1

    修改文件内容

    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    
    • 1
    • 2

    再次缓存更新即可解决

    yum makecache
    
    • 1

    稍等片刻即可

    安装OpenJDK8SSH服务

    yum install -y java-1.8.0-openjdk-devel openssh-clients openssh-server
    
    • 1

    启动SSH服务

    systemctl enable sshd && systemctl start sshd
    
    • 1

    至此,包含 JavaSSH环境的容器创建完毕

    使用ctrl+d或者exit命令退出容器

    停止容器并保存

    docker stop java_ssh_proto
    docker commit java_ssh_proto java_ssh
    
    • 1
    • 2

    安装 Hadoop

    创建 Hadoop 单机容器

    用之前保存的 java_ssh 镜像创建容器 hadoop_single

    docker run -d --name=hadoop_single --privileged java_ssh /usr/sbin/init
    
    • 1

    使用阿里云镜像下载Hadoop

    wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz
    
    • 1

    镜像下载速度也勉勉强强。。。但是至少是比官网快多了

    将下载好的 hadoop 压缩包拷贝到容器中的 /root 目录下

    docker cp hadoop-3.2.3.tar.gz hadoop_single:/root/
    
    • 1

    进入容器

    docker exec -it hadoop_single bash
    
    • 1

    进入 /root 目录

    cd /root
    
    • 1

    解压压缩包

    tar -zxf hadoop-3.2.3.tar.gz 
    
    • 1

    解压后将得到一个文件夹 hadoop-3.2.3,现在把它拷贝到一个常用的地方:

    mv hadoop-3.2.3 /usr/local/hadoop
    
    • 1

    配置环境变量

    echo "export HADOOP_HOME=/usr/local/hadoop" >> /etc/bashrc
    echo "export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> /etc/bashrc 
    
    • 1
    • 2

    退出容器并重新进入,输入echo $HADOOP_HOME 的结果应该是 /usr/local/hadoop

    image-20220703啊1a90701676

    配置hadoop内置的环境变量

    echo "export JAVA_HOME=/usr" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
    echo "export HADOOP_HOME=/usr/local/hadoop" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
    
    • 1
    • 2

    输入下列命令查看是否成功

    hadoop version
    
    • 1

    (如果报 command not found 便再执行一次添加环境变量步骤并退出重进容器)

    image-2022070去3192313026

    至此,Hadoop容器制作完毕,接下来进入实际使用学习。

  • 相关阅读:
    PDF转成图片并识别成文字输出记录java代码
    软件二次安装时无法更改安装路径
    判断文件属主
    Java-校验规则Integer使用 @NotEmpty注解报错
    【python】anaconda中创建虚拟环境
    clip算法的研究
    【Java SE】面向对象三大特性之继承
    ctfshow萌新计划web1-5(正则匹配绕过)
    Django模型层之如何开启事务、常见的字段类型和参数、ORM字段参数、关系字段
    RocketMQ源码阅读(六)CommitLog
  • 原文地址:https://blog.csdn.net/qq_46039856/article/details/125608841