配置Hadoop集群环境准备

  • Hadoop的运行模式

一共有三种:

  1. 本地运行。
  2. 伪分布式
  3. 完全分布式
  • Hadoop的完全分布式运行
  1. 要模拟这个功能,我们需要做好如下的准备。

    1)准备3台客户机(关闭防火墙、静态IP、主机名称)

    2)安装JDK配置环境变量

    3)安装Hadoop配置环境变量

    4)配置集群

    5)单点启动

    6配置ssh

    7群起并测试集群

    其中,第1项我们在之前克隆虚拟机的环节中已经完成了。现在我们来看看按照JDK和Hadoop并配置环境变量的工作。有两种思路:

    1. 每台机器都去手动安装一次(上传jar包再去解压)。

    2. 把一台机器装好,把module 拷贝到其他的机器。这样就不需要省略了上传和解压的工作了。

    scp拷贝软件到服务器

    scp可以实现服务器与服务器之间的数据拷贝。

    基本语法

    scp    -r        $pdir/$fname             $user@$host:$pdir/$fname

    命令   递归     要拷贝的文件路径/名称   目的地用户@主机:目的地路径/名称

    来,我们一起看下案例实操。假设你在三台虚拟机(hadoop102、hadoop103、hadoop104)都已经创建好的/opt/module,/opt/software两个目录,在hadoop102这台机器中已经安装了jdk和hadoop。现在需要把102上的jdk拷贝到103中。

    具体操作是:

    1. 启动虚拟机

    2. 进入到hadoop102。

    3. 命令:scp -r /opt/module/jdk1.8.0_212  root@hadoop103:/opt/module

    注意:这的hadoop103是虚拟机的名称,如果没有设置hosts则需要改成IP地址。

    拓展:scp根据所在的位置不同命令也支持不同的操作,例如:

    在A机器上,拉取B机器上的内容。

    在A机器上,把文件传到B机器上

    在A机器上,把B机器上的文件传递到C机器上

    (b)在hadoop103上,将hadoop102中/opt/module/hadoop-3.1.3目录拷贝到hadoop103上。

    scp -r root@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/

    (c)在hadoop103上操作,将hadoop102中/opt/module目录下所有目录拷贝到hadoop104上。

    scp -r root@hadoop102:/opt/module/* root@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

    [root@hadoop103 hadoop-3.1.3]$ rm -rf wcinput/

    (b)同步hadoop102中的/opt/module/hadoop-3.1.3到hadoop103

    [root@hadoop102 module]$ rsync -av hadoop-3.1.3/ root@hadoop103:/opt/module/hadoop-3.1.3/

    xsync集群分发脚本

    (1)需求:循环复制文件到所有节点的相同目录下

    (2)需求分析:

    (a)rsync命令原始拷贝:

    rsync  -av     /opt/module    root@hadoop103:/opt/

    (b)期望脚本:

    xsync要同步的文件名称

    (c)期望脚本在任何路径都能使用(脚本放在声明了全局环境变量的路径)

    [root@hadoop102 ~]$ echo $PATH

    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/root/.local/bin:/home/root/bin:/opt/module/jdk1.8.0_212/bin

    (3)脚本实现

    (a)在/home/root/bin目录下创建xsync文件

    [root@hadoop102 opt]$ cd /home/root

    [root@hadoop102 ~]$ mkdir bin

    [root@hadoop102 ~]$ cd bin

    [root@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

    此时,我们去查看文件

    颜色是灰色的,不具备执行权限。修改脚本 xsync 具有执行权限

    chmod +x xsync

    或者是chmod 777 xsync

    测试脚本

    [root@hadoop102 ~]$ xsync /home/root/bin

    (d)将脚本复制到/bin中,以便全局调用

    [root@hadoop102 bin]$ sudo cp xsync /bin/

    (e)同步环境变量配置(root所有者)

    [root@hadoop102 ~]$ xsync /etc/profile.d/my_env.sh

    (六)ssh命令切换主机让环境变量生效

    从当前主机切换到另一台主机:ssh root@192.168.10.101

    运行命令让环境变量生效。

    source /etc/profile

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

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

相关文章

Python60日基础学习打卡D12【虫豸版】

退火算法 物理现象:退火现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;温度足够低后,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。大自然在缓慢降温(即退火)时&#xf…

1.3.1 Linux音频框架alsa详细介绍

ALSA作为对旧OSS系统的替代方案,始于1998年。当时OSS还闭源商业化,因此社区开始开发开源的ALSA。经过多年的发展,ALSA成为Linux内核中音频架构的标准。 结构和架构 ALSA由以下几个主要部分组成: 内核模块: 这是ALSA的…

# 07_Elastic Stack 从入门到实践(七)---1

07_Elastic Stack 从入门到实践(七)—1 一、Filebeat入门之读取 Nginx 日志文件 1、首先启动 Elasticsearch 集群 和 Nginx 服务,打开GoogleChrome 浏览器,点击 elasticsearch-head 插件,连接Elasticsearch 集群 服务器。 # 查看网卡名 $ ip addr# 修改网卡配置,改为…

BUUCTF 大流量分析(三) 1

BUUCTF:https://buuoj.cn/challenges 文章目录 题目描述:密文:解题思路:flag: 相关阅读 CTF Wiki BUUCTF | 大流量分析 (一)(二)(三) 题目描述: …

数据库的进阶操作

目录 1、数据库的约束 2、查询操作的进阶 2.1 查询插入 2.2 聚合查询 2.3 运算查询 2.3 分组查询 2.4 联合查询 2.5 内外连接 2.6 子查询 2.7 合并查询 1、数据库的约束 数据库的约束是指:数据库会自动的对数据的合法性进行校验和检查的一系列操作的机制&a…

.Net HttpClient 使用请求数据

HttpClient 使用请求数据 0、初始化及全局设置 //初始化:必须先执行一次 #!import ./ini.ipynb1、使用url 传参 参数放在Url里,形如:http://www.baidu.com?namezhangsan&age18, GET、Head请求用的比较多。优点是简单、方便&#xff0…

Qt还有希望吗

🚀2025 年 Qt 框架价值大揭秘!会持续闪耀吗? 宝子们,今天来聊聊 Qt 框架在 2025 年的价值走向,这可是跨平台应用开发的宝藏工具呀! 🌟核心优势稳稳拿捏Qt 的跨平台能力绝了! Windows…

Redis设计与实现——数据结构与对象

简单动态字符串(SDS) SDS 的结构定义 len:记录当前字符串的实际长度(不包含 \0),获取长度的时间复杂度为 O(1)。free:记录未使用的空间大小,用于优化内存分配。buf[]:实…

NeurIPS 2025 截稿攻略

会议资讯 NeurIPS,全称神经信息处理系统大会,是一个关于机器学习和计算神经科学的国际会议。NeurIPS是CCF(计算机学会)推荐的A类会议!是机器学习领域内最具难度、水平最高且影响力最强的会议之一。它与ICML&#xff0…

Java中堆栈

文章目录 Java中堆栈1. 栈(Stack)特点示例 2. 堆(Heap)特点示例 3. 核心区别4. 常见问题5. 内存可视化示例内存布局示意图: 总结 Java中堆栈 在 Java 中,“堆栈” 通常指的是堆(Heap&#xff0…

【类拷贝文件的运用】

常用示例 当我们面临将文本文件分成最大大小块的时,我们可能会尝试编写如下代码: public class TestSplit {private static final long maxFileSizeBytes 10 * 1024 * 1024; // 默认10MBpublic void split(Path inputFile, Path outputDir) throws IOException {…

打破产品思维--被讨厌的勇气--实战5

课程:B站大学 记录产品经理实战项目系统性学习,从产品思维,用户画像,用户体验,增长数据驱动等不同方向理解产品,从0到1去理解产品从需求到落地的全过程,测试左移方向(靠近需求、设计…

【Autosar SecOC 1.信息安全原理介绍】

这里写目录标题 1 背景2 了解黑客攻击原理3 SecOC实现数据的真实性与完整性校验3.1 数据身份验证完成真实性验证3.2 防止重放攻击 1 背景 在今天的车载网络中,大部分数据传输是在没有任何特殊安全措施的情况下进行的。因此,一旦能够直接访问车辆的总线&a…

基于SpringBoot的校园周边美食探索及分享平台【附源码+数据库+文档下载】

一、项目简介 本项目是一个基于 SpringBoot Vue 的校园周边美食探索与分享平台,专为在校大学生开发,集美食推荐、好友互动、收藏分享于一体。 通过平台,用户可以探索学校周边的美食店铺、发布美食鉴赏、添加好友进行交流分享。同时&#x…

无偿帮写毕业论文

以下教程教你如何利用相关网站和AI免费帮你写一个毕业论文。毕竟毕业论文只要过就行,脱产学习这么多年,终于熬出头了,完成毕设后有空就去多看看亲人好友,祝好! 一、找一个论文模板(最好是overleaf) 废话不多说&#…

15 个 Azure DevOps 场景化面试问题及解答

问题 1. 解释 Azure DevOps YAML 管道的典型结构。 您可以从管道的整体结构开始,从触发器开始。您也可以选择解释它可能包含的不同类型的阶段:构建、测试、扫描、部署等。 Azure DevOps YAML 管道结构示例 触发器指示管道运行。它可以是持续集成 (CI) 或…

Java 大视界 -- Java 大数据机器学习模型在元宇宙虚拟场景智能交互中的关键技术(239)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

本地不安装oracle,还想连oracle

1.首先要用navicat,或者toad打开连接数据库 2.安装oracle客户端,有时候OCI.dll需要看数据库版本,我们Oracle数据库是12C,可以用这个版本 3. 4.配置环境变量 变量名:NLS_LANG变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK …

LabVIEW车牌自动识别系统

在智能交通快速发展的时代,车牌自动识别系统成为提升交通管理效率的关键技术。本案例详细介绍了基于 LabVIEW 平台,搭配大恒品牌相机构建的车牌自动识别系统,该系统在多个场景中发挥着重要作用,为交通管理提供了高效、精准的解决方…

deque底层数据结构以及和queue的异同

文章目录 底层数据结构原理关键组成部分操作效率与其他容器的对比适用场景C STL中的实现细节总结 deque和queue的异同相同点不同点 deque(双端队列)是一种具有高效两端插入和删除操作的数据结构,常见于C标准库(STL)和其…