当前位置: 首页 > news >正文

大数据实验2.Hadoop 集群搭建(单机/伪分布式/分布式)

实验 Hadoop安装和使用

一、实验目的

  1. 实现hadoop的环境搭建和安装
  2. Hadoop的简单使用;

二、实验平台

  1. 操作系统:Linux(建议Ubuntu16.04或者18.04);
  2. Hadoop版本:3.1.3;
  3. JDK版本:1.8。

安装参考教程:https://dblab.xmu.edu.cn/blog/2441/

三、实验步骤

(一)新建一个用户,用户名自定义,并给新建的用户添加管理员权限,后面的操作均在新建用户下操作

(二)安装准备
(1)SSH服务端安装和免密登录设置

1.1安装SSH服务端

1.2免密登录设置

(2)安装Java环境,在安装目录下,并验证安装是否成功;

(3)切换到任意的非jdk安装目录,使用刚刚的命令,验证java是否可用;

(4)根据jdk安装目录设置JAVA_HOME和PATH环境变量,设置后使其立即生效,然后通过echo命令查看JAVA_HOME和PATH变量的设置是否成功;

(5)切换到任意非jdk安装目录,执行”java –version”命令,对比(2)中的命令,对结果进行对比分析,并解释设置环境变量的意义;

(6)对比分析:

    对比: 比较在设置环境变量前后,java -version命令的执行结果。

    分析: 如果在设置环境变量之前命令失败,而在设置之后成功,这证明了环境变量设置的必要性和有效性。环境变量的设置简化了Java应用程序的运行和开发,因为它们允许Java命令在任何工作目录下被识别和执行。

(7)设置环境变量的意义:

1)、简化命令行操作:通过设置环境变量,用户可以在任何目录下直接运行Java命令,而不需要每次都输入完整的路径。这大大简化了命令行操作,提高了效率。

2)、系统级别的配置:环境变量可以被系统级别的应用程序和服务所使用。例如,某些应用程序可能需要知道Java的安装位置,通过读取JAVA_HOME环境变量,它们可以找到并使用正确的Java版本。

3)、跨平台兼容性:环境变量提供了一种跨平台的配置方式。不同的操作系统可能有不同的路径和配置方式,但通过统一的环境变量,可以在不同的平台上实现相同的配置效果。

4)、版本管理:在多版本Java共存的环境中,通过设置JAVA_HOME环境变量,可以指定特定版本的Java用于编译和运行应用程序。这在需要同时支持多个Java版本的情况下非常有用。

5)、自动化脚本和工具:许多自动化脚本和开发工具依赖于环境变量来确定如何执行任务。例如,构建工具(如Maven或Gradle)会使用JAVA_HOME来确定使用哪个Java版本来编译代码。

6)、安全性:通过控制环境变量,系统管理员可以限制用户对特定资源的访问,或者确保应用程序使用正确的库和资源。

7)、易于维护和更新:如果需要更新Java版本或更改配置,只需更新环境变量的值,而不需要修改每个脚本或应用程序的配置。这样可以减少维护工作量,并确保所有依赖于这些变量的工具和应用程序都能正确地使用新的配置。

总之,设置环境变量是一种有效的配置管理方式,它使得系统配置更加灵活、可维护,并且能够提高开发和运维的效率。

(三)单机安装hadoop
(1)安装hadoop

(2)通过查看安装的hadoop版本信息,验证是否安装成功

(三)伪分布式安装hadoop和配置
(1)配置相关的文件;

(2)初始化分布式文件系统;

(3)使用start-dfs.sh,查看启动的java进程,验证启动是否成功;

(4)终止hadoop运行,使用start-all.sh启动,查看启动的java进程,并和(3)中的结果进行比较分析;

1)、比较分析:

A、使用start-dfs.sh时,只有与HDFS相关的守护进程(NameNode和DataNode)会启动。

 B、使用start-all.sh时,除了HDFS的守护进程,还会启动YARN的ResourceManager和NodeManager,以及MapReduce的JobTracker和TaskTracker(在Hadoop 1.x中)或ResourceManager(在Hadoop 2.x中)。

(5)在Web端查看Hadoop运行情况以及文件系统中的文件目录;

