大数据处理技术:Hadoop开发环境搭建

news2025/7/11 10:26:36

目录

1 实验名称

2 实验目的

3 实验内容

4 实验原理

5 实验过程或源代码

5.1 JavaJDK的配置

5.2 Hadoop安装与伪分布式集群搭建

5.3 HDFS系统初体验

6 实验结果

6.1 JavaJDK的配置结果

6.2 Hadoop安装与伪分布式集群搭建结果

6.3 HDFS系统初体验结果


1 实验名称

       Hadoop开发环境搭建

2 实验目的

       了解Hadoop 起源,进行Hadoop 的安装和配置,包括JavaJDK的配置与Hadoop安装与伪分布式集群搭建。

3 实验内容

       (1)配置开发环境-JavaJDK的配置

       (2)配置开发环境-Hadoop安装与伪分布式集群搭建

       (3)HDFS系统初体验

4 实验原理

       Hadoop开发环境的搭建主要是为了在本地或远程服务器上创建一个支持Apache Hadoop框架运行的环境,这个框架主要用于处理大规模数据集。Hadoop开发环境的搭建的基本步骤和原理包括:首先,你需要Hadoop的最新稳定版本,通常包括Hadoop Distributed File System (HDFS) 和MapReduce两部分。其次配置环境变量和核心配置文件,将Hadoop的bin目录添加到系统路径中,以便于命令行使用Hadoop工具。然后启动守护进程并验证环境,最后可以编写和运行MapReduce程序。

5 实验过程或源代码

5.1 JavaJDK的配置

1.创建一个/app文件夹,我们之后的软件都将安装在该目录下。命令:mkdir /app,然后,切换到/opt目录下,来查看一下提供的压缩包。

2.解压JDK并将其移动到/app目录下,可以切换到/app目录下查看解压好的文件夹。

3.解压好JDK之后在环境变量中配置JDK,输入命令:vim /etc/profile 编辑配置文件;在文件末尾输入如下代码(不可以有空格):export JAVA_HOME CLASSPATH PATH;然后,保存并退出。最后:source /etc/profile使刚刚的配置生效。

4.测试一下环境变量是否配置成功,输入:java -version

5.2 Hadoop安装与伪分布式集群搭建

1.设置SSH免密登录,输入如下代码:ssh-keygen -t rsa -P '',生成无密码密钥对,询问保存路径直接输入回车,生成密钥对:id_rsa和id_rsa.pub,默认存储在/home/hadoop/.ssh目录下。

2.把id_rsa.pub追加到授权的key里面去:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;然后修改权限:chmod 600 ~/.ssh/authorized_keys。

3.启用RSA认证,启动公钥私钥配对认证方式:vim /etc/ssh/sshd_config  如果提示权限不足在命令前加上sudo修改ssh配置:

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

4.hadoop-env.sh 配置,两个env.sh文件主要是配置JDK的位置。首先我们切换到hadoop目录下:cd /app/hadoop3.1/etc/hadoop;hadoop-env.sh在文件中插入如下代码:

# The java implementation to use.  
#export JAVA_HOME=${JAVA_HOME}  
export JAVA_HOME=/app/jdk1.8.0_171

5.yarn-env.sh 配置,编辑yarn-env.sh 插入如下代码:export JAVA_HOME=/app/jdk1.8.0_171。

6.core-site.xml配置,在该文件中加入 HDFS的URI和NameNode的临时文件夹位置,在文件末尾的configuration标签中添加代码如下:

<configuration>  
 <property>  
    <name>fs.default.name</name>  
    <value>hdfs://localhost:9000</value>  
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>  
</property>  
<property>  
    <name>hadoop.tmp.dir</name>  
    <value>/usr/hadoop/tmp</value>  
    <description>namenode上本地的hadoop临时文件夹</description>  
</property>  
</configuration>

7.hdfs-site.xml文件配置,在文件末尾的configuration标签中添加代码如下:

<configuration>  
<property>  
    <name>dfs.name.dir</name>  
    <value>/usr/hadoop/hdfs/name</value>  
    <description>namenode上存储hdfs名字空间元数据 </description>   
</property>   
<property>  
    <name>dfs.data.dir</name>  
    <value>/usr/hadoop/hdfs/data</value>  
    <description>datanode上数据块的物理存储位置</description>  
</property>  
<property>  
    <name>dfs.replication</name>  
    <value>1</value>  
