分享好友 最新动态首页 最新动态分类 切换频道
大数据平台核心技术-实验记录
2024-11-07 23:16

大数据平台核心技术-实验记录


**有问题多尝试解决,可评论留言遇到的问题**
**博客表述不清的地方请留言,看到后会更新博客**
**本文仅供参考**

学校:许昌学院 学院:信息工程学院 实验环境: 操作系统:Linux (CentOS 6.7) JDK版本:1.8 (8u161) Hadoop版本:2.7.4 虚拟机:VMware Workstation Pro 15.5 参考资料: Hadoop大数据技术原理与应用 linux命令大全(手册) 大数据平台核心技术 樊志伟


**有问题多尝试解决,可评论留言遇到的问题**

1. 实验目的

熟悉常用Linux操作,学会搭建Hadoop集群,为后续上机实验做准备。

2. 实验环境(推荐

操作系统:Linux (CentOS 6.7) JDK版本:1.8 (8u161) Hadoop版本:2.7.4

3. 实验内容和要求

(一)熟悉常用Linux操作实验内容使用到的命令(1) 切换到目录 /usr/local (2) 去到目前的上层目录 (3) 回到自己的主文件夹cd: 切换目录(4) 查看目录/usr下所有的文件ls: 查看文件与目录(5) 进入/tmp目录,创建名为a的目录 (6) 创建目录a1/a2/a3/a4mkdir: 新建新目录(7) 将主文件夹下的.bashrc复制到/tmp下,命名为bashrc1 (8) 在/tmp下新建目录test,再复制这个目录到/usrcp: 复制文件或目录(9) 将第7例文件bashrc1移动到目录/usr/test (10) 将第9例test目录重命名为test2mv: 移动文件与目录,或更名(11) 将以上例子中的bashrc1文件删除 (12) 将第10例的test2目录删除rm: 移除文件或目录(13) 查看主文件夹下的.bashrc文件内容cat: 查看文件内容(14) 在/目录下新建目录test,然后打包成test.tar.gz (15) 将第14例文件解压缩到/tmp目录tar: 压缩、解压缩命令(二)搭建Hadoop集群的前期准备实验内容使用到的命令(16) 配置三台虚拟机的网络vi. ifconfig, reboot, ping, service(17) 配置SSH免密码登陆rpm, grep, ssh-keygen, ssh-copy-id, ssh, exit(三)搭建Hadoop集群实验内容使用到的命令(18) 安装并配置指定版本的JDKrz, cd, tar, mv, vi, source(19) 安装并配置Hadoop集群主节点rz, tar, vi(20) 分发Hadoop至子节点并配置scp, source(21) 格式化HDFS,启动Hadoop集群hdfs namenode -format, start-dfs.sh

1. 实验目的

  • 掌握HDFS操作常用的Shell命令

  • 熟悉HDFS操作常用的Java API

  • 掌握倒排索引及其MapReduce实现。

2. 实验环境(推荐

  • Java开发环境:JDK 1.8 (8u161)

  • 分布式开发环境:Hadoop 2.7.4

  • 集成开发环境:Eclipse或IntelliJ IDEA

  • 项目构建工具:Maven 3.5.4

3. 实验内容和要求

(一)使用Shell命令操作HDFS实验要求其他说明(1) 在HDFS根目录下创建目录:“/学号后两位/test/” (2) 将本地系统中的文本文件复制到第(1)步创建的目录中 (3) 将第(2)步上传的文本文件复制到本地系统需要使用到集群 文本文件统一命名为:hdfs_sh.txt,内容随意(二)使用Java API操作HDFS实验要求其他说明(4) 搭建Hadoop HDFS开发环境 (5) 初始化HDFS客户端对象 (6) 在本地创建文本文件并上传到HDFS (7) 从HDFS将第(6)步上传的文件下载到本地需要使用到集群 使用Maven 文本文件统一命名为:hdfs_java.txt,内容随意(三)使用MapReduce实现倒排索引实验要求其他说明(8) 收集数据,根据来源将数据存储在多个文本文件中 (9) 编写Map阶段程序代码 (10) 编写Combine阶段程序代码(可选) (11) 编写Reduce阶段程序代码 (12) 实现Driver主驱动程序并测试运行无需使用集群 使用Maven 多个数据文件放在同一个文件夹中,文件夹命名为:mrdata

**有问题多尝试解决,可评论留言遇到的问题**

1、安装虚拟机

注意:每台虚拟机的内存需要量力而行,因为一共三台虚拟机加一台主机呢!如:本机共8g内存,那么平均分给4台电脑,每台可设2g内存

在这里插入图片描述 2、创建工作目录

mkdir -p /export/data

mkdir -p /export/software

mkdir -p /export/servers

在这里插入图片描述

3、克隆虚拟机 在这里插入图片描述

4、Linux网络配置

a>配置VM ware b>配置主机名 :vi /etc/sysconfig/network c>配置IP地址映射:​ vi /etc/hosts

在这里插入图片描述 在这里插入图片描述

5、网络参数配置

a>配置MAC地址 ​b>配置静态IP c>验证

在这里插入图片描述

6、SSH服务配置

a> 查看是否安装SSH:​ rpm -qa |grep ssh b>安装SSH:​ yum install openssh-server c>查看SSH服务是否启动:​ ps -e | grep sshd

在这里插入图片描述

7、虚拟机免密登录

在这里插入图片描述

  • 为什么要免密登录

    Hadoop节点众多,所以一般在主节点启动从节点这个时候就需要程序自动在主节点登录到从节点中,如果不能免密就每次都要输入密码,非常麻烦

  • 免密SSH登录的原理

    1.需要先在B节点配置A节点的公钥 2. A节点请求B节点要求登录 3. B节点使用A节点的公钥,加密- -段随机文本 4. A节点使用私钥解密,并发回给B节点 5. B节点验证文本是否正确

  • 第一步:三台机器生成公钥与私钥

    在三台机器执行以下命令,生成公钥与私钥 ssh -keygen -t rsa 执行该命令之后,按下三个回车即可 在这里插入图片描述

  • 第二步:拷贝公钥到同一台机器

    三台机器将拷贝公钥到第一台机器 三台机器执行命令: ssh-copy-id hadoop01 在这里插入图片描述

  • 第三步:复制第一台机器的认证到其他机器

    将第一台机器的公钥拷贝到其他机器上 在第一天机器上面指向以下命令 scp /root/.ssh/authorized_ keys hadoop02:/root/.ssh

    scp /root/.ssh/authorized_ keys hadoop03:/root/.ssh 在这里插入图片描述


**有问题多尝试解决,可评论留言遇到的问题**

1、安装文件上传工具

 

2、JDK安装

  • 下载JDK

https://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 查看当前系统自带jdk并卸载

:参考:here

 

在这里插入图片描述

然后通过 rpm -e --nodeps 后面跟系统自带的jdk名 这个命令来删除系统自带的jdk

 

在这里插入图片描述

删完之后可以再通过 rpm -qa | grep Java 命令来查询出是否删除掉 在这里插入图片描述

  • 安装JDK
 
  • 配置JDK环境变量
 
  • JDK环境验证
 

3、Hadoop安装:

  • 下载Hadoop安装包

http://archive.apache.org/dist/hadoop/common/

  • 解压安装Hadoop
 
  • 配置
 

修改完成之后记得source /etc/profle生效

source /etc/profile

  • 验证Hadoop环境
 

4、Hadoop集群配置

#进入目录

cd /export/servers/hadoop-2.7.4/etc/hadoop

4.1 配置Hadoop集群主节点

该部分可参考:官方文档

  • 修改hadoop-env.sh

    export JAVA_HOME=/export/servers/jdk

  • 修改core-site.xml

     
  • 修改hdfs-site.xml

     
  • 修改mapred-site.xml

    cp mapred-site.xml.template mapred-site.xml

     
  • 修改yarn-site.xml

     
  • 修改slaves文件。打开该配置文件,先删除里面的内容(默认localhost) ,然后配置如下内容。

     

4.2 将集群主节点的配置文件分发到其他子节点

 

**有问题多尝试解决,可评论留言遇到的问题**

1、格式化文件系统

初次启动HDFS集群时,必须对主节点进行格式化处理。

格式化文件系统指令如下:

 

2、启动和关闭Hadoop集群

  • 单节点逐个启动和关闭

    • 在主节点上执行指令启动/关闭HDFS NameNode进程;

       
    • 在每个从节点上执行指令启动/关闭HDFS DataNode进程;

       

      在这里插入图片描述

    • 在主节点上执行指令启动/关闭YARN ResourceManiger进程;

       
    • 在每个从节点上执行指令启动/关闭YARN nodemanager进程;

       

      在这里插入图片描述

    • 在节点hadoop02执行指令启动/关闭SecondaryNameNode进程。

       
    • 关闭只需将start 换成stop 在这里插入图片描述

  • 脚本一键启动和关闭

  1. 在主节点hadoop01上执行指令“start-dfs.sh”或“stop-dfs.sh”启动/关闭所有HDFS服务进程
  1. 在主节点hadoop01上执行指令“start-yarn.sh”或“stop-yarn.sh”启动/关闭所有YARN服务进程
  1. 在主节点hadoop01上执行“start-all.sh”或“stop-all.sh”指令,直接启动/关闭整个Hadoop集群服务。

3、通过UI查看Hadoop运行状态

Hadoop集群正常启动后,它默认开放了两个端口50070和8088,分别用于监控HDFS集群和YARN集群。通过UI界面可以方便地进行集群的管理和查看,只需要在本地操作系统的浏览器输入集群服务的IP和对应的端口号即可访问。

 

在这里插入图片描述

在Windows系统下,访问http://hadoop01:8088,查看Yarn集群状态,且从图中可以看出Yarn集群状态显示正常。 在这里插入图片描述:点击左侧Nodes,看到以下页面,一般配置就正确了

在这里插入图片描述


**有问题多尝试解决,可评论留言遇到的问题**

Hadoop经典案例——单词统计

  • 打开HDFS的UI界面,查看HDFS中是否有数据文件,默认是没有数据文件。 在这里插入图片描述

  • 准备文本文件,在Linux系统上编辑一个文本文件,然后上传至HDFS上。

    创建数据存储目录:mkdir -p /export/data

    编辑文件:vi word.txt

    写入一些单词

    hello itcast

    hello itheima

    hello Hadoop

    在hdfs上创建目录:hadoop fs -mkdir -p /wordcount/input

    在这里插入图片描述

    将文件上传至hdfs 的目录:hadoop fs -put /export/data/word.txt /wordcount/input

    在这里插入图片描述

  • 运行hadoop-mapreduce-examples-2.7.4.jar包,实现词频统计。

    进入:cd /export/servers/hadoop-2.7.4/share/hadoop/mapreduce

    执行:hadoop jar hadoop-mapreduce-examples-2.7.4.jar wordcount /wordcount/input /wordcount/output 注:执行该步时出错(一直为接受状态,没有运行;有大佬请解答)如下图(已解决在这里插入图片描述 成功界面在这里插入图片描述

  • 查看UI界面,Yarn集群UI界面出现程序运行成功的信息。HDFS集群UI界面出现了结果文件。

    在这里插入图片描述


**分割线,请保证实验一正确完成词频统计部分**
**有问题多尝试解决,可评论留言遇到的问题**

Shell在计算机科学中俗称“壳”,是提供给使用者使用界面的进行与系统交互的软件,通过接收用户输入的命令执行相应的操作,Shell分为图形界面Shell和命令行式Shell。

官方文档:here

 

上述命令中,“hadoop fs" 是使用面最广,可以操作任何文件系统,如本地系统、HDFS等,“hadoop dfs"则主要针对HDFS文件系统,已经被“Ihdfs dfs"代替。

文件系统(FS) Shell 包含了各种的类shell的命令,可以直接与Hadoop分布式文件系统以及其他文件系统进行交互,如与LocalFS、 HTTPFS、S3 FS 文件系统交互等。通过命令行的方式进行交互,具体操作常用命令,如表下表

命令参数功能描述-ls查看指定路径的目录结构-du统计目录下所有文件大小-mv移动文件-cp复制文件-rm删除文件/空白文件夹-cat查看文件内容-text源文件输出为文本格式-mkdir创建空白文件夹-put上传文件-help帮助-get下载文件

1、 ls命令 在这里插入图片描述 在这里插入图片描述 2、 mkdir命令 在这里插入图片描述 在这里插入图片描述 3、 put命令 在这里插入图片描述在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 4、 get命令 在这里插入图片描述在这里插入图片描述 5、 其他命令here


**该部分大多数问题是因为实验一未正确完成导致**
**有问题多尝试解决,可评论留言遇到的问题**

由于Hadoop是使用Java语言编写的,因此可以使用Java API操作Hadoop文件系统。HDFS Shell本质上就是对Java API的应用,通过编程的形式操作HDFS,其核心是使用HDFS提供的Java API构造一个访问客户端对象,然后通过客户端对象对HDFS上的文件进行操作(增、删、改、查)。 参考:https://my.oschina.net/u/2371923/blog/2870791

(1) 搭建Hadoop HDFS开发环境

1、win10上搭建hadoop环境

1).官网下载hadoop-2.7.4.tar.gz版本,解压:D:hadoop-2.7.4

2).配置环境变量

 

3.将windows上编译的文件hadoop.dll、winutils.exe放至%HADOOP_HOME%bin下

4.将hadoop.dll放到c:/windows/System32下

5.设置D:hadoop-2.7.4etchadoophadoop-env.cmd中的JAVA_HOME为真实java路径(路径中不能带空格,否者会报错). 在这里插入图片描述

6.测试hadoop是否配置成功,命令行输入:hadoop version 在这里插入图片描述

2、在idea中新建maven工程hadoop-demo

idea配置maven 打开Settings —>搜索maven—>进入就能看到自带maven 在这里插入图片描述

更改maven数据源: 1、在安装目录找到该文件 在这里插入图片描述

2、打开修改以下部分并保存。

 

3、将上述文件copy至以下目录进行覆盖在这里插入图片描述

4、重启idea

(2) 初始化HDFS客户端对象 1、创建maven工程并添加依赖,import依赖

 

在这里插入图片描述 2、创建java类,添加初始化HDFS客户端对象的方法

 

(3) 在本地创建文本文件并上传到HDFS 1、在本地创建文件在这里插入图片描述 2、添加上传文件测试方法

 

3、启动hadoop集群,运行测试方法进行测试 在这里插入图片描述 (4) 从HDFS将上传的文件下载到本地 1、添加下载文件的测试方法

 

2、启动集群,运行方法测试 在这里插入图片描述


**有问题多尝试解决,可评论留言遇到的问题**

在3.4中的工程里面新建包:cn.itcast.mr.invertedIndex

(1) 收集数据,根据来源将数据存储在多个文本文件中 在这里插入图片描述 (2) 编写Map阶段程序代码

 

(3) 编写Combine阶段程序代码(可选

 

(4) 编写Reduce阶段程序代码

 

(5) 实现Driver主驱动程序并测试运行

 

(6)运行结果 在这里插入图片描述


**有问题多尝试解决,可评论留言遇到的问题**

1、jdk安装成功,却使用的系统自带jdk

参考本文:jdk安装 —>查看当前系统自带jdk并卸载: 注:参考:here

2、无法启动 NodeManager

本机配置不满足,修改yarn-siet.xml文件.添加下面内容

 

注:参考:here

3、执行词频统计一直处于接受,未运行

属于服务未全部启动,请确保下图服务启动

在这里插入图片描述

1、运行报错:无法连接到hadoop01:9000

 

解决:Hadoop集群未开启导致,将集群开启即可。

2、配置完成却运行报错:

解决:查询原因是因为:jdk路径出现空格导致。重新安装jdk至无空格和中文的路径下即可。

3、Driver主驱动程序进行测试运行报错

 

解决:通过删除已存在的输出目录进行解决

最新文章
济源企业网络飞跃,SEO优化助力在线腾飞新引擎
济源网络推广SEO优化,是企业在线腾飞的强力新引擎。通过深度优化网站,提升搜索引擎排名,帮助企业扩大在线影响力,吸引潜在客户,实现高效网络营销。助力企业快速提升品牌知名度,抢占市场份额。随着互联网的飞速发展,已经成为企业拓展
重庆seo关键词工具(重庆SEO优化工具)
在当今数字化时代,搜索引擎优化(SEO)对于企业在线可见性和品牌建设至关重要,尤其是在竞争激烈的市场环境中,如中国西南地区的经济中心——重庆。为了有效提升网站排名,吸引目标客户,利用专业的SEO关键词工具成为了许多企业和SEO从业
打造吸睛力MAX的文章标题,网络推广优化秘籍大公开
在网络推广优化中,打造吸引眼球的精彩文章标题需遵循以下策略:抓住关键词,确保标题与内容高度相关;运用疑问句、数字或特殊符号,增加标题的吸引力;创造性地使用比喻、夸张等修辞手法,使标题更具趣味性;简洁明了,避免冗长,确保读者
英文简历模板:打造专业求职文档
简历是求职者向潜在雇主展示自己的第一份文件。它需要清晰地传达求职者的职业背景、技能和成就,以便吸引雇主的注意并获得面试机会。一个精心编写的简历能够在众多申请者中脱颖而出,因此了解其基本构成和框架至关重要。英文简
全方位品牌曝光度提升,关键词推广优化营销策略解析
本文针对关键词推广优化策略,详细阐述了全方位提升品牌曝光度的方法。通过精准定位、内容营销、多渠道推广等手段,有效提升品牌知名度和市场份额。策略包括优化关键词、提升内容质量、利用社交媒体等,助力企业实现品牌价值最大化。随着互
GPT-4.0来袭:人工智能新纪元即将开启
1.1 计算效率 GPT-4o在计算效率上有了显著提升。这意味着它可以在同样的硬件资源下处理更多的请求,或在相同时间内完成更多的任务。这对于高并发应用场景(如大型客服系统)来说尤为重要。 1.2 响应速度 由于优化了底层
最新寄生虫站群 揭秘最新寄生虫站群:网络生态新威胁
警惕“最新寄生虫站群”:一场网络黑帽SEO的隐秘之战在当今这个数字化时代,互联网已经成为人们获取信息、交流思想、开展业务的重要平台然而,随着网络技术的飞速发展,一些不法分子也利用技术手段进行非法活动,其中,“最新寄生虫站群”
百度蜘蛛池优化:深度解析搜狗收录蜘蛛池代运营,助力网站优化,提升流量转化
深度解析搜狗收录蜘蛛池代运营,助力网站优化。通过百度蜘蛛池优化,有效提升网站流量和转化率,实现高效SEO推广。本文目录导读:什么是搜狗收录蜘蛛池代运营?搜狗收录蜘蛛池代运营的优势搜狗收录蜘蛛池代运营的操作方法如何有效提升网站
四、怎么样选择适合本身的文档智能写作软件
文档智能写作软件盘点:哪些软件更胜一筹?在数字化时代的浪潮中人工智能()技术正以前所未有的速度发展渗透到了咱们生活的各个领域。在写作领域文档智能写作软件以其高效、智能的特点成为了广大写作者和创作者的得力助手。本文将为您介绍
Android apk md5获取 安卓手机如何打开.md5文件
视频消重软件吾爱伪原创 安卓手机怎么看视频md5 或者看标题中的文章,赞美这篇文章,机器人会认为你可能会喜欢这篇文章,我们将来会推荐类似的文章。。视频消重软件吾爱伪原创 安卓手机怎么看视频md5 自媒体运营技巧:短视频优质素材选题方
相关文章
推荐文章
发表评论
0评