CentOS Hadoop与Windows如何互操作
导读:CentOS Hadoop 与 Windows 互操作实践指南 一、网络与访问前提 让 Windows 主机与 CentOS 虚拟机处于同一网段:优先使用 桥接模式(Bridged),或 NAT 模式并配置端口转发。在 CentOS 中确...
CentOS Hadoop 与 Windows 互操作实践指南
一、网络与访问前提
- 让 Windows 主机与 CentOS 虚拟机处于同一网段:优先使用 桥接模式(Bridged),或 NAT 模式并配置端口转发。在 CentOS 中确认地址:ip addr;在 Windows 上用 ping 测试连通性。
- 在 CentOS 启动 Hadoop 服务:start-dfs.sh、start-yarn.sh;用 jps 检查 NameNode/DataNode/ResourceManager/NodeManager 进程。
- 开放访问端口(示例):HDFS NameNode RPC 9000、HDFS Web UI 50070、YARN ResourceManager 8088、JobHistory 19888。
- 防火墙放行(firewalld):firewall-cmd --permanent --add-port=9000/tcp 等;或临时测试用 systemctl stop firewalld(不推荐生产)。
- 在 Windows 的 hosts(C:\Windows\System32\drivers\etc\hosts)写入“虚拟机IP 主机名”映射,便于用主机名访问 UI 与 RPC。
二、Windows 上的 IDEA 远程访问 CentOS 的 HDFS 与 YARN
- 在 CentOS 的 Hadoop 配置中,将 core-site.xml 的 fs.defaultFS 改为虚拟机 IP(如:hdfs://192.168.1.120:9000),不要用 localhost,否则 Windows 无法连通。
- Windows 端准备 Hadoop 运行环境:设置 HADOOP_HOME 与 PATH;将对应版本的 winutils.exe、hadoop.dll 放入 %HADOOP_HOME%\bin(Windows 本地库用于避免权限/本地库缺失报错)。
- IDEA 工程依赖(Maven,示例版本可按需调整):
- hadoop-client、hadoop-common、hadoop-hdfs
- 代码示例(远程访问 HDFS):
- Configuration conf = new Configuration();
- conf.set(“fs.defaultFS”, “hdfs://192.168.1.120:9000”);
- conf.set(“dfs.client.use.datanode.hostname”, “true”);
- FileSystem fs = FileSystem.get(new URI(“hdfs://192.168.1.120:9000”), conf, “hadoop”);
- 提交作业到 YARN(可选):
- conf.set(“mapreduce.framework.name”, “yarn”);
- conf.set(“yarn.resourcemanager.address”, “192.168.1.120:8032”);
- 运行时可加 JVM 参数:-DHADOOP_USER_NAME=hadoop(解决权限/归属问题)。
三、Windows 与 CentOS 之间的文件互通
- 方案 A(开发/调试最便捷):VMware 共享文件夹
- 安装 VMware Tools,在 VMware 设置共享目录;CentOS 中默认挂载到 /mnt/hgfs。
- 示例:将 Windows 的 D:\data 共享后,在 CentOS 的 /mnt/hgfs 下可见并可被 Hadoop 任务作为输入/输出目录(注意目录权限与归属)。
- 方案 B(跨主机/生产更通用):SMB/CIFS 网络共享
- Windows 开启共享(如共享盘符或目录),CentOS 作为客户端安装 samba-client 并挂载:
- yum -y install samba-client cifs-utils
- mkdir -p /mnt/win_share
- mount -t cifs -o username=winuser,password=winpwd //192.168.1.10/share /mnt/win_share
- 如需开机自动挂载,写入 /etc/fstab://192.168.1.10/share /mnt/win_share cifs username=winuser,password=winpwd,soft,rw 0 0。
- Windows 开启共享(如共享盘符或目录),CentOS 作为客户端安装 samba-client 并挂载:
四、常见问题与快速排查
- 连接被拒绝/访问超时:检查 fs.defaultFS 是否为虚拟机 IP、服务是否已启动(start-dfs.sh/start-yarn.sh)、端口是否放行(firewall-cmd 或临时关闭测试)、网络模式是否为桥接/NAT 端口转发是否正确。
- Windows 浏览器打不开 50070/8088:先用 虚拟机IP 访问(不要用 master 主机名);若 IP 可访问而主机名不可,在 Windows hosts 添加 “IP 主机名” 映射。
- IDEA 报权限不足:运行时增加 -DHADOOP_USER_NAME=你的Hadoop用户;或在 HDFS 上调整目录权限(如 hdfs dfs -chmod -R 755 /user/youruser)。
- Windows 本地库缺失:放置正确版本的 winutils.exe/hadoop.dll 到 %HADOOP_HOME%\bin,并设置 System.setProperty(“hadoop.home.dir”, “D:\hdfs”)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Hadoop与Windows如何互操作
本文地址: https://pptw.com/jishu/754271.html
