5分钟装好hadoop集群

简介

这是一篇快速安装 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
主节点hadoop1172.20.0.2
从节点hadoop2172.20.0.3
从节点hadoop3172.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 9870:9870 -p 8088:8088 cys/ubuntu-ssh-jdk8-hadoop    # hadoop1 对外开放端口 9870 和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

到此为止, 大功告成!!

访问web节点

现在输入 127.0.0.1:9870 , 应该能看到hdfs管理界面如下:

image-20210721111720062

感谢

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值