news 2026/6/18 16:28:47

【Hadoop01-完全分布式运行模式】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Hadoop01-完全分布式运行模式】

1、分析

1)准备3台服务器(先配置一台,然后克隆两台)

2)安装JDK(之前配置过)

3)安装hadoop(hadoop下载点击此处)

4)配置环境变量(vim /etc/profile)

5)配置集群

6)单点启动

7)配置ssh

8)群起并测试集群

2、编写集群分发脚本

因为我只在其中一个服务器上安装了hadoop,需要将安装好的hadoop分发到另外两个服务器,所以这里通过集群分发脚本将hadoop分发到另外两外机器。

2.1、scp(secure copy安全拷贝

定义:scp可以实现服务器与服务器之间的数据拷贝

基本语法:

scp -r $pdir/$fname $user@$host:$pdir/$fname

命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称

# 在160服务器操作,将文件从160 拷贝到 161

scp -r c/ root@192.168.121.161:/opt/software/

# 在161服务器操作,将文件从160拷贝到161

scp -r root@192.168.121.161:/opt/software/hadoop-3.1.3 /opt/software/

# 在161服务器操作,将160的文件拷贝到162

scp -r root@192.168.121.160:/opt/software/hadoop-3.1.3 root@192.168.121.162:/opt/software/

2.2、rsync远程同步工具

定义:

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

rsync和scp区别:rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。

差异:scp全量拷贝,rsync增量拷贝

基本语法:

rsync -av $pdir/$fname $user@$host:$pdir/$fname

命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称

# 只同步差异化文件,将160同步到161

rsync -av root@192.168.121.160:/opt/software/hadoop-3.1.3/ /opt/software/hadoop-3.1.3/

简化脚本(好用的同步分发脚本)

预期目标:1、xsync + 文件名称 ,即可实现多个服务器完成同步操作。2、任何路径下都可以实现。

下载工具xsync:yum -y install xsync

编写脚本:

#!/bin/bash

#1. 判断参数个数

if [ $# -lt 1 ]

then

echo Not Enough Arguement!

exit;

fi

#2. 遍历集群所有机器

for host in 服务器160 服务器161 服务器162

do

echo ==================== $host ====================

#3. 遍历所有目录,挨个发送

for file in $@

do

#4. 判断文件是否存在

if [ -e $file ]

then

#5. 获取父目录

pdir=$(cd -P $(dirname $file); pwd)

#6. 获取当前文件的名称

fname=$(basename $file)

ssh $host "mkdir -p $pdir"

rsync -av $pdir/$fname $host:$pdir

else

echo $file does not exists!

fi

Done

done

将脚本放到/bin目录下:mv xsync /bin

测试:在根目录下创建一个目录110,然后执行脚本,去其它服务器看是否已完成同步

# 建目录

mkdir 110

# 同步

rsync 110

同步环境变量

# 同步

rsync /etc/profile

# 生效

source /etc/profile

# java

java -version

# hadoop

hadoop version

3、ssh免密登录配置

3.1.无密钥配置

# 显示当前目录下的所有文件和目录信息,包括隐藏文件

ls -al

找到.ssh目录,进入其中,如果没有显示.ssh目录,执行下列指令

# 通过SSH 协议连接到本机,常用于测试 SSH 服务是否正常运行,或配置免密码登录等场景。

ssh localhost

再次执行 ls -al,就可以看到.ssh目录了,进去之后,只有一个文件known_hosts文件。

# 生成本机的公钥和私钥

ssh-keygen -t rsa

执行完上述指令后,会多出来两个文件,id_rsa和id_rsa.pub,id_rsa存放了160的私钥,id_rsa.pub存放了160的私钥。

# 将公钥id拷贝到要访问的服务器上,包括自己

ssh-copy-id 服务器160

ssh-copy-id 服务器161

ssh-copy-id 服务器162

另外两个服务器可以做相同的操作,这样就可以互相免密访问。包括上述分发文件等操作。

备注:如果无法解析主机名,那么执行下列操作

vim etc/hostname

文件中加上要访问的服务器id地址加上主机名称即可。

192.168.121.160 服务器160 192.168.121.161 服务器161 192.168.121.161 服务器162
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 16:21:08

Windows Server 2016镜像获取、验证与部署实战指南

1. 项目概述:为什么今天还要关注Windows Server 2016镜像? 如果你正在搭建一个测试环境、部署一个老版本的应用,或者需要复现某个特定的生产场景,那么“Windows Server 2016镜像文件”这个关键词,很可能就是你搜索框里…

作者头像 李华
网站建设 2026/6/18 16:13:00

50行Python实现人脸检测:OpenCV+Haar级联原理与实战

1. 项目概述:为什么一张图里“找人脸”这件事,远比看起来复杂得多 你打开手机相册,随手点开一张聚会合影,系统几毫秒内就给每个人脸打上圆框、自动聚拢相似面孔、甚至还能识别谁是谁——这背后最基础也最关键的一步,就…

作者头像 李华
网站建设 2026/6/18 16:09:27

Grok 4.2 Beta:可追溯、可验证的AI生产力操作系统

1. 项目概述:Grok 4.2 Beta不是“又一个大模型”,而是一套可调度、可追溯、可验证的生产力操作系统 你可能已经刷到过类似标题:“Grok图像升级了!”“Grok视频能说中文了!”——但这些说法,就像说“汽车有…

作者头像 李华
网站建设 2026/6/18 16:01:30

用 Monk 快速搭建手部分割模型:Ego-Hands 数据集实战指南

1. 项目概述:用 Monk 快速搭建手部分割应用,实测 Ego-Hands 数据集全流程你有没有试过为一个具体视觉任务——比如从第一人称视角视频里精准抠出手部区域——从零搭模型、写数据加载器、调损失函数、跑训练、做推理,最后卡在 mask 后处理上&a…

作者头像 李华
网站建设 2026/6/18 15:52:36

MPC857T CPM带宽评估:从原理到实战的性能计算与设计优化

1. 项目概述:理解MPC857T CPM的带宽瓶颈与设计权衡在嵌入式网络和通信设备的设计中,选型一颗处理器往往不只是看主频和内存,其内置的通信外设性能,尤其是通信处理器模块(CPM)的带宽,常常是决定系…

作者头像 李华