</property>  
</configuration>

8.mapred-site.xml文件配置,在文件末尾的configuration标签中添加代码如下:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

9.yarn-site.xml配置,在文件末尾的configuration标签中添加代码如下:

<configuration>  
<property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
</property>  
<property>  
        <name>yarn.resourcemanager.webapp.address</name>  
        <value>192.168.2.10:8099</value>  
        <description>这个地址是mr管理界面的</description>  
</property>  
</configuration>

10.创建文件夹,在/usr/hadoop/目录下使用hadoop用户操作,建立tmp、hdfs/name、hdfs/data目录,执行如下命令 :

mkdir /usr/hadoop
mkdir /usr/hadoop/tmp 
mkdir /usr/hadoop/hdfs 
mkdir /usr/hadoop/hdfs/data 
mkdir /usr/hadoop/hdfs/name

11.将Hadoop添加到环境变量中:vim /etc/profile,在文件末尾插入如下代码:

#set Hadoop Environment
export HADOOP_HOME=/app/hadoop3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

最后使修改生效:source /etc/profile。

12.格式化,使用如下命令:hadoop namenode -format。在/hadoop3.1/sbin路径下: cd /app/hadoop3.1/sbin。将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

同时在start-yarn.sh,stop-yarn.sh顶部添加以下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

13.启动Hadoop:start-dfs.sh,输入命令 jps 验证。

5.3 HDFS系统初体验

1.创建文件夹:start-dfs.sh  hadoop fs -mkdir /task,查看是否创建成功:hadoop fs -ls /。

2.上传文件至HDFS,创建文件,并添加数据:vim task.txt  hello educoder;将文件上传至HDFS:hadoop fs -put task.txt /task;查看文件:hadoop fs -cat /task/task.txt。

6 实验结果

6.1 JavaJDK的配置结果

1.创建一个/app文件夹,并切换到/opt目录下查看

2.切换到/app目录下查看解压好的文件夹

3.在环境变量中配置JDK

4.测试配置成功

6.2 Hadoop安装与伪分布式集群搭建结果

1.设置SSH免密登录

2.启用RSA认证

3.启动Hadoop并验证成功

6.3 HDFS系统初体验结果

1.创建文件夹

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

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

相关文章

用Cursor生成一个代办事项列表的功能

一、本地新建html文件 二、输入代码 2.1 Cursor描述 其实这一段代码使用Cursor生成&#xff0c;可以输入如下内容&#xff0c;即可自动生成代码&#xff1a; 创建一个代办事项列表应用的基本结构&#xff0c;呈现在可交互界面上&#xff0c;1&#xff0c;提供可交互界面&…

乐器检测系统源码分享

乐器检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

【Vue】- Vue表达式

文章目录 知识回顾前言Vue项目介绍 源码分析1. 项目结构介绍&#xff08;单页面应用程序&#xff09;2. 项目运行流程图(单页面应用程序)3. 选项式和组合式api4. 插值表达式 {{}} 胡子语法5. reactive函数6. ref表达式 拓展知识reactive和ref的选择 总结 知识回顾 前言 Vue项…

利用python处理线性规划问题

利用python处理线性规划问题 linprog函数基本例题例题1例题2 典型例题例一&#xff1a;生产决策问题例一&#xff1a;生产决策问题 &#xff08;例题和部分解答思路来自清风老师&#xff09; linprog函数 导入模块 from scipy.optimize import linprog函数功能 Linear progra…

计算机毕业设计 毕业季一站式旅游服务定制平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

视频笔记1

玩转apollo课程内讲解靠边启动场景_哔哩哔哩_bilibili 用open_space_roi_decider 改后 善用坐标点 如何不影响其它场景&#xff1a;if判断

Gradio快速部署构建AIGC的web应用 ,python

Gradio快速部署构建AIGC的web应用 &#xff0c;python Gradio开源项目链接&#xff1a; https://github.com/gradio-app/gradiohttps://github.com/gradio-app/gradio &#xff08;1&#xff09;python的pip安装&#xff1a; pip install gradio &#xff08;2&#xff09;写…

webpack打包原理

目录 1、搭建结构&#xff0c;读取配置参数2、配置参数对象初始化 Compiler&#xff08;new Compiler(webpackOptions)&#xff09;3、挂载配置文件中的插件&#xff0c;4、执行Compiler 中的 run 方法进行编译5、根据配置文件中的entry 配置项找到所有的入口6、从入口文件出发…

