伪分布Hadoop的安装与部署

1.实训目标

(1)熟悉掌握使用在Linux下安装JDK。

(2)熟悉掌握使用在Linux下安装Hadoop。

(3)熟悉掌握使用配置SSH免密登录。

2.实训环境与软件

环境

版本

说明

Windows 10系统

64位

操作电脑配置

VMware

16

用于搭建所需虚拟机Linux系统

Linux系统

CentOS 7

已配置完成

hadoop

192.168.213.200

用于安装JDK与Hadoop伪分布式的搭建

软件

版本

说明

JDK

1.8

jdk-8u161-linux-x64.tar.gz

Hadoop

3.1.4

hadoop-3.1.4.tar.gz

3.实训说明

       在实际应用中,如果是做简单的测试数据不大,可以使用Hadoop伪分布式集群来运算。Hadoop伪分布式部署的步骤流程与分布式的相差不大,相对来说要更简单些。集群的配置需要具体问题具体分析,根据业务需求搭建合适的集群环境。因此,请基于Hadoop 3.1.4版本,安装并部署伪分布式Hadoop集群,巩固Hadoop集群的搭建操作,加深对Haddop的理解。

4.实训步骤

        4.1 FinalShell远程连接Linux系统

 (1)使用命令“ifconfig”查看虚拟机的IP地址。

 (2)打开Final shell连接Linux系统。

4.2 修改主机别名为hadoop

(1)使用hostnamectl命令设置主机别名,最后重启reboot。

hostnamectl set-hostname hadoop
reboot

(2)使用命令“host”查看修改后的主机名。

(3)进入hosts文件里面添加IP与主机别名的映射关系。

vi /etc/hosts
192.168.213.200 hadoop

4.3 设置SSH免密登录

(1)使用“ssh-keygen -t rsa”命令,接着按3次“Enter”键。ssh-keygen产生公钥与私钥(可以进入.ssh目录中查看,id_rsa:私钥,id_rsa.pub :公钥)。

(2)使用命令“ssh-copy-id”将公钥复制至master,输入ssh-copy-id hadoop后,输入yes和密码。 

 (3)验证免密登录是否成功,输入ssh hadoop命令。

4.安装JDK

(1)将JDK安装包jdk-8u161-linux-x64.tar.gz上传至虚拟机master的/opt目录下,进入/opt目录下,使用“tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/”命令将JDK解压安装到/usr/local目录下,具体实现如下所示。

cd /opt/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/

 (2)验证JDK是否配置成功,使用“java -version”命令查看Java版本。具体实现如代码所示。

4.5 安装Hadoop,配置jdk和hadoop的环境变量

(1)将Hadoop安装包hadoop-3.1.4.tar.gz上传至虚拟机master的/opt目录下,使用“tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local”命令,将Hadoop安装包解压至master的/usr/local目录下。

cd /opt/
tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local/

(2)配置jdk和hadoop的环境变量。使用命令“vi /etc/profile”在hadoop节点上修改/etc/profile文件,在文件末尾添加如下代码内容,文件修改完保存退出,然后使用“source /etc/profile”命令使配置生效。

代码4.4-1 设置Jdk和Hadoop环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/usr/local/hadoop-3.1.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3)使用“source /etc/profile”命令使配置生效。

(4)使用jps和javac命令测试一下是否配置成功。

 4.6 配置Hadoop相关文件

       使用命令“cd /usr/local/hadoop-3.1.4/etc/hadoop/”进入/usr/local/hadoop-3.1.4/etc/hadoop目录。依次修改core-site.xmlhadoop-env.shhdfs-site.xmlmapred-site.xmlyarn-site.xml共5个配置文件的内容,具体操作步骤如下。

(1)使用命令“vi core-site.xml”打开文件。hadoop.tmp.dir配置了Hadoop的临时文件的目录。添加的内容如代码4.5-1所示。

 代码4.5-1 修改core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop:8020</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-3.1.4/tmp</value></property>
</configuration>

(2)使用命令“vi hadoop-env.sh”打开文件。hadoop-env.sh文件设置了Hadoop运行基本环境的配置,需要修改JDK所在目录。修改内容如代码4.5-2所示。

代码4.5-2 修改hadoop-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

(3)使用命令“vi hdfs-site.xml”打开文件。hdfs-site.xml设置了HDFS相关的配置,修改内容如代码4.5-3所示。 

代码4.5-3 修改hdfs-site.xml文件

