HADOOP完全分布式搭建(饭制版)

HADOOP完全分布式搭建(饭制版)

1.虚拟机安装

安装系统

点击VMware Workstation左上角文件,新建虚拟机

选择自定义,点击下一步

点击下一步

选择稍后安装操作系统(后续我们使用的操作系统为CentOS7),点击下一步

客户机系统选择Linux,版本选择CentOS 7 64位,点击下一步

自定义安装位置,点击下一步。

处理器配置2核2G

此虚拟机的内存大约分配4个G。

网络模式使用桥接模式(NAT),点击下一步。

默认LSI Logic(推荐),点击下一步

默认推荐SCSI

创建新虚拟磁盘,点击下一步

创建新虚拟磁盘,点击下一步

指定磁盘大小,点击下一步

指定磁盘文件,点击下一步

点击完成

点击编辑虚拟机配置

点击CD/DVD,使用ISO镜像文件,导入提前准备好的CentOS 7.9

点击确定。

点击网络配置,VMnet8,查看网关。

查看ip地址及默认网关等信息

注意:需要和虚拟机中设置的网络信息保持一致。

开机时,需要等待,一段时间后,系统自动进入安装界面。

操作系统语言我们选择English,点击Done

时区我们选择中国上海,点击Done

接着点击Begin Installation

我们点击ROOT PASSWORD

自己设置好账号和密码

等待系统安装完成,点击Reboot

进入到系统中,打开终端,设置为静态ip,添加ip地址,网关和域名

vi /etc/sysconfig/network-scripts/ifcfg-ens33

注意,一定要在网关下面分配,我分配的网址是192.168.66.102

重启网络服务

systemctl restart network

使用ip addr命令检查是否成功

到此为止,我们的虚拟网络设置完成

2.环境以及免密配置

环境配置

1.修改主机名称为 “master” 与 hosts 文件,方便后续进行集群之间的映射。

hostnamectl set-hostname master

2.更新yum源,安装vim命令包

yum update

yum install -y vim

3.修改host文件,提前添加映射,保存退出。(注意hosts文件的位置)

vim /etc/hosts

4.关闭防火墙

# 临时关闭防火墙
systemctl stop firewalld

# 永久关闭防火墙
systemctl disable firewalld

5.安装相关软件

# 安装下载库
yum install -y epel-release

6.安装最小化安装工具

# net-tool:工具包集合,包含ifconfig等命令
yum install -y net-tools 

7.卸载原生JDK,最小化安装的无需操作。

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 

8.关机,克隆两台虚拟机,作为从机使用。

右击创建好的虚拟机,选择管理——克隆——点击下一页,完整克隆。

克隆完成后,启动两台克隆机器(注意不要同时启动,一台一台启动,不然会造成 IP 冲突,修改完 IP 后再启动其它机器)。打开终端,修改主机名称,设置为静态 ip ,添加 ip 地址、网关和域名,注意与主节点 master 中的 hosts 文件保持一致。设置完成后,重启网络,检查是否设置成功。

免密登录设置

此时,我们需要安装Xshell,Xftp

打开 Xshell 工具,点击左上角文件——新建,在弹出框中设置名称和 ip 地址,然后点击连接,随后输入 root 账号密码完成连接。

三台机子都连接成功之后,开始设置免密登录。我这里给出 master 主节点免密登录其它两台从机的示例,从机免密登录主机就自己再来一次吧。

# 生成公钥与私钥(三次回车)
ssh-keygen

# 向目标主机发送公钥(输入密码)
ssh-copy-id slave1
ssh-copy-id slave2
# 也需要对自己设置免密哦
ssh-copy-id master 

# 免密登录,输入 exit 退出登录
ssh slave1
...

为其它两台从机设置好免密登录。

3.安装HADOOP和JDK1.8

HADOOP:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

1.上传安装包和JDK1.8

我这里的 Hadoop 安装包是 hadoop-3.2.4 版本,根据自身需求来。在主节点 master 中的 /opt 目录下新建两个文件夹 module(存放数据) 和 sofeware (存放安装包)。使用 Xftp 工具将 Hadoop 安装包 和 JDK上传到 sofeware 文件夹下,便于后期管理。

xshell官网:https://www.xshell.com/zh/xshell

xftp官网:https://www.xshell.com/zh/xftp/

JDK1.8:https://repo.huaweicloud.com/java/jdk/8u191-b12/

注意,jdk下载后缀为tar.gz的文件。

2.解压文件

解压文件到 /opt/module 中。

tar -zxvf hadoop-3.2.4.tar.gz -C /opt/module/

tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/module/

3.配置环境变量

vi /etc/profile

# 在文件末尾添加,将路径更改为你的安装路径
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin


#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存退出后执行命令 source /etc/profile ,使用配置的环境变量立即生效。