HAL库学习梳理——UART

笔者跟着B站铁头山羊视频学习 STM32-HAL库 开发教程。下面对HAL库有关UART课程知识和应用做一个梳理。 省流&#xff1a; uint8_t byteNumber 0x5a;uint8_t byteArray[] {0,1,2,3,4,5};char ch a;char *str "Hello word";HAL_UART_Transmit(&huart1,&by…

Windows环境下 VS2022 编译 Xvid 源码

Xvid Xvid 是一个开源的视频编解码器&#xff0c;遵循 MPEG-4 视频编码标准&#xff0c;特别是 MPEG-4 Part 2 Advanced Simple Profile。它被广泛用于视频的压缩和解压&#xff0c;尤其是在互联网上分享视频文件时&#xff0c;因为它能够有效地减小文件大小而不会过多损失视频…

切线空间:unity中shader切线空间,切线矩阵,TBN矩阵 ,法线贴图深度剖析

unity中shader切线空间 看了网上各种解释&#xff0c;各种推理。直接脑袋大。感觉复杂的高大上。当深入了解后&#xff0c;才发是各种扯淡。 一切从模型法向量开始 在shader中&#xff0c;大部分的光照计算都是与法向量有关。通过法向量和其他向量能计算出模型在光线照射下的…

How to see if openAI (node js) createModeration response “flagged“ is true

题意&#xff1a;如何查看 OpenAI (Node.js) createModeration 响应中的 "flagged" 是否为 true 问题背景&#xff1a; Using the OpenAI createModeration feature, I am trying to see if the string gets flagged or not. 使用 OpenAI 的 createModeration 功能…

医学数据分析实训 项目一 医学数据采集

项目一 医学数据采集 一、实践目的 了解医学数据的特点&#xff1b;熟悉常见的医学公共数据库的使用方法&#xff1b;掌握获取医学数据的方法&#xff1b; 二、实践平台 操作系统&#xff1a;Windows10 及以上Python 版本&#xff1a;3.8.x 及以上PyCharm 或 Anoconda 集成…

Ubuntu 安装最新 Google Chrome 浏览器

谷歌浏览器使用简单并且用户友好&#xff0c;使用它浏览互联网愉悦至极。许多用户喜欢 Chrome&#xff0c;因为它加载网页又快又流畅。Chrome 提供强大的安全功能&#xff0c;帮助用户保持在线安全。Google Chrome 官方提供了一个 Debian 软件包存储库&#xff0c;基于 Debian …

Llama Factory :百种以上语言模型的统一高效微调框架

人工智能咨询培训老师叶梓 转载标明出处 大模型适应到特定下游任务时&#xff0c;传统的全参数微调方法成本高昂&#xff0c;因此&#xff0c;研究者们一直在探索更高效的微调技术。由北京航空航天大学和北京大学的研究团队提出了一个名为Llama Factory的统一框架&#xff0c;…

【免费刷题】实验室安全第一知识题库分享

道路千万条&#xff0c;实验安全第一条。 嘿&#xff0c;实验室的小伙伴们&#xff01;是不是还在为实验室安全考试而烦恼&#xff1f;别担心&#xff0c;今天就让我来分享一些实用的题库&#xff0c;帮助你轻松应对考试&#xff0c;同时也更好地保护自己和实验室的安全。 一、…

前端开发第三节课

20-目录文件夹和根目录 4.8图像标签和路径&#xff08;重点&#xff09; 2.路径&#xff08;前期铺垫知识&#xff09; &#xff08;1&#xff09;目录文件夹和目录 实际工作中&#xff0c;我们的文件不能随便乱放&#xff0c;否则用起来很难快速地找到他们&#xff0c;因此…

LeetCode 热题 100 回顾13

干货分享&#xff0c;感谢您的阅读&#xff01;原文见&#xff1a;LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 &#xff08;简单&#xff09; 题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标…

基于SpringBoot+Vue的个性化旅游推荐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

free -h 查看内存free空间不足

free空间不足 大部分被buff/cache占用 解决办法一: 手动释放缓存 释放页缓存 sudo sync; sudo sysctl -w vm.drop_caches1 释放目录项和inode缓存 sudo sync; sudo sysctl -w vm.drop_caches2 释放所有缓存&#xff08;页缓存、目录项和inode缓存&#xff09; sudo sync…