(6)在hadoop存储系统中创建 /temp/dirName,文件夹名字自定义并查看创建是否成功
(7)切换到hadoop中的测试样例文件所在路径,并任选一个样例进行测试;
(8)终止Hadoop的运行,并验证进程结束;

四、总结(问题与收获)

1、遇到的问题:

    SSH服务端安装和免密登录设置:在配置SSH服务端时,我遇到了权限问题,导致无法成功生成SSH密钥。通过查阅文档和咨询同学,我了解到需要使用sudo命令来获取必要的权限。

    Java环境变量配置:在设置JAVA_HOME和PATH环境变量时,我最初没有将它们添加到系统的环境变量中,导致在非JDK安装目录下无法识别Java命令。通过编辑.bashrc文件并重新加载配置,我成功解决了这个问题。

    Hadoop伪分布式配置:在配置Hadoop的伪分布式环境时,我遇到了NameNode和DataNode无法同时启动的问题。经过检查配置文件和日志,我发现是hdfs-site.xml中的配置有误,修正后问题得以解决。

2、收获:

    Linux系统管理技能:通过本次实验,我加深了对Linux系统管理的理解,包括用户管理、服务安装和权限配置等。

    Java环境配置经验:我学会了如何在Linux环境下安装和配置Java环境,以及如何通过环境变量来管理Java版本。

    Hadoop安装与配置:我掌握了Hadoop的单机和伪分布式安装方法,了解了Hadoop各组件的作用和配置要点。

    问题解决能力:在遇到问题时,我学会了如何通过查阅文档、搜索解决方案和与同伴讨论来独立解决问题。

    大数据处理理解:通过本次实验,我对Hadoop和大数据处理有了更深入的认识,为后续的学习和研究打下了基础。

总的来说,通过本次实验,我不仅学习到了Hadoop的安装和使用,还提升了自己的问题解决能力和技术理解。我相信这些技能和经验将对我的未来学习和工作大有裨益。

相关文章:

大数据实验2.Hadoop 集群搭建(单机/伪分布式/分布式)

实验二: Hadoop安装和使用 一、实验目的 实现hadoop的环境搭建和安装Hadoop的简单使用; 二、实验平台 操作系统:Linux(建议Ubuntu16.04或者18.04);Hadoop版本:3.1.3;JDK版本&…...

【CSS in Depth 2 精译_036】5.6 Grid 网格布局中与对齐相关的属性 + 5.7本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…...

Qt圆角窗口

