配置Hadoop集群

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)$user@host:$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/  root@hadoop101:/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 root@hadoop101:/opt/module/hadoop-3.1.3 /opt/module/

任务2:

在hadoop101上操作,将hadoop100中/opt/module目录下所有目录拷贝到hadoop102上。

分析:使用scp进行搭桥

操作:

登录hadoop101
使用命令:
scp -r root@hadoop100:/opt/module/* root@hadoop102:/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)$user@host:$pdir/$fname: 目的地用户@主机:目的地路径/名称

实操:

 rsync -av /opt/conf/ root@hadoop101:/opt/conf

第一步:在两台机器上准备文件。

在hadoop100的/opt/conf/ 新建1.txt, 2.txt, 3.txt, 4.txt

做一次同步。

[root@hadoop100 ]$ rsync -av /opt/conf/ root@hadoop101:/opt/conf/

它会在hadoop101上创建conf目录。

第二步:在hadoop100中,添加新文件,5.txt, 6.txt, 7.txt

第三步:使用命令把新添加的文件同步到hadoop101中。

命令如下:

[root@hadoop100 ]$ rsync -av /opt/conf/ root@hadoop101:/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)测试使用。把这个脚本同步到其他的机器中。

[root@hadoop100 ~]$ 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是把所有文件都复制过去,所以它的效果更高一些。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/71819.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/71819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python办公自动化--数据可视化(pandas+matplotlib)--生成条形图和饼状图

前言 前几天我们学习了pandas读取数据,还学习了如何用patplotlib绘制柱状图和折线图。 今天我们继续学习,如何绘制条形图和饼状图。 一、课程回顾-pandas读取数据 1.示例数据文件 这里我们用到的依旧是d盘底下的这个excel工作簿,这个工作簿…

基于大模型的结节性甲状腺肿诊疗全流程预测与方案研究报告

目录 一、引言 1.1 研究背景与目的 1.2 研究意义 1.3 国内外研究现状 二、大模型预测原理与方法 2.1 相关大模型概述 2.2 数据收集与预处理 2.3 模型训练与验证 三、术前预测与评估 3.1 结节性质预测 3.1.1 良恶性判断 3.1.2 与传统诊断方法对比 3.2 手术风险预测…

不同开发语言对字符串的操作

一、字符串的访问 Objective-C: 使用 characterAtIndex: 方法访问字符。 NSString *str "Hello, World!"; unichar character [str characterAtIndex:0]; // 访问第一个字符 H NSLog("%C", character); // 输出: H NSString 内部存储的是 UTF-16 编…

Java开发者如何接入并使用DeepSeek

目录 一、准备工作 二、添加DeepSeek SDK依赖 三、初始化DeepSeek客户端 四、数据上传与查询 五、数据处理与分析 六、实际应用案例 七、总结 【博主推荐】:最近发现了一个超棒的人工智能学习网站,内容通俗易懂,风格风趣幽默&#xff…

S19文件格式详解:汽车ECU软件升级中的核心镜像格式

文章目录 引言一、S19文件格式的起源与概述二、S19文件的核心结构三、S19在汽车ECU升级中的应用场景四、S19与其他格式的对比五、S19文件实例解析六、工具链支持与安全考量七、未来趋势与挑战结语引言 在汽车电子控制单元(ECU)的软件升级过程中,S19文件(也称为Motorola S-…

CTF杂项——[suctf 2019]签到题

base64转图片 可以直接用随波逐流 得到flag SUCTF{ffffffffT4nk}

【Python】整数除法不正确,少1的问题,以及有关浮点数转换的精度问题

1. 问题 今天在做leetcode 不同路径 的时候发现了个问题 对于m53 n4class Solution:def uniquePaths(self, m: int, n: int) -> int:rlt 1for i in range(0, m-1):rlt * (m n - 2 - i)for i in range(0, m-1):rlt / (i 1)return int(rlt)为什么这个结果是 26234class S…

AI无代码平台

以下是目前支持快速开发产品的高生产力免费AI无代码平台推荐,按功能和适用场景分类: 一、全栈应用开发类 Bolt.DIY DeepSeek-R1 无需编写代码即可开发全栈应用,提供免费API和无速率限制,支持AI编码助手与自动化流程 。 优势&…

Gini系数的应用 - 指标波动贡献分析

基尼系数的定义 基尼系数是衡量数据分布不均衡程度的指标,取值范围在0到1之间: 0 表示完全均衡(所有值相等)。1 表示完全不均衡(所有值集中在一个点)。 基尼系数的计算公式 假设有 n n n 个数据点&…

第一节: 网络基础与参考模型

深入理解OSI七层模型与TCP/IP四层模型:网络工程师的入门指南 在网络通信的世界中,OSI七层模型和TCP/IP四层模型是理解网络架构的基础。无论是配置路由器、排查网络故障,还是设计复杂的网络系统,掌握这些模型的分层结构及其功能都是必不可少的。本文将从新手角度出发,深入…

HTTP拾技杂谈

HTTP拾技杂谈 简单聊聊HTTP中的那些东西 文章目录 HTTP拾技杂谈前言HTTP协议1.请求从客户端到服务器端的4个步骤一般客户端请求如下:服务端响应如下 2.Keep-AliveHTTP方法Cookie 总结 前言 超文本传输协议(Hypertext Transfer Protocol ,HT…

用Deepseek写一个五子棋微信小程序

在当今快节奏的生活中,休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏,不仅规则简单,还能锻炼思维。最近,我借助 DeepSeek 的帮助,开发了一款五子棋微信小程序。在这篇文章中,我将…

自然语言处理:最大期望值算法

介绍 大家好,博主又来给大家分享知识了,今天给大家分享的内容是自然语言处理中的最大期望值算法。那么什么是最大期望值算法呢? 最大期望值算法,英文简称为EM算法,它的核心思想非常巧妙。它把求解模型参数的过程分成…

【从零开始学习计算机科学】计算机体系结构(一)计算机体系结构、指令、指令集(ISA)与量化评估

【从零开始学习计算机科学】计算机体系结构(一)计算机体系结构、指令、指令集(ISA)与量化评估 概论计算机体系结构简介计算机的分类并行体系结构指令集体系结构(ISA)分类存储器寻址寻址模式操作数大小指令ISA的编码程序的优化计算机体系结构量化评估存储器体系结构概论 …

Electron使用WebAssembly实现CRC-32 常用标准校验

Electron使用WebAssembly实现CRC-32 常用标准校验 将C/C语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-32 常用标准格式校验的方式。 CRC-32 常用标准校验函数WebAssembly源文件…

Docker基础篇——Ubuntu下Docker安装

大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起进行Docker安装。 Docker的官方Ubuntu安装文档,如…

第五课:Express框架与RESTful API设计:技术实践与探索

在使用Node.js进行企业应用开发,常用的开发框架Express,其中的中间件、路由配置与参数解析、RESTful API核心技术尤为重要,本文将深入探讨它们在应用开发中的具体使用方法,最后通过Postman来对开发的接口进行测试。 一、Express中…

mitmproxy配合Wireshark 抓包分析

Mitmproxy 是一款非常强大的 交互式 HTTP 代理 工具,它被广泛应用于 Web 开发、API 调试、安全测试 等领域。与 Wireshark 侧重于被动监听网络流量不同,Mitmproxy 更像一个 主动的中间人,可以拦截、检查、修改和重放 HTTP/HTTPS 流量&#xf…

Varlens(手机上的单反)Ver.1.9.3 高级版.apk

Varlens 是一款专业级手机摄影软件,旨在通过丰富的功能和高自由度参数调节,让手机拍摄效果媲美微单相机。以下是核心功能总结: 一、核心功能 专业拍摄模式 支持手动/自动/程序模式,可调节ISO、快门速度、EV、白平衡等参数27 提供…

Scala 中的访问修饰符

在Scala中,面向对象的权限控制主要通过访问修饰符来实现。Scala提供了以下几种访问修饰符来控制类、对象、成员变量和方法的访问权限: 1. 默认访问权限(无修饰符) 如果没有指定任何访问修饰符,成员默认是public的&…