余姚做轴承网站,网站版权符号代码,哪些外国购物网站可以做,信得过的网站开发推广Hadoop的运行模式
本地运行#xff1a;在一台单机上运行#xff0c;没有分布式文件系统#xff0c;直接读写本地操作系统的文件系统。特点#xff1a;不对配置文件进行修改#xff0c;Hadoop 不会启动 伪分布式#xff1a;也是在一台单机上运行#xff0c;但用不同的 …Hadoop的运行模式
本地运行在一台单机上运行没有分布式文件系统直接读写本地操作系统的文件系统。特点不对配置文件进行修改Hadoop 不会启动 伪分布式也是在一台单机上运行但用不同的 Java 进程模仿分布式运行中的各类节点特点Hadoop 启动的这些守护进程都在同一台机器上运行是相互独立的 Java 进程。 完全分布式数据存储在HDFS多台服务器工作企业中大量使用
要在本地去模拟这个真实的场景功能我们需要做好如下的准备 1准备3台客户机关闭防火墙、静态IP、主机名称 2安装javaJDK安装Hadoop并配置环境变量
3配置集群
4单点启动 5配置ssh 6群起并测试集群
现在我们来看看按照JDK和Hadoop并配置环境变量的工作。有两种思路
1. 每台机器都去手动安装一次上传jar包再去解压。
2. 把一台机器装好把module 拷贝到其他的机器。这样就不需要省略了上传和解压的工作了。
scp命令
基本语法
作用可实现服务器与服务器之间的数据拷贝
scp -r $pdir/$fname $user$host:$pdir/$fname
说明
1-r: 表示递归拷贝。如果要拷贝的是文件夹就把文件夹下的内容都拷贝
2$pdir/$fname: 要拷贝的文件路径/名称
3$userhost:$pdir/$fname: 目的地用户主机:目的地路径/名称
注意要输入相应的账号和密码
实例
背景
假设你已经
1在两台虚拟机hadoop100、hadoop101都已经创建好了/opt/module,/opt/software两个目录
2在hadoop100这台机器中已经安装了jdk和hadoop。
目标
现在的目标是要把hadoop100上的jdk文件夹拷贝到hadoop101中的相同的目录下。 操作
我们一起看具体操作
1. 启动虚拟机。把hadoop100和hadoop101都启动。
2. 进入到hadoop100
3. 命令 scp -r /opt/module/jdk1.8.0_212/ roothadoop101:/opt/module/jdk1.8.0_212/
三.scp命令———拓展使用
1、拉取。在hadoop101上拉取hadoop100机器上的内容如下左图。
1、推送。在hadoop100机器上把文件推送到hadoop101机器上如上右图。 2、搭桥。在hadoop101机器上把hadoop100的文件传递到hadoop102上
任务1
在hadoop102上将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。
分析使用scp进行拉取
操作
先登录到hadoop2 使用命令 scp -r roothadoop101:/opt/module/hadoop-3.1.3 /opt/module/
任务2
在hadoop101上操作将hadoop100中/opt/module目录下所有目录拷贝到hadoop102上。
分析使用scp进行搭桥
操作
登录hadoop101 使用命令 scp -r roothadoop100:/opt/module/* roothadoop102:/opt/module
rsync
主要用于备份和镜像 rsync和scp的区别是rsync只对差异文件做更新而scp是把所有文件都复制过去。故rsync效率更高 1. 基本语法
rsync -av $pdir/$fname $user$host:$pdir/$fname
语法说明
1-a归档拷贝尽可能让拷贝的文件之间保持一致。
2-v显示拷贝过程。
3$pdir/$fname: 要拷贝的文件路径/名称
4$userhost:$pdir/$fname: 目的地用户主机:目的地路径/名称
实操 rsync -av /opt/conf/ roothadoop101:/opt/conf
第一步在两台机器上准备文件。
在hadoop100的/opt/conf/ 新建1.txt, 2.txt, 3.txt, 4.txt
做一次同步。
[roothadoop100 ]$ rsync -av /opt/conf/ roothadoop101:/opt/conf/
它会在hadoop101上创建conf目录。
第二步在hadoop100中添加新文件5.txt, 6.txt, 7.txt
第三步使用命令把新添加的文件同步到hadoop101中。
命令如下
[roothadoop100 ]$ rsync -av /opt/conf/ roothadoop101:/opt/conf/
请特别注意目录最后的尾/。有/表示拷贝这文件夹下的内容没有/表示会拷贝这个文件夹
xsync脚本集群之间的同步
在root目录建立bin文件夹在bin内建立xsync文件并在文件中输入脚本
chmod x xsync
2.步骤
1在/root/bin目录下创建xsync文件。在这个
2在该文件中编写如下代码。这个部分的代码不需要会写能看懂了解即可。
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then echo Not Enough Arguement! exit;
fi
#2. 遍历集群所有机器
for host in hadoop100 hadoop101 hadoop102
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 3修改执行权限。此时我们去查看文件可以看到它的颜色是灰色的不具备执行权限如下图 接下来要通过命令 chmod x xsync或者是chmod 777 xsync
重新查看它的颜色它现在已经变成执行的脚本了如下图。 4测试使用。把这个脚本同步到其他的机器中。
[roothadoop100 ~]$ xsync /root/bin/ [课后小答]
scp的作用是什么 如果当前在A机器上要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下应该的命令应该怎么写 rsync与scp的区别是什么 答案
1.实现服务器和服务器之间数据拷贝 2.scp -r /etc/tst/B机器的用户名主机名:/etc/tst 3.rsync和scp区别是rsync只对差异文件做更新而scp是把所有文件都复制过去所以它的效果更高一些。