<configuration>
<property><name>dfs.namenode.http-address</name><value>hadoop:9870</value></property><property><name>dfs.namenode.secondary.http-address</name><value>hadoop:9868</value>
</property>
</configuration>

(4)使用命令vi mapred-site.xml打开文件,mapred-site.xml文件添加的内容如代码4.54所示。

代码4.5-4  mapred-site.xml文件添加的内容

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

(5)使用命令vi yarn-site.xml打开文件,yarn-site.xml文件修改的内容如代码4.5-5所示。

代码4.5-5  yarn-site.xml文件修改的内容

<configuration>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>hadoop</value>
</property>
</configuration>

4.7 启动Hadoop 

(1)在首次启动签需要使用命令“hdfs namenode -format”格式化NameNode。

(2)格式化完成后即可启动Hadoop集群,使用命令“start-all.sh”可启动Hadoop集群。

(3)集群启动之后,使用“jps”命令,出现如下图所示的6个进程信息,说明集群启动成功。

4.8 查看HDFS对应的webUI(必须要先关闭防火墙)

  首先查看防火墙的状态:firewall-cmd --state
  如果防火墙为开启状态,需要关闭防火墙:systemctl stop firewalld.service
  浏览器输入网址:http://192.168.25.200:9870

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

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

相关文章

ChatGPT 串接到 Discord - 团队协作好助理

ChatGPT 串接到 Discord - 团队协作好助理 ChatGPT 是由 OpenAI 开发的一个强大的语言模型&#xff0c;本篇文章教你如何串接 Discord Bot &#xff0c;协助团队在工作上更加高效并促进沟通与协作。使 ChatGPT 发挥出最大的功效&#xff0c;进一步提升工作效率和团队协作能力。…

二 超级数据查看器   讲解稿   导入功能

二 超级数据查看器 讲解稿 导入功能 APP下载地址 百度手机助手 下载地址4 ​ 讲解稿全文&#xff1a; 大家好。 今天我们对 超级数据查看器的 导入信息功能 做一下详细讲解。 首先&#xff0c;我们打开 超级数据查看器。 我们这个系统要实现的是&#xff0c;快速生…

[Electron]中IPC进程间通信

Electron中IPC 进程间通信 (IPC) 是在 Electron 中构建功能丰富的桌面应用程序的关键部分之一。在 Electron 中&#xff0c;进程使用 ipcMain 和 ipcRenderer 模块&#xff0c;通过开发人员定义的“通道”传递消息来进行通信。 本文介绍以下几个方面&#xff1a; 1-渲染进程到…

用conda创建虚拟环境

下载好conda之后&#xff0c;在跑代码之前&#xff0c;可以用conda来创建虚拟环境&#xff0c;然后在虚拟环境中下载包pip之类的。 创建步骤如下&#xff1a; 1.conda create --name hhh 其中hhh为我的虚拟环境的名字&#xff0c;之后选择y即yes即可继续创建 可以看到&#…

JetPack入门

先导入依赖 implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") 1.使用LifeCycle解耦页面与组件 Activity package com.tiger.lifecycle;import android.annotation.SuppressLint; import android.os.Bundle; import android.os.SystemClock; impo…

Ajax+Axios+前后端分离+YApi+Vue-ElementUI组件+Vue路由+nginx【全详解】

目录 一.Ajax技术 二. Axios 三.前后台分离开发介绍 四. YAPI 五.前端工程化 六.vue工程的目录结构 七.Vue项目核心文件 八.Vue组件库ElementUI AboutView.vue最终代码 AboutView.vue最终代码 九.Vue路由 十.案例 十一.nginx介绍 一.Ajax技术 1.Ajax概述 Ajax: 全…

鸿蒙OpenHarmony HDF 驱动开发

目录 序一、概述二、HDF驱动框架三、驱动程序四、驱动配置坚持就有收获 序 最近忙于适配OpenHarmonyOS LiteOS-M 平台&#xff0c;已经成功实践适配平台GD32F407、STM32F407、STM32G474板卡&#xff0c;LiteOS适配已经算是有实际经验了。 但是&#xff0c;鸿蒙代码学习进度慢下…

【Python数据结构与判断1/7】复杂的多向选择

目录 导入 举个栗子 代码优化 elif 栗子 执行顺序 情况一 情况二 情况三 if-elif-else特性 三种判断语句小结 if if-else if-elif-else 嵌套语句 if嵌套 栗子 执行顺序 相互嵌套 Tips Debug 总结 导入 在前面&#xff0c;我们学习了单向选择的if语句和多项…

