从零开始的Hadoop学习(三)| 集群分发脚本xsync
1. Hadoop目录结构
- bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
- etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
- lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
- sbin目录:存放启动或停止Hadoop相关服务的脚本
- share目录:存放Hadoop的依赖jar包、文档、和官方案例
2. Hadoop运行模式
本地模式、伪分布式模式以及完全分布式模式。
- 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。
- 伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司用来测试,生产环境不用。
- 完全分布式模式:多台服务器组成分布式环境。生产环境使用。
2.1 本地运行模式(官方 WordCount)
-
1)创建在hadoop-3.1.3文件下面创建一个wcinput文件夹
[atguigu@hadoop102 hadoop-3.1.3]$ mkdir wcinput
-
2)在wcinput文件下创建一个word.txt文件
[atguigu@hadoop102 hadoop-3.1.3]$ cd wcinput
-
3)编辑 word.txt 文件
[atguigu@hadoop102 wcinput]$ vim word.txt
在文件中输入如下内容
hadoop yarn hadoop mapreduce atguigu atguigu
-
4)回到Hadoop 目录/opt/module/hadoop-3.1.3
-
5)执行程序
[atguigu@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput
-
6)查看结果
[atguigu@hadoop102 hadoop-3.1.3]$ cat wcoutput/part-r-00000 看到如下结果: atguigu 2 hadoop 2 mapreduce 1 yarn 1
3.2 完全分布式运行模式(开发重点)
分析:
1)准备3台客户机(关闭防火墙、静态IP、主机名称)
2)安装JDK
3)配置环境变量
4)安装Hadoop
5)配置环境变量
6)配置集群
7)单点启动
8)配置ssh
9)群起并测试集群
3.2.2 编写集群分发脚本 xsync
scp (secure copy) 安全拷贝
-
1)scp 定义
scp 可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
-
2)基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname 命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
-
3)实际操作
(a) 在hadoop102上,将hadoop102中/opt/module/jdk1.8.0_212目录拷贝到hadoop103上。
[atguigu@hadoop102 ~]$ scp -r /opt/module/jdk1.8.0_212 atguigu@hadoop103:/opt/module
(b) 在hadoop103上,将hadoop102中/opt/module/hadoop-3.1.3目录拷贝到hadoop103上。
[atguigu@hadoop103 ~]$ scp -r atguigu@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/
© 在hadoop103上操作,将hadoop102中/opt/module目录下所有目录拷贝到hadoop104上。
[atguigu@hadoop103 opt]$ scp -r atguigu@hadoop102:/opt/module/* atguigu@hadoop104:/opt/module
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync 和 scp 区别:用 rsync做文件的复制要比 scp 的速度快,rsync 只对差异文件做更新。scp 是把所有文件都复制过去。
-
1)基本语法
rsync -av $pdir/$fname $user@$host:$pdir/$fname 命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
选项参数说明
选项 功能 -a 归档拷贝 -v 显示复制过程 -
2)实际操作
(a) 删除hadoop103中/opt/module/hadoop-3.1.3/wcinput
[atguigu@hadoop103 hadoop-3.1.3]$ rm -rf wcinput/
(b) 同步hadoop102中的/opt/module/hadoop-3.1.3到hadoop103
[atguigu@hadoop102 module]$ rsync -av hadoop-3.1.3/ atguigu@hadoop103:/opt/module/hadoop-3.1.3/
xsync集群分发脚本
-
1)需求:循环复制文件到所有节点相同的目录下
-
2)需求分析
(a)rsync 命令原始拷贝:
rsync -av /opt/module atguigu@hadoop103:/opt/
(b)期望脚本:xsync 要同步的文件名称
(c)期望脚本在任何路径都能使用(脚本放在声明了全局环境变量的路径)
[atguigu@hadoop102 ~]$ echo $PATH /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/atguigu/.local/bin:/home/atguigu/bin:/opt/module/jdk1.8.0_212/bin
-
3)脚本实现
(a)在/home/atguigu/bin 目录下创建 xsync 文件
[atguigu@hadoop102 opt]$ cd /home/atguigu [atguigu@hadoop102 ~]$ mkdir bin [atguigu@hadoop102 ~]$ cd bin [atguigu@hadoop102 bin]$ vim xsync
在该文件下编写如下代码
#!/bin/bash#1. 判断参数个数 if [ $# -lt 1 ] thenecho Not Enough Arguement!exit; fi#2. 遍历集群所有机器 for host in hadoop102 hadoop103 hadoop104 doecho ==================== $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:$pdirelseecho $file does not exists!fidone done
(b)修改脚本 xsync 具有执行权限
[atguigu@hadoop102 bin]$ chmod +x xsync
(c)测试脚本
[atguigu@hadoop102 ~]$ xsync /home/atguigu/bin
(d)将脚本复制到 /bin 中,以便全局调用
[atguigu@hadoop102 bin]$ sudo cp xsync /bin/
(e)同步案件变量配置(root所有者)
[atguigu@hadoop102 ~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh
注意:如果用了 sudo,那么xsync一定要给它的路径补全。
让环境变量生效
[atguigu@hadoop103 bin]$ source /etc/profile [atguigu@hadoop104 opt]$ source /etc/profile
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
从零开始的Hadoop学习(三)| 集群分发脚本xsync
1. Hadoop目录结构 bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件lib目录:存放Hadoop的本地库(对…...
![](https://www.ngui.cc/images/no-images.jpg)
golang http transport源码分析
golang http transport源码分析 前言 Golang http库在日常开发中使用会很多。这里通过一个demo例子出发,从源码角度梳理golang http库底层的数据结构以及大致的调用流程 例子 package mainimport ("fmt""net/http""net/url""…...
![](https://img-blog.csdnimg.cn/1908e35164664e0e8c163e34378ca630.png)
spring boot 项目整合 websocket
1.业务背景 负责的项目有一个搜索功能,搜索的范围几乎是全表扫,且数据源类型贼多。目前对搜索的数据量量级未知,但肯定不会太少,不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多,未了避免有个别极大数据源影响整…...
![](https://img-blog.csdnimg.cn/f680974bae934cab810b137c624cb4a0.png)
统计学补充概念-17-线性决策边界
概念 线性决策边界是一个用于分类问题的线性超平面,可以将不同类别的样本分开。在二维空间中,线性决策边界是一条直线,将两个不同类别的样本分隔开来。对于更高维的数据,决策边界可能是一个超平面。 线性决策边界的一般形式可以表…...
![](https://www.ngui.cc/images/no-images.jpg)
指针变量、指针常量与常量指针的区别
指针变量、指针常量与常量指针 一、指针变量 定义:指针变量是指存放地址的变量,其值是地址。 一般格式:基类型 指针变量名;(int p) 关键点: 1、int * 表示一种指针类型(此处指int 类型),p(变量…...
![](https://img-blog.csdnimg.cn/aec4019b09f14d2cae5650d124ae666a.png)
mq与mqtt的关系
文章目录 mqtt 与 mq的区别mqtt 与 mq的详细区别传统消息队列RocketMQ和微消息队列MQTT对比:MQ与RPC的区别 mqtt 与 mq的区别 mqtt:一种通信协议,规范 MQ:一种通信通道(方式),也叫消息队列 MQ…...
![](https://www.ngui.cc/images/no-images.jpg)
代码大全阅读随笔 (二)
软件设计 设计就是把需求分析和编码调试连在一起的活动。 设计不是在谁的头脑中直接跳出来了,他是不断的设计评估,非正式讨论,写实验代码以及修改实验代码中演化和完善。 作为软件开发人员,我们不应该试着在同一时间把整个程序都塞…...
![](https://www.ngui.cc/images/no-images.jpg)
vue 项目的屏幕自适应方案
方案一:使用 scale-box 组件 属性: width 宽度 默认 1920height 高度 默认 1080bgc 背景颜色 默认 "transparent"delay自适应缩放防抖延迟时间(ms) 默认 100 vue2版本:vue2大屏适配缩放组件(vu…...
![](https://www.ngui.cc/images/no-images.jpg)
23软件测试高频率面试题汇总
一、 你们的测试流程是怎么样的? 答:1.项目开始阶段,BA(需求分析师)从用户方收集需求并将需求转化为规格说明书,接 下来在项目组领导会组织需求评审。 2.需求评审通过后,BA 会组织项目经理…...
![](https://img-blog.csdnimg.cn/img_convert/1ce76723867177f2b5b3c66335001385.jpeg)
PHP8的匿名函数-PHP8知识详解
php 8引入了匿名函数(Anonymous Functions),它是一种创建短生命周期的函数,不需要命名,并且可以在其作用域内直接使用。以下是在PHP 8中使用匿名函数的知识要点: 1、创建匿名函数,语法格式如下&…...
![](https://img-blog.csdnimg.cn/0149c2f2d1544e8481fd872e872a6f2a.png)
Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)
一、Redis是什么 Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、…...
![](https://img-blog.csdnimg.cn/c969940741e64abcbbfcf41ed1609c40.png)
C语言链表梳理-2
链表头使用结构体:struct Class 链表中的每一项使用结构体:struct Student#include <stdio.h>struct Student {char * StudentName;int StudentAge;int StudentSex;struct Student * NextStudent; };struct Class {char *ClassName;struct Stude…...
![](https://img-blog.csdnimg.cn/67f4ce53a4444df19bf434bec4fe2b26.png)
【深度学习】实验03 特征处理
文章目录 特征处理标准化归一化正则化 特征处理 标准化 # 导入标准化库 from sklearn.preprocessing import StandardScalerfrom matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore&quo…...
![](https://img-blog.csdnimg.cn/4e9342b8222549a0850439744198f6ba.png)
基于Dpabi的功能连接
1.预处理 这里预处理用Gretna软件进行,共分为以下几步: (1)DICOM转NIfTI格式 (2)去除前10个时间点(Remove first 10 times points):由于机器刚启动、被试刚躺进去也还需适应环境,导致刚开始扫描的数据很…...
![](https://img-blog.csdnimg.cn/7a505b8251ea431c8d7f676e74ae45ac.png#pic_center)
在React项目是如何捕获错误的?
文章目录 react中的错误介绍解决方案后言 react中的错误介绍 错误在我们日常编写代码是非常常见的 举个例子,在react项目中去编写组件内JavaScript代码错误会导致 React 的内部状态被破坏,导致整个应用崩溃,这是不应该出现的现象 作为一个框架…...
![](https://img-blog.csdnimg.cn/149af236ef244807a498553caa0b246d.png)
基于内存池的 简单高效的数据库 SDK简介
基于内存池的 简单高效的数据库 SDK简介 下载地址: https://gitee.com/tankaishuai/powerful_sdks/tree/master/shm_alloc_db_heap shm_alloc_db_heap 是一个基于内存池实现的简单高效的文件型数据存储引擎,利用它可以轻松地像访问内存块一样读、写、增…...
![](https://img-blog.csdnimg.cn/843957adcdca423c937f65d76cad6bb4.png)
python实例方法,类方法和静态方法区别
为python中的装饰器 实例方法 实例方法时直接定义在类中的函数,不需要任何修饰。只能通过类的实例化对象来调用。不能通过类名来调用。 类方法 类方法,是类中使用classmethod修饰的函数。类方法在定义的时候需要有表示类对象的参数(一般命名为cls&#…...
![](https://www.ngui.cc/images/no-images.jpg)
Pyecharts教程(四):使用pyecharts绘制3D折线图
Pyecharts教程(四):使用pyecharts绘制3D折线图 作者:安静到无声 个人主页 目录 Pyecharts教程(四):使用pyecharts绘制3D折线图准备工作数据准备绘制3D折线图推荐专栏在这篇文章中,我们将学习如何使用pyecharts库来绘制一个3D折线图。pyecharts是一个用于生成Echarts图表的…...
![](https://img-blog.csdnimg.cn/img_convert/625346b5772a5874ac1e408325d9ceba.png)
【stable-diffusion使用扩展+插件和模型资源(下)】
插件模型魔法图片等资源:https://tianfeng.space/1240.html 书接上文:(上) 插件推荐 1.lobe theme lobe theme是一款主题插件,直接可以在扩展安装 界面进行了重新布局,做了一些优化,有兴趣的…...
![](https://img-blog.csdnimg.cn/d4cf05ac005e47349c3fe86e96cb0936.png)
一文了解SpringBoot中的Aop
目录 1.什么是Aop 2.相关概念 3.相关注解 4.为什么要用Aop 5.Aop使用案例 1.什么是Aop AOP:Aspect Oriented Programming,面向切面,是Spring三大思想之一,另外两个是 IOC-控制反转 DI-依赖注入 (Autowired、Qualifier、Re…...
![](https://img-blog.csdnimg.cn/0a5d30da824b45b9913aa9854611cd48.png)
android系统启动流程之zygote如何创建SystemServer进程
SystemServer:是独立的进程,主要工作是管理服务的,它将启动大约90种服务Services. 它主要承担的职责是为APP的运行提供各种服务,像AMS,WMS这些服务并不是一个独立的进程, 它们其实都是SystemServer进程中需要管理的的众多服务之一…...
![](https://img-blog.csdnimg.cn/img_convert/0b09790177a19bae8c5b1213b0a86c0b.png)
【awd系列】Bugku S3 AWD排位赛-9 pwn类型
文章目录 二进制下载检查分析运行二进制ida分析解题思路exp 二进制下载 下载地址:传送门 检查分析 [rootningan 3rd]# file pwn pwn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for …...
![](https://img-blog.csdnimg.cn/img_convert/0ea91368da34b12ee68788a74eb96b74.png)
vcomp140.dll丢失的修复方法分享,电脑提示vcomp140.dll丢失修复方法
今天,我的电脑出现了一个奇怪的问题,打开某些程序时总是提示“找不到vcomp140.dll文件”。这个问题让我非常头疼,因为我无法正常使用电脑上的一些重要软件。为了解决这个问题,我在网上查找了很多资料,并尝试了多种方法…...
![](https://img-blog.csdnimg.cn/158b232897f84b309d4a575255fd563c.png)
Docker file解析
文章目录 简介构建的三步骤Docker执行Dockerfile的大致流程DockerFile常用保留字指令创建第一个Dockerfile镜像的缓存特性 Docker file 解析 简介 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本,记录了镜像构…...
![](https://www.ngui.cc/images/no-images.jpg)
工作与身体健康之间的平衡
大厂裁员,称35岁以后体能下滑,无法继续高效率地完成工作;体重上涨,因为35岁以后新陈代谢开始变慢;甚至坐久了会腰疼、睡眠困扰开始加重,在众多的归因中,仿佛35岁的到来,会为一切的焦…...
![](https://www.ngui.cc/images/no-images.jpg)
算法和数据结构
STL 【C】蓝桥杯必备 算法竞赛常用STL万字总结_蓝桥杯算法竞赛_Cpt1024的博客-CSDN博客 day1 1:正确 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 // 中序遍历一遍二叉树,并统计节点数目 class Solution { public:int c…...
![](https://img-blog.csdnimg.cn/39041a8adcd84d2d9ef47aabbbebce3a.png)
商城-学习整理-集群-K8S-集群环境部署(二十四)
目录 一、MySQL集群1、mysql集群原理2、Docker安装模拟MySQL主从复制集群1、下载mysql镜像2、创建Master实例并启动3、创建 Slave 实例并启动4、为 master 授权用户来同步数据1、进入 master 容器2、进入 mysql 内部 (mysql –uroot -p)3、查看 master 状…...
![](https://img-blog.csdnimg.cn/3907171a300d4ff9bf7f85ac23f65e0d.jpeg)
利用多种机器学习方法对爬取到的谷歌趋势某个关键词的每日搜索次数进行学习
大家好,我是带我去滑雪! 前一期利用python爬取了谷歌趋势某个关键词的每日搜索次数,本期利用爬取的数据进行多种机器学习方法进行学习,其中方法包括:随机森林、XGBOOST、决策树、支持向量机、神经网络、K邻近等方法&am…...
![](https://img-blog.csdnimg.cn/27ddf329213f469689bfd38da2124b68.png)
ARL资产侦察灯塔 指纹增强
项目:https://github.com/loecho-sec/ARL-Finger-ADD 下载项目后运行 python3 ARl-Finger-ADD.py https://你的vpsIP:5003/ admin password该项目中的finger.json可以自己找到其他的指纹完善,然后运行脚本添加指纹。...
![](https://img-blog.csdnimg.cn/5f15eef8e0ff40c8a8d126221bcbd806.png)
javaee spring 自动注入,如果满足条件的类有多个如何区别
如图IDrinkDao有两个实现类 方法一 方法二 Resource(name“对象名”) Resource(name"oracleDrinkDao") private IDrinkDao drinkDao;...
![](/images/no-images.jpg)
呼和浩特做网站公司/湖南seo推广
请大佬秒了此题。LG传送门 题目描述 给出一个形如\(\qquad f(x_1,x_2,...,x_n)\sum_{i1}^{n}(x_i-a_i)^2\) 的\(n\)元函数,以及\(m\)条第\(i\)条形如\(\qquad \sum_{j1}^{n}x_j*b_{i,j}0\) 的限制,求函数的驻点,即无论任何\(x\)向任意方向取得…...
![](https://images2015.cnblogs.com/blog/1112225/201706/1112225-20170614202223493-506086417.png)
北京网站设计公司兴田德润怎么样/百度推广点击一次多少钱
1.安装插件: 这里可以搜索到插件并安装。 2.修改快捷键或查找快捷键: 这里可以进行快捷键的查找和修改 3.进入引用文件: 点击f12,或者右击快捷键可以看到进入引用文件的快捷方法。 4.查看目录: 转载于:https://www.cnb…...
![](/images/no-images.jpg)
青岛网站建设价格/九幺seo工具
[计算机软件及应用]VB66.1.1 VB的文件类型 1. 工程文件(.vbp) 6.1.2 工程的组成 1. 窗体模块(.frm) 6.1.3 管理工程 1. 保存工程 6.1.3 管理工程 3. 添加工程 6.2.1 Sub过程 语法: Private Sub Form_事件名([参数列表]) [局部变量和常数声明] 语句块 End Sub 说明&a…...
![](https://img-blog.csdnimg.cn/img_convert/a75e7acbab91213b8687fa5f7d82d82f.png)
响应式企业网站设计与实现/免费seo营销软件
云呱给大家讲一个bug,存在于计算机二级真题第5套Excel中。真题如下:从网站导入数据到Excel中,操作很简单,我就不细讲了,只着重讲一下在导入过程中出现的各种问题当我们点击Excel数据选项卡下的“自网站”后会弹出“脚本…...
![](/images/no-images.jpg)
用什么编辑wordpress/香港服务器
0.新建操作:mkdir abc #新建一个文件夹touch abc.sh #新建一个文件echo "abc" > test.txt #新建一个文件,并将abc写入。这里用到了重定向符1.查看操作查看目录:ll #显示目录文件详细信息du -h 文件/目录 #查看大小pwd #显示路径…...
![](/images/no-images.jpg)
怎样做手机网站建设/网站营销软文
php mysql数据库操作分页类2021-01-23 15:35:484复制代码 代码如下:/**mysql数据库分页类*packagepagelist*authoryytcpt(无影)*version2008-03-27*copyrigthhttp://www.d5s.cn/*//**分页样式.page{float:left;font:11pxArial,Helvetica,sans-serif;padding:6px0;margin:0px10%…...