实验3 Hadoop集群运行环境搭建和使用
实验3 Hadoop集群运行环境搭建和使用
-
一、实验介绍
本节实验旨在引导学生通过实际操作搭建一个基本的Hadoop集群,并进行基本的使用验证。实验包括在集群节点上添加域名映射以实现节点间的相互识别,配置免密SSH登录以便无密码访问各节点,安装和配置JDK以满足Hadoop的运行需求。此外,本实验还涉及创建命令和文件同步脚本来维持集群的一致性,安装和配置Hadoop分布式文件系统(HDFS),以及对主节点的格式化和整个Hadoop集群的启动。最后,学生将通过查看进程和验证HDFS环境来检查集群的运行状况。本实验在于让学生深入理解Hadoop集群的运行机制和配置过程,从而掌握大数据技术的核心概念和实践技能。学生将学习如何在分布式计算环境中配置和管理关键组件,这对于处理和分析健康医疗等领域的大规模数据集至关重要。通过这一实践,学生不仅能够熟悉Hadoop集群的搭建流程,还能够增强对分布式数据存储和处理的综合理解,为未来在大数据领域的工作或研究打下坚实的基础。
二、实验目的
1.了解Hadoop及其在健康医疗大数据应用中的作用。
2.熟悉理集群环境格式化和启动的步骤,以及如何验证HDFS环境是否正常工作。
3.掌握Hadoop集群的基本搭建流程,包括域名映射、SSH免密登录、JDK安装和配置等。
三、实验准备
1.所需安装包:jdk-8u231-linux-x64.tar.gz、hadoop-3.2.1.tar.gz、xshell、xftp;
2.获取3台虚拟机master、salve1、slave2的IP地址;
3.试验操作以单人进行。
四、实验步骤
在正式配置Hadoop分布式集群环境之前,利用ifconfig或者hostname -i命令查看三台虚拟机对应的IP地址,后续实验为了方便均利用xshell进行连接三台机器。在本实验中三台虚拟机的IP地址为如下表所示。
| 虚拟机名称 | IP地址 | 账号 | 密码 |
| master | 192.168.107.128 | root | hadoop |
| slave1 | 192.168.107.129 | root | hadoop |
| slave2 | 192.168.107.130 | root | hadoop |
利用xhell进行连接虚拟机。打开xshell->新建,在名称中输入master,在主机中输入你自己的虚拟机IP。

然后单击用户身份验证,在用户名处输入账号:root,在密码处输入密码:hadoop。然后点击确定->连接即可,用同样的方式连接为slave1、slave2创建连接。

1.添加域名映射
修改hosts文件,添加所有主机IP地址和主机名对应关系。
# vi /etc/hosts
输入下述内容(根据自己的IP进行修改)
192.168.107.128 master
192.168.107.129 slave1
192.168.107.130 slave2

修改完成后,按下ESC键输入:wq保存退出。可用cat命令查看修改后的hosts文件内容。
# cat /etc/hosts

按照同样的方式将上传内容配置到slave1、slave2中的/etc/hosts文件。
2.配置免密登录
使用命令生成服务器密钥。(输完命令按四次回车,三台机器均需要操作)
# ssh-keygen

进入/root/.ssh/目录,可查看生成的密钥。
# cd /root/.ssh/
# ll

使用ssh-copy-id命令拷贝公钥到目标主机。(所有节点都需进行下列操作,在提示处输入yes)
# ssh-copy-id master
# ssh-copy-id slave1
# ssh-copy-id slave2

三台节点处理完成后,利用ssh登录目标主机,可发现三台节点间可以任意切换,不再需要输入密码。登录后可利用exit退回上一级节点。
例如在master节点中利用ssh slave1切换到slave1。可以看见前面由master变成了slave1。

3.安装和配置JDK
利用xftp将jdk-8u231-linux-x64.tar.gz、hadoop-3.2.1.tar.gz上传到master节点的/usr/local/install_pack/目录下。

进入安装包目录(提前将安装包上传到install_pack目录下)
#cd /usr/local/install_pack/