Qt圆角窗口 问题:自己重写了一个窗口,发现用qss设置圆角了,但是都不生效,不过子窗口圆角都生效了。 无边框移动窗口 bool eventFilter(QObject *watched, QEvent *evt) {static QPoint mousePoint;static bool mousePressed f…...

研究生第一次刷力扣day1

1.给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标 直接采用暴力求解,其他解答案看不懂 大致思想:先用len函数求出数组的长度n,然后一个个遍…...

flink自定义process,使用状态求历史总和(scala)

es idea maven 依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-elasticsearch7_2.11</artifactId> <version>1.11.1</version> </dependency> import org.apache.flink.api.common.eve…...

股指期货理论价格计算公式是什么?

股指期货&#xff0c;作为金融衍生品的一种&#xff0c;其价格与现货市场的股指价格紧密相关&#xff0c;但又受到多种因素的影响。了解股指期货理论价格的计算公式&#xff0c;对于投资者进行套利交易、风险管理等具有重要意义。本文将详细解读股指期货理论价格的计算公式&…...

解决R包依赖版本不兼容问题

ERROR: dependency ‘Matrix’ is not available for package ‘irlba’ removing ‘/root/anaconda3/envs/myview/lib/R/library/irlba’ ERROR: dependency ‘Matrix’ is not available for package ‘N2R’ removing ‘/root/anaconda3/envs/myview/lib/R/library/N2R’ ER…...

HarmonyOS开发者基础认证考试试题

文章目录 一、判断题二、单选题三、多选题 因考试只有91分&#xff0c;所以下方答案有部分错误&#xff0c;如果有发现错误&#xff0c;欢迎提出 一、判断题 1. HarmonyOS提供了基础的应用加固安全能力&#xff0c;包括混淆、加密和代码签名能力 正确 2. 用户首选项是关系型数…...

如何使用 React、TypeScript、TailwindCSS 和 Vite 创建 Chrome 插件

创建一个 Chrome 插件是一个有趣的项目&#xff0c;特别是当结合使用强大的工具如 React、TypeScript、TailwindCSS 和 Vite 时 在这篇文章中&#xff0c;我们将逐步引导完成整个过程&#xff0c;了解如何在 2024 年构建自己的 Chrome 插件。无论是经验丰富的开发者还是刚刚起…...

机器学习——Stacking

Stacking&#xff1a; 方法&#xff1a;训练多个模型(可以是强模型)&#xff0c;然后将这些模型的预测结果作为新的特征&#xff0c;输入到下一层新的模型&#xff08;可以是多个&#xff09;中进行训练&#xff0c;从而得到最终的预测结果。 代表&#xff1a;Stacking本身并没…...

在HTML中添加图片

在HTML中添加图片&#xff0c;你需要使用<img>标签。这个标签用于在网页上嵌入图像。<img>是一个空元素&#xff0c;它只包含属性&#xff0c;并且没有闭合标签。要在<img>标签中指定要显示的图像&#xff0c;你需要使用src&#xff08;source的缩写&#xf…...

R语言机器学习算法实战系列(二) SVM算法(Support Vector Machine)

文章目录 介绍原理应用方向下载数据加载R包导入数据数据预处理数据描述数据切割标准化数据设置参数训练模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性保存模型总结系统信息介绍 支持向量机(Support Vector Machine,简称SVM)是一种…...

gdb调试使用记录

使用 GDB&#xff08;GNU Debugger&#xff09;进行问题排查是非常有效的。且可以通过core文件进行排查bug&#xff0c;core文件是程序异常崩溃的时候(段错误&#xff0c;非法指令等)&#xff0c;系统自动生成的core文件。用户可以通过core文件配合gdb调试命令&#xff0c;调试…...

ESXi安装【真机和虚拟机】(超详细)

项目简介&#xff1a; ESXi&#xff08;Elastic Sky X Integrated&#xff09;是VMware公司开发的一种裸机虚拟化管理程序&#xff0c;允许用户在单一物理服务器上运行多个虚拟机&#xff08;VM&#xff09;。它直接安装在服务器硬件上&#xff0c;而不是操作系统之上&#xff…...

基于SpringBoot+Vue的高校门禁管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目源码、Python精…...

【Linux-基础IO】C语言文件接口回顾 系统文件概念及接口

目录 一、C语言文件接口回顾 C语言基础知识 C中文件操作示例 二、系统文件概念及接口 重定向基本理解的回顾 文件的基本概念 系统调用接口 open read write close lseek 什么是当前路径 一、C语言文件接口回顾 引言&#xff1a;我们并不理解文件&#xff01;从语…...

系统架构笔记-3-信息系统基础知识

知识要点 结构化方法&#xff1a;结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化方法也称为生命周期法&#xff0c;是一种传统的信息系统开发方法&#xff0c;由结构化分析、结构化设计、结构化程序设计三部分有机组合而成&#xff0c;精髓是自顶向下、逐…...

Linux下编程实现网络传送文件

本程序是在Linux下开发的,使用的是C语言,再结合Socket进行编程,分为客户端和服务器两个程序,即采用的是C/S架构,相应的源代码如下: 服务器端: #include <stdio.h> //#include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h&g…...

【速成Redis】04 Redis 概念扫盲:事务、持久化、主从复制、哨兵模式

前言&#xff1a; 前三篇如下&#xff1a; 【速成Redis】01 Redis简介及windows上如何安装redis-CSDN博客 【速成Redis】02 Redis 五大基本数据类型常用命令-CSDN博客 【速成Redis】03 Redis 五大高级数据结构介绍及其常用命令 | 消息队列、地理空间、HyperLogLog、BitMap、…...

SQL Server 2022的数据类型

新书速览|SQL Server 2022从入门到精通&#xff1a;视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) 数据类…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...