输入命令 java -version 验证 JDK 是否安装成功:

4.配置HADOOP-env.sh文件

该文件位于 $HADOOP_HOME/etc/hadoop 目录下,是一个配置 Hadoop 环境变量的文件,我们只需要在其中指定 Java 安装目录即可。

export JAVA_HOME=/opt/module/jdk1.8.0_221

5.配置 Hadoop 重要文件

在 Hadoop 中有四个重要的配置文件,位于 $HADOOP_HOME/etc/hadoop 目录下,分别是:

核心配置文件 —— core-site.xml

HDFS 配置文件 —— hdfs-site.xml

YARN 配置文件 —— yarn-site.xml

MapReduce 配置文件 —— mapred-site.xml

根据集群规划,配置文件:

core-site.xml

<configuration>
<!-- 指定 NameNode 的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:8020</value>
</property>

<!-- 指定 Hadoop 数据的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-3.1.3/data</value>
</property>

<!-- 配置 HDFS 网页登录使用的静态用户为 master -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>master</value>
</property>
</configuration>

hdfs-site.xml

<configuration>
<!-- nn(NameNode) web 端访问地址-->
<property>
    <name>dfs.namenode.http-address</name>
    <value>master:9870</value>
</property>

<!-- 2nn(SecondaryNameNode) web 端访问地址-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>slave2:9868</value>
</property>
</configuration>

yarn-site.xml

<configuration>
<!-- 指定 MR 走 shuffle -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 指定 ResourceManager 的地址-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>slave1</value>
</property>

<!-- 环境变量的继承 -->
<property>
    <name>yarn.nodemanager.env-whitelist</name>
	<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://master:19888/jobhistory/logs</value>
</property>

<!-- 设置日志保留时间为 7 天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>

<!-- 历史服务器 web 端地址 -->ha
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>
</configuration>

6.配置 workers/slaves 文件

在 Hadoop 的 2.x 版本中 workers 文件叫 slaves。

该文件位于 $HADOOP_HOME/etc/hadoop 目录下,用于指定集群运行的所有主机。

vi $HADOOP_HOME/etc/hadoop/workers 

# 添加你的主机
master
slave1
slave2

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

7.文件分发

我们上面的操作都只是在主节点 master 中进行,现在我们需要把所有文件分发给从机 slave1 和 slave2。

# 分发环境变量
rsync -r /etc/profile slave1:/etc/profile
rsync -r /etc/profile slave2:/etc/profile

# 分发 JDK 和 Hadoop 
scp -r /opt/module slave1:/opt
scp -r /opt/module slave2:/opt

分发完成后,进入两台从机,刷新分发的环境变量,立即生效。

source /etc/profile

8.启动集群

如果集群是第一次启动,则需要先格式化 NameNode 节点。

hdfs namenode -format

格式化完成后,启动集群:

# 在主节点中运行
start-dfs.sh
# 在 ResourceManager 节点中运行
start-yarn.sh 


# 在主节点中启动历史服务器
mr-jobhistory-daemon.sh start historyserver

请在 /etc/profile 文件末尾添加如下参数

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

添加完成后分发到其它节点,并使其立即生效。

启动完成后,输入 jps 命令检查各节点是否正常:

其他的虚拟机也是一样的命令

在本地浏览器中查看 Hadoop web 界面:192.168.66.102:9870(这里请修改为你的主机IP)

在这里插入图片描述

到此为止,我们的HADOOP就搭建完成了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【研发日记】,Matlab/Simulink开箱报告(十)——Requirements Toolbox

前言 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;五&#xff09;——S-Fuction模块(C MEX S-Function)》 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;六&#xff09;——S-Fuction模块&#xff08;TLC&#xff09;》 见《开…

2.案例、鼠标时间类型、事件对象参数

案例 注册事件 <!-- //disabled默认情况用户不能点击 --><input type"button" value"我已阅读用户协议(5)" disabled><script>// 分析&#xff1a;// 1.修改标签中的文字内容// 2.定时器// 3.修改标签的disabled属性// 4.清除定时器// …

构建部署_Jenkins介绍与安装

构建部署_Jenkins介绍与安装 构建部署_Jenkins介绍与安装Jenkins介绍Jenkins安装 构建部署_Jenkins介绍与安装 Jenkins介绍 Jenkins是一个可扩展的持续集成引擎。 持续集成&#xff0c;就是通常所说的CI&#xff08;Continues Integration&#xff09;&#xff0c;可以说是现…

Ajax(2)

图片上传 传图片文件不能像传文字一样用JSON格式&#xff0c;可以用form-data类型携带文件 1.获取图片文件对象 2.使用FormData&#xff08;浏览器内置的构造函数&#xff09;携带图片文件 3.提交表单数据到服务器&#xff0c;返回图片网址 这里可能用到的事件监听器&#…

