Hadoop是Apache软件基金会下一个开源分布式计算平台,以HDFS(Hadoop Distributed File System)、MapReduce(Hadoop2.0加入了YARN,Yarn是资源调度框架,能够细粒度的管理和调度任务,还能够支持其他的计算框架,比如spark)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。hdfs的高容错性、高伸缩性、高效性等优点让用户可以将Hadoop部署在低廉的硬件上,形成分布式系统。目前最新版本已经是3.x了,官方文档。
Hdfs
YARN
- 拉取镜像
到docker hub上拉取Hadoop镜像
[root@k8s-master]# docker pull kubeguide/hadoop:latest
[root@k8s-node1]# docker pull kubeguide/hadoop:latest
[root@k8s-node2]# docker pull kubeguide/hadoop:latest
或打包复制到其他节点:
# 打包镜像到本地
[root@k8s-master]# docker save e0af06208032 > hadoop.tar
# 发送到子节点
[root@k8s-master]# scp hadoop.tar k8s-node01:/root/hadoop
[root@k8s-master]# scp hadoop.tar k8s-node02:/root/hadoop
# 子节点构建镜像
[root@k8s-node1]# docker load --input hadoop.tar
[root@k8s-node2]# docker load --input hadoop.tar
- 编辑yaml文件
hadoop.yaml
hadoop-datanode.yaml
yarn-node.yaml
- 执行创建命令
[root@k8s-master]# kubectl create namespace dev
[root@k8s-master]# kubectl create -f hadoop.yaml
[root@k8s-master]# kubectl apply -f hadoop-datanode.yaml
[root@k8s-master]# kubectl apply -f yarn-node.yaml
- 创建完成后就可以通过浏览器看到熟悉的HDFS管理界面了
【http://ip:32007】
【http://ip:32088】
- 测试验证
[root@k8s-master1 ~]# kubectl get pods,svc -n hadoop -owide
[root@k8s-master1 ~]# kubectl exec -it pod/hdfs-master-5946bb8ff4-c4cpm -n dev – bash
root@hdfs-master-5946bb8ff4-c4cpm:~# hdfs dfs -mkdir /tmp
root@hdfs-master-5946bb8ff4-c4cpm:~# hdfs dfs -ls /
Found 1 items
drwxr-xr-x - root supergroup 0 2023-06-04 14:21 /tmp
root@hdfs-master-5946bb8ff4-c4cpm:~# echo "test hadoop" >test.txt
root@hdfs-master-5946bb8ff4-c4cpm:~#echo "test hadoop123456789" >/tmp/test.txt