解压JDK安装包到/usr/local/software目录下,输入下列命令
# tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/software/
查看
# ls -lrt /usr/local/software
相关文章:
实验3 Hadoop集群运行环境搭建和使用
实验3 Hadoop集群运行环境搭建和使用 一、实验介绍 本节实验旨在引导学生通过实际操作搭建一个基本的Hadoop集群,并进行基本的使用验证。实验包括在集群节点上添加域名映射以实现节点间的相互识别,配置免密SSH登录以便无密码访问各节点,安装和配置JDK以满足Hadoop的运行需求…...
前端文件上传全过程
特别说明:ui框架使用的是蚂蚁的antd 这里主要是学习前端上传接口的传递参数包括前端上传之前对于代码的整理 一、第一步将前端页面画出来 源代码: /** 费用管理 - IT费用管理 - 费用数据上传 */ import { useState } from "react"; import {…...
MySQL中的函数简单总结,以及TCL语句的简单讲解
文章目录 一、函数1、ifnull2、if3、case4、exists 存在5、字符串函数(重点)6、数学函数7、日期函数 二、TCL语句1、创建用户2、赋予权限3、修改mysql允许远程登录 一、函数 1、ifnull 当前⾯的值是null的时候,使⽤后⾯的默认值 ifnull(字段…...
GPS在Linux下的使用(war driving的前置学习)
1.ls /dev/tty* 列出所有与 tty 相关的设备文件。这些设备文件通常对应终端设备 ttyUSB0是GPS端口 2.cat /dev/ttyUSB0 用于读取并显示连接到 /dev/ttyUSB0 串口设备发送的原始数据 这种是GPS定位不全的,要拿到更开阔的地方 这种是GPS定位全的 因为会持续输出…...
开发经验总结: 读写分离简单实现
背景 使用mysql的代理中间件,某些接口如果主从同步延迟大,容易出现逻辑问题。所以程序中没有直接使用这个中间件。 依赖程序逻辑,如果有一些接口可以走读库,需要一个可以显示指定读库的方式来连接读库,降低主库的压力…...
MySQL(面试题 - 同类型归纳面试题)
目录 一、MySQL 数据类型 1. 数据库存储日期格式时,如何考虑时区转换问题? 2. Blob和text有什么区别? 3. mysql里记录货币用什么字段类型比较好? 4. MySQL如何获取当前日期? 5. 你们数据库是否支持emoji表情存储&…...
【C++ Primer Plus习题】17.7
问题: 解答: #include <iostream> #include <vector> #include <string> #include <fstream> #include <algorithm>using namespace std;const int LIMIT 50;void ShowStr(const string& str); void GetStrs(ifstream& fin, vector<…...
vue3(整合版)
创建第一个vue项目 1.安装node.js cmd输入node查看是否安装成功 2.vscode开启一个终端,配置淘宝镜像 # 修改为淘宝镜像源 npm config set registry https://registry.npmmirror.com 输入如下命令创建第一个Vue项目 3.下载依赖,启动项目 访问5173端口 …...
复制他人 CSDN 文章到自己的博客
文章目录 0.前言步骤 0.前言 在复制别人文章发布时,记得表明转载哦 步骤 在需要复制的csdn 文章页面,打开浏览器开发者工具(F12)Ctrl F 查找"article_content"标签头 右键“Copy”->“Copy element”新建一个 tx…...
【算法——二分查找】
理论基础: 程序员面试经典题,二分搜索一个区间,区间查找 (LeetCode 34)_哔哩哔哩_bilibili 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 这个是红蓝法,很牛…...
Cisco Packet Tracer的安装加汉化
这个工具学计算机网络的同学会用到 1.下载安装 网盘链接:https://pan.baidu.com/s/1CmnxAD9MkCtE7pc8Tjw0IA 提取码:frkb 点击第一个进行安装,按步骤来即可。 2.汉化 (1)复制chinese.ptl文件 (2&…...
MMain函数定义为WinMain函数看port1632.h和pwin32.h文件
编译win2k3的源代码的时候有时候看到MMain函数 ..//public/sdk/inc/port1632.h #if defined(WIN16) /* ---------------- Maps to windows 3.0 and 3.1 16-bit APIs ----------------*/ #include "ptypes16.h" #include "pwin16.h" #include "plan16.…...
单词搜索问题(涉及递归等)
目录 一题目: 二思路解释: 三解答代码: 一题目: newcode题目链接: 单词搜索_牛客题霸_牛客网 二思路解释: 思路:个人理解是找到word中的第一个元素,然后去递归的上下左右查找&am…...
Redis的一些通用指令
首先我们需要先连接客户端服务器,此时我们需要通过redis-cli和redis服务器进行交互,输入ping来确保通路的流畅 (一)get和set redis中最核心的两个命令就是get和set,get就是根据key来取出对应value,set就是把…...
C++中vector类的使用
目录 1.vector类常用接口说明 1.1默认成员函数 1.1.1构造函数(constructor) 1.1.2 赋值运算符重载(operator()) 2. vector对象的访问及遍历操作(Iterators and Element access) 3.vector类对象的容量操作(Capacity) 4. vector类对象的修改及相关操作(Modifiers and Stri…...
cmaklist流程控制——调试及发布
cmaklist流程控制 目前只会配置-编译调试-打包发布,并且不会workflow控制 后续学习配置-编译调试-测试-打包发布,workflow控制,理解整个流程,目前对流程控制理解也不够。 1.CMake Presets 先于Cmakelist文件,指导项…...
制作一个能对话能跳舞的otto机器人
OTTO机器人是一个开源外壳,硬件和软件的桌面机器人项目,非常适合新手研究和拓展。记住,他是一个能移动有表情能声音的机器人。 b站有很多演示和组装的视频,我就不多说了,照着做就好,因为硬件我也是刚入门&…...
git配置SSH
1 打开cmd窗口 2 在窗口中输入如下命令: 配置用户名: git config --global user.name “gyk” 配置邮箱: git config --global user.email “247929163qq.com” 继续在Git命令窗口中输入如下命令,即可生成SSH公钥和私钥 ss…...
mozilla/pdf.js view.html加载指定页码
mozilla/pdf.js view.html加载指定页码 在Mozilla’s PDF.js中,如果你想要在viewer.html加载时直接跳转到指定的页码,你可以通过修改URL来实现。 PDF.js使用查询参数来处理URL,其中page参数用于指定页码。你可以通过修改URL的查询字符串来设…...
Qt之QFuture理解
结构 #mermaid-svg-J9J683RG8QjtEqoM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-J9J683RG8QjtEqoM .error-icon{fill:#552222;}#mermaid-svg-J9J683RG8QjtEqoM .error-text{fill:#552222;stroke:#552222;}#merm…...
用8086和蜂鸣器DIY音乐盒:手把手教你复刻童年旋律(附完整汇编代码)
用8086和蜂鸣器DIY音乐盒:手把手教你复刻童年旋律(附完整汇编代码) 记得小时候第一次听到电子贺卡发出《生日快乐》的单调旋律时,那种机械却又神奇的"音乐"让我盯着电路板研究了半天。现在想来,那些简单的方…...
详解bat脚本:语法、常见用法、注意事项、示例
文章目录前言1.什么是BAT 脚本2.基本语法2.1 注释2.2 基本命令执行3.常用命令详解4.变量使用1. 定义变量2. 使用变量(要用 % 括起来)5.流程控制5.1 if 条件判断基本语法:常用比较:示例:5.2 for 循环遍历文件࿰…...
2026好用的企业内网通讯软件:哪家更适合你?
2026年,企业数字化办公的浪潮已进入深水区。随着《数据安全法》等法规的深度落地,以及企业对核心数字资产掌控权的重视,一个显著的趋势正在发生:企业通讯市场正在经历一场深刻的“向内回归”——私有化部署正从传统行业的无奈之选…...
Ubuntu下Minicom与Kermit串口工具对比:哪个更适合你的嵌入式开发?
Ubuntu下Minicom与Kermit串口工具深度评测:嵌入式开发者的终极选择指南 在嵌入式开发领域,串口通信如同开发者的"听诊器",是调试硬件、监控系统状态的核心工具。Ubuntu作为最受开发者欢迎的Linux发行版之一,其生态中Mi…...
Linux环境下Oracle 19C补丁安装保姆级教程:从下载到验证的完整流程
Linux环境下Oracle 19C补丁安装全流程实战指南 在数据库运维工作中,补丁管理是确保系统安全稳定运行的关键环节。Oracle 19C作为当前长期支持版本,其补丁安装过程虽然标准化程度高,但实际操作中仍存在不少容易踩坑的细节。本文将基于实战经验…...
从抓包实战到协议栈:深入解析DDS核心报文与通信机制
1. 从HelloWorld抓包开始认识DDS 第一次接触DDS协议时,很多人会被各种专业术语搞得晕头转向。其实最快的学习方式就是从实际案例入手——就像我当初用Fast DDS的HelloWorld示例做实验那样。这个经典案例包含一个发布者和一个订阅者,正好能展示DDS最核心…...
Vue2项目实战:集成西瓜播放器xgplayer实现企业级视频播放组件
1. 为什么选择xgplayer做企业级视频播放方案 在在线教育平台这类对视频播放要求较高的场景中,播放器的选择直接影响用户体验和开发效率。我经历过多个项目的实战验证,西瓜播放器xgplayer确实是个不错的选择。它不像某些开源播放器那样需要折腾各种兼容性…...
从理论到实践:基于EKF与1RC模型的锂离子电池SOC在线估计与Simulink仿真
1. 锂离子电池SOC估计为什么这么重要? 如果你用过电动车或者手机,肯定遇到过电量显示不准的情况。明明显示还有30%电量,结果突然关机;或者充到80%就再也充不进去了。这些问题的核心,都跟电池的荷电状态(SO…...
03 MongoDB文档的各种增加、更新、删除操作总结
更多内容请见: 《深入掌握MongoDB数据库》 - 专栏介绍和目录 一. 插入文档 注意: 在 MongoDB 中,直接插入内容会自动创建集合! 1.1 使用insert()方法 语法格式: db.COLLECTION_NAME.insert(document) 说明: 若插入的数据主键已经存在,则会抛 org.springframework.dao.Du…...
InSpec插件生态系统:扩展框架功能的完整教程
InSpec插件生态系统:扩展框架功能的完整教程 【免费下载链接】inspec InSpec: Auditing and Testing Framework 项目地址: https://gitcode.com/gh_mirrors/in/inspec InSpec作为一款强大的合规性测试框架,其真正的威力在于其可扩展的插件生态系统…...