[算法] 牛课题霸 - DP6 连续子数组最大和 - 动态规划

文章目录 题目链接解题过程思路一思路二 题目链接 DP6 连续子数组最大和 解题过程 思路一 两个for循环&#xff0c;遍历。 因为每个元素都要遍历两遍&#xff0c;所以时间复杂度O(n^2)。 简单的测试用例可以通过&#xff0c;但是提交时&#xff0c;一个巨大的数组用例&…

Copilot如何将word文稿一键转为PPT

背景 很多小伙伴平时经常会遇到的一个场景是&#xff0c;如何将word文稿图文转为PPT。 这个过程是既复杂而又无趣的。 现在&#xff0c;有了copilot&#xff0c;你可以一键搞定&#xff01; 使用copilot Pro来实现 比如我们想要做一个关于copilot studio的PPT展示&#xf…

Unix环境高级编程-学习-05-TCP/IP协议与套接字

目录 一、概念 二、TCP/IP参考模型 三、客户端和服务端使用TCP通信过程 1、同一以太网下 四、函数介绍 1、socket &#xff08;1&#xff09;声明 &#xff08;2&#xff09;作用 &#xff08;3&#xff09;参数 &#xff08;4&#xff09;返回值 &#xff08;5&…

【Python】新手入门学习:详细介绍单一职责原则(SRP)及其作用、代码示例

【Python】新手入门学习&#xff1a;详细介绍单一职责原则&#xff08;SRP&#xff09;及其作用、代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyT…

MySQL一些命令记录

查看数据引擎 show engines;创建数据库,并选择库 CREATE DATABASE IF NOT EXISTS test_database; USE test_database;创建表 CREATE TABLE IF NOT EXISTS test_table (id INT AUTO_INCREMENT PRIMARY KEY,field1 VARCHAR(50),field2 VARCHAR(50),field3 VARCHAR(50),field4 …

https超文本传输安全协议到底是什么?

HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff09;是超文本传输安全协议的英文翻译缩写&#xff0c;它是以安全为目标的HTTP通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基…

基于SSM的协同过滤算法的电影推荐系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的协同过滤算法的电影推荐系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通…

盘点9款AI论文写作神器,轻松写出高质量论文

0. 未来百科 未来百科&#xff0c;是一个全球最大的 AI 产品导航网站 —— 为发现全球优质 AI 工具而生 。目前已 聚集全球 10000优质 AI 工具产品 &#xff0c;旨在帮助用户发现全球最好的 AI 工具&#xff0c;同时为研发 AI 垂直应用的创业公司提供展示窗口&#xff0c;迎接…

如何使用vue定义组件之——父组件调用子组件

首先&#xff0c;我们需要创建两个组件模板template&#xff1a; <template id"father"><div><h3>我是父组件</h3><h3>访问自己的数据:</h3><h3>{{ msg }}</h3></div></template><template id"…

C#多线程(5)——异步方法async与await

在上一章节中&#xff0c;为大家介绍了C#多线程&#xff08;4&#xff09;——任务并行库TPL&#xff0c;TPL是从.NetFramwork4.0后引入的基于异步操作的一组API&#xff0c;核心关注于任务【 T a s k 和 T a s k < T > \textcolor{red}{Task 和 Task<T>} Task和Ta…

HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例

介绍 本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据。 效果图预览 使用说明 进入页面&#xff0c;下拉列表触发刷新数据事件&#xff0c;等待数据刷新完成。上滑列表到底部&#xff0c;触发加载更多数据事件&#xff0c;等待数据加载…

基于Springboot的集团门户网站(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的集团门户网站&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

YOLOv5目标检测学习(5):源码解析之:推理部分dectet.py

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、导入相关包与路径、模块配置1.1 导入相关的python包1.2 获取当前文件的相对路径1.3 加载自定义模块1.4 总结 二、执行主体的main函数所以执行推理代码&…

手写简易操作系统(六)--内存分页

前情提要 上一节我们讲到了获取物理内存&#xff0c;这节我们将开启内存分页 一、内存分页的作用 内存分页是一种操作系统和硬件协同工作的机制&#xff0c;用于将物理内存分割成固定大小的页面&#xff08;通常为4KB&#xff09;并将虚拟内存空间映射到这些页面上。内存分页…

Django官网项目 五

Writing your first Django app, part 5 | Django documentation | Django 自动测试介绍 何为自动测试 测试有系统自动完成。你只需要一次性的编写测试代码&#xff0c;当程序代码变更后&#xff0c;不需要对原来的测试人工再重新测试一遍。系统可以自动运行原来编写的测试代…

【unity资源加载与优化章】Profiler优化工具详解

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…