文章目录
- hodoop介绍
- 一、hadoop三种运行模式
- 二、模式示例
- 1.本地模式
- 2.完全分布式模式
- (1)流程
- (2)编写集群分发脚本xsync
- 1.scp安全拷贝
- 2.rsync远程同步工具
- 3.集群分发脚本xsync
- 4.ssh免密登录(切换用户需要再次执行)
一、hadoop三种运行模式
二、模式示例 1.本地模式本地模式 :数据存储在linux本地(只是在测试偶尔用)
伪分布式:数据存储在HDFS(一台主机模拟多主机)
完全分布式:数据存储在HDFS(多台服务器工作)企业大量使用
在hadoop文件夹下新建
mkdir wcinput cd wcinput vim word.txt //任意写入内容
./wcoutput要是不存在的文件夹,不然会抛出异常
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount wcinput/ ./wcoutput cat part-r-000002.完全分布式模式 (1)流程
- 准备3台客户机(关闭防火墙,静态ip,主机名称)
- List item
- 安装jdk,hadoop
- 配置环境变量
- 配置集群
- 单点启动
- 配置ssh
- 群起测试集群
- scp定义:
scp可以实现服务器与服务器之间的数据拷贝 - 基本语法:
scp -r 要拷贝的文件路径/名称 目的地用户名@主机:目的地路径名称
-r表示递归
例子:102推送至103 scp -r jdk1.8.0_331/ root@hadoop103:/opt/module/
103从102拉取:scp -r root@hadoop102:/opt/module/hadoop-3.3.1 ./
103拷贝102到104:
scp -r root@hadoop102:/opt/module/* root@hadoop104:/opt/module/
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点
rsync和scp的区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去
(1)基本语法
rsync -av 要拷贝的文件路径/名称 目的地用户名@主机:目的地路径名称
-a 表示归档拷贝
-v 显示复制过程
示例:rsync -av hadoop-3.3.1/ root@hadoop103:/opt/module/
#!/bin/bash #1.判断参数个数 if [ $# -lt 1 ] then echo not enough argument! exit; fi #2.便利集群所有机器 for host in hadoop102 hadoop103 hadoop104 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
给权限执行
chmod 777 xsync
拷贝全局可用
sudo cp /home/howey/bin/xsync /bin/
执行示例
xsync a.txt
生成密钥
ssh-keygen -t rsa
将本地的ssh公钥文件安装到远程主机对应的账户下
ssh-copy-id hadoop103
免密原理:
A服务器:生成密钥对,将A公钥安装到B服务器下,
当Assh访问B时携带经过私钥A加密的数据,B服务器接收到之后,去授权key查找到A的公钥,根据服务器A的公钥进行解密。
返回的数据采用A的公钥进行加密返回给A,A接收返回的数据采用私钥A进行解密。



