美文网首页
5分钟装好hadoop分布式集群

5分钟装好hadoop分布式集群

作者: 小肥爬爬 | 来源:发表于2021-07-20 18:35 被阅读0次

    简介

    这是一篇快速安装 hadoop集群的博客(安装jdk8和hadoop3.3 版本) , 应该只需要你5分钟.

    真的, 我希望你用5分钟就能装好 hadoop, 虽然我自己花了差不多4天才装好它.... 但程序员的时间是宝贵的, 希望你会喜欢这种博客风格.

    如果你想一步步来安装hadoop, 你可以看这篇勤快版本: https://www.jianshu.com/p/0c5176216b1d

    预备工作

    你当然要装好docker, 同时需要对docker 有一定的使用知识.

    你也需要下载好工程:

    git clone https://gitee.com/xiaofeipapa/docker_hadoop
    

    开始

    构建 docker

    进入下载好的git目录, 然后

    cd 到目录 ubuntu-ssh, 运行:

    sudo docker build -t 'cys/ubuntu-ssh' . 
    

    cd 到目录 ubuntu-jdk8, 运行:

    sudo docker build -t 'cys/ubuntu-ssh-jdk8' . 
    

    cd 到目录 ubuntu-jdk8-hadoop, 运行:

    sudo docker build -t 'cys/ubuntu-ssh-jdk8-hadoop' .
    

    构建自定义网络

    sudo docker network create --subnet=172.20.0.0/24 my_net
    

    --subnet :设置前 24 位为网络位,后 8 位为主机位,该网段可用 IP 地址:172.20.0.1 到 172.20.0.254

    其中, 172.20.0.1 为网关, 其他容器不能再使用.

    集群规划

    名称 ip
    主节点 hadoop1 172.20.0.2
    从节点 hadoop2 172.20.0.3
    从节点 hadoop3 172.20.0.4

    这里列出需要的集群信息. 注意ip和自定义网络的网段一致.

    启动容器

    # hadoop 1 : 172.20.0.2
    sudo docker run --name hadoop1 --hostname hadoop1 --net my_net --ip 172.20.0.2 -d -P -p 50070:50070 -p 8088:8088 cys/ubuntu-ssh-jdk8-hadoop    # hadoop1 对外开放端口50070和8088
    
    sudo docker run --name hadoop2 --hostname hadoop2 --net my_net --ip 172.20.0.3 -d -P cys/ubuntu-ssh-jdk8-hadoop    
    
    sudo docker run --name hadoop3 --hostname hadoop3 --net my_net --ip 172.20.0.4 -d -P cys/ubuntu-ssh-jdk8-hadoop   
    

    进入主节点进行操作

    sudo docker exec -it hadoop1 /bin/bash
    
    ping 172.20.0.3
    

    可以看到该容器能够ping 通其余两台机器. 后续的所有操作如无提示, 都是在主节点机器进行操作.

    设置免密码登录

    ssh-keygen
    # 一路回车
    
    # 提示输入密码, 密码是 root
    ssh-copy-id hadoop1
    ssh-copy-id hadoop2
    ssh-copy-id hadoop3
    

    执行命令

    cd /usr/local/hadoop
    bin/hdfs namenode -format
    sbin/start-all.sh
    

    检查主节点进程

    现在应该还是在主节点容器里, 敲入 jps, 应该看到以下进程:


    image.png

    检查从节点进程

    对 hadoop2 和 hadoop3 依次进入, 并运行 jps

    sudo docker exec -it hadoop2 /bin/bash
    jps
    

    应该能看到:

    image.png

    这样, hadoop 就算安装成功了.

    测试

    在主节点创建文件并上传

    创建 a.txt

    vim a.txt
    hello hadoop
    hello spark
    hello flink
    

    上传

    hdfs dfs -put a.txt /
    hadoop fs -ls /
    

    应该能看到文件已成功上传


    image.png

    提交job至集群测试

    cd /usr/local/hadoop/share/hadoop/mapreduce
    hadoop jar hadoop-mapreduce-examples-3.3.1.jar wordcount /a.txt /out
    

    首先应该能看到类似如下输出:


    image.png

    然后执行:

    hadoop fs -ls /out
    

    可以看到 out 的内容如下:

    image.png

    再查看输出内容:

    hadoop fs -cat /out/part-r-00000
    

    可以看到:


    image.png

    到此为止, 大功告成!!

    感谢

    https://www.cnblogs.com/rmxd/p/12051866.html#_label5_5

    相关文章

      网友评论

          本文标题:5分钟装好hadoop分布式集群

          本文链接:https://www.haomeiwen.com/subject/cfyrmltx.html