使用 Docker 部署 Stirling-PDF 多功能 PDF 工具

1&#xff09;Stirling-PDF 介绍 大家应该都有过这样的经历&#xff0c;面对一堆 PDF 文档&#xff0c;或者需要合并几个 PDF&#xff0c;或者需要将一份 PDF 文件拆分&#xff0c;又或者需要调整 PDF 中的页面顺序&#xff0c;找到的线上工具 要么广告满天飞&#xff0c;要么 …

深入解析汽车MCU的软件架构

一、背景知识 电动汽车&#xff08;EV&#xff09;正在成为首选的交通方式&#xff0c;为传统内燃机汽车提供了一种可持续发展的环保型替代方案。在电动汽车复杂的生态系统中&#xff0c;众多电子控制单元&#xff08;ECU&#xff09;在确保其高效运行方面发挥着至关重要的作用…

STM32基本定时功能

1、定时器就是计数器。 2、怎么计数&#xff1f; 3、我们需要有一恒定频率的方波信号&#xff0c;再加上一个寄存器。 4、比如每来一个上升沿信号&#xff0c;寄存器值加1&#xff0c;就可以完成计数。 5、假设方波频率是100Hz&#xff0c;也就是1秒100个脉冲。…

【Pytorch】进阶学习:深入解析 sklearn.metrics 中的 classification_report 函数---分类性能评估的利器

【Pytorch】进阶学习&#xff1a;深入解析 sklearn.metrics 中的 classification_report 函数—分类性能评估的利器 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合…

微信小程序-侧滑删除

简介 movable-view和movable-area是可移动的视图容器&#xff0c;在页面中可以拖拽滑动。 本篇文章将会通过该容器实现一个常用的拖拽按钮功能。 使用效果 代码实现 side-view.wtml 布局见下面代码&#xff0c;left view为内容区域&#xff0c;right view为操作按钮&a…

uniapp让输入框保持聚焦状态,不会失去焦点

使用场景&#xff1a;当输入框还有发送按钮的时候&#xff0c;点击发送希望软键盘不消失&#xff0c;还可以继续输入&#xff0c;或者避免因输入图片标签造成的屏闪问题 多次尝试后发现一个很实用的方法&#xff0c;适用input输入框和editor输入框 解决办法&#xff1a;把cli…

数学建模-动态规划(美赛运用)

动态规划模型的要素是对问题解决的抽象&#xff0c;其可分为&#xff1a; 阶段。指对问题进行解决的自然划分。例如&#xff1a;在最短线路问题中&#xff0c;每进行走一步的决策就是一个阶段。 状态。指一个阶段开始时的自然状况。例如&#xff1a;在最短线路问题中&#xff…

《探索虚拟与现实的边界:VR与AR谁更能引领未来?》

引言 在当今数字时代,虚拟现实(VR)和增强现实(AR)技术正以惊人的速度发展,并逐渐渗透到我们的日常生活中。它们正在重新定义人与技术、人与环境之间的关系,同时也为各行各业带来了全新的可能性。然而,究竟是VR还是AR更有潜力改变未来?本文将围绕这一问题展开深入探讨。…

HTML5:七天学会基础动画网页10

继续介绍3D转换: 3D转换:rotate3d 方法与说明 rrotateX(angle)otate3d(x,y,z,angle[角度]) 3D转换&#xff0c;正常取值0/1&#xff0c;0代表当前轴线不进行旋转&#xff0c;1反之&#xff0c;例:rotate3d(1,1,1,30deg)&#xff0c;代表三个轴线都要旋转30度 rotate3d(0…

Django学习笔记

Django学习笔记 一、Django整体流程跑通 1.1安装 pip install django //安装 import django //在python环境中导入django django.get_version() //获取版本号&#xff0c;如果能获取到&#xff0c;说明安装成功Django目录结构 Python310-Scripts\django-admi…

如何在Windows系统使用固定tcp公网地址ssh远程Kali系统

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

虚函数与纯虚函数有什么区别?

总的来说有两点区别&#xff1a; 1.虚函数的作用主要是矫正指针&#xff08;口语化的说法&#xff09; 2.虚函数不一定要重新定义&#xff0c;纯虚函数一定要定义&#xff08;口语化的说法&#xff09; 1&#xff09;. 虚函数的作用主要是矫正指针&#xff0c;使得基类的指针…