文章目录
- 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-00000
2.完全分布式模式
(1)流程
- 准备3台客户机(关闭防火墙,静态ip,主机名称)
- List item
- 安装jdk,hadoop
- 配置环境变量
- 配置集群
- 单点启动
- 配置ssh
- 群起测试集群
- scp定义:
scp可以实现服务器与服务器之间的数据拷贝 - 基本语法:
scp -r 要拷贝的文件路径/名称 目的地用户名@主机:目的地路径名称
-r表示递归
例子:102推送至103scp -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进行解密。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)