【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

相关推荐
kruptos26 分钟前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
小智老师PMP2 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
会周易的程序员4 小时前
5Draft(五帝)测试报告
服务器·c++·分布式·raft·共识算法·共识·算力服务器
想要打 Acm 的小周同学呀10 小时前
Kafka消息队列出现挤压如何解决?
分布式·kafka
stark张宇14 小时前
分布式事务最全图解(6种方案):从强一致的2PC到最终对账,彻底搞懂数据一致性
分布式·后端
会周易的程序员15 小时前
5Draft使用说明书
服务器·c++·分布式·raft·共识
富士康质检员张全蛋15 小时前
Kafka实战 自定义分区器 几种常见的分区器
分布式·kafka
努力努力再努力wz15 小时前
【Redis入门系列】:从 RESP 协议到 redis-plus-plus:Redis 客户端编程与 C++ 接口设计
开发语言·数据库·c++·redis·分布式·缓存·架构
青禾83716 小时前
Git 与 SVN 完全指南:从集中式到分布式的版本控制
分布式·git·svn
2301_8009549916 小时前
Git 版本控制核心概念详解:从集中式到分布式
分布式·git