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

news2024/11/18 11:38:35

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.coloradmin.cn/o/1514969.html

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

相关文章

解决vue2+elementUI的下拉框出现自动校验的问题

问题&#xff1a; 总结原因是因为新增的时候&#xff0c;传了空值进去 可以这样子解决 this.formData.value && this.$set(this.model, this.formData.key, this.formData.value)这种是只有值存在的时候才会给他赋值&#xff0c;但是这只解决单选下拉框&#xff0c;…

SQLiteC/C++接口详细介绍之sqlite3类(五)

快速跳转文章列表&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;四&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;六&#xff09;&#xff08;未发表&#xff09; 14.sqlite3_busy_handle…

【STL】string各种函数的应用

1.string 基本赋值操作 string assign&#xff08;string str&#xff0c;int n&#xff09; string assign&#xff08;string str,int pos,int n&#xff09; 2.string存取字符操作 (at()) 注意&#xff1a;[ ]越界不会抛出异常&#xff0c;at越界会抛出异常 3.string拼接…

从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型1

文章灵感来源于MATLAB官方免费教程&#xff1a;HDL Coder Self-Guided Tutorial 考虑到MATLAB官网的英文看着慢&#xff0c;再加上视频讲解老印浓浓的咖喱味&#xff0c;我决定记录利用MATLAB&Simulink&SystemGenerator进行FPGA数字信号处理的学习过程。 在进行数字信…

vue学习笔记24-组件事件配合v-model使用

搜索时v-model绑定的search数据时时发生变化 watch侦听器时时监察变化&#xff0c;一旦数据发生变化 &#xff0c;就实时发送数据给父组件 子组件的完整代码&#xff1a; <template>搜索&#xff1a;<input type"text" v-model"search"> <…

如何把网站的http改成https?

想把网站从不安全的HTTP换成安全的HTTPS&#xff1f;来瞧瞧下面几步操作&#xff1a; 1.挑个SSL证书&#xff1a; - 根据你的网站情况&#xff08;比如就一个域名、多个域名还是啥域名都得管&#xff09;&#xff0c;找一款适合的SSL证书&#xff0c;有免费的DV&#xff08;验…

k8s-Istio服务网络 27

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ Istio与k8s的区别 SpringCloud传统微服务结合k8s与Istio与k8s结合&#xff1a; Istio数据面&#xff1a;通过envoy以sidecar方式拦截svc的流量来进行治理。 Istio控制面&#xff1a;pilot list/watch APIserv…

【WSN覆盖优化】基于改进黏菌算法的无线传感器网络覆盖 WSN覆盖优化【Matlab代码#65】

文章目录 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取】1. 改进SMA算法1.1 改进参数p1.2 混沌精英突变策略 2. WSN节点感知模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取…

TypeScript(五)交叉类型,联合类型,映射类型

交叉类型 交叉类型是将多个类型合并为一个类型。可以把现有的多种类型叠加到一起成为一种类型&#xff0c;它包含了所需的所有类型的特性。使用符号 & 表示。交叉类型 A & B 表示&#xff0c;任何一个新类型必须同时属于 A 和 B&#xff0c;才属于交叉类型 A & B …

数据库基础知识超详细解析~‍(进阶/复习版)

文章目录 前言一、数据库的操作1.登入数据库2.创建数据库3.显示当前数据库4.使用数据库5.删除数据库 二、常用数据类型三、数据库的约束1约束类型2NULL约束3UNIQUE:唯一约束4DEFAULT&#xff1a;默认值约束5 PRIMARY KEY&#xff1a;主键约束6 FOREIGN KEY&#xff1a;外键约束…

MyBatis-Plus学习记录

目录 MyBatis-Plus快速入门 简介 快速入门 MyBatis-Plus核心功能 基于Mapper接口 CRUD 对比mybatis和mybatis-plus&#xff1a; CRUD方法介绍&#xff1a; 基于Service接口 CRUD 对比Mapper接口CRUD区别&#xff1a; 为什么要加强service层&#xff1a; 使用方式 CR…

【CSS颜色】

本文章属于学习笔记&#xff0c;在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习 三、CSS颜色 1、有两种主要的颜色模型:电子设备中使用的加性RGB(红、绿、蓝)模型和印刷品中使用的减色CMYK(青色、品红、黄色、黑色)模型。 使用RGB模型。这…

Ypay源支付6.9无授权聚合免签系统可运营源码

YPay是一款专为个人站长设计的聚合免签系统&#xff0c;YPay基于高性能的ThinkPHP 6.1.2 Layui PearAdmin架构&#xff0c;提供了实时监控和管理的功能&#xff0c;让您随时随地掌握系统运营情况。 说明 Ypay源支付6.9无授权聚合免签系统可运营源码 已搭建测试无加密版本…

FastWiki v0.1.0发布!新增超多功能

FastWiki 发布 v0.1.0 https://github.com/239573049/fast-wiki/releases/tag/v0.1.0 更新日志 兼容OpenAI接口格式删除Blazor版本UI删除useEffect,解决可能存在问题的bug修复对话可以看到所有对话Merge branch ‘master’ of https://gitee.com/hejiale010426/fast-wiki更新…

14、设计模式之命令模式(Command)

一、什么是命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种行为型设计模式&#xff0c;又叫动作模式或事务模式。它将请求&#xff08;命令&#xff09;封装成对象&#xff0c;使得可以用不同的请求对客户端进行参数化&#xff0c;具体的请求可以在运行时更改…

蓝桥杯-粘木棍-DFS

题目 思路 --有n根木棍&#xff0c;需要将其粘成m根木棍&#xff0c;并求出最小差值&#xff0c;可以用DFS枚举出所有情况。粘之前有n根短木棍&#xff0c;粘之后有m根长木棍&#xff0c;那么让长木棍的初始长度设为0。外循环让所有的短木棍都参与粘&#xff0c;内循环让要粘的…

基于SpringBoot的“企业客户信息反馈平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“企业客户信息反馈平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 平台首页界面图 技术文档界面图 问题信息…

C# Onnx C2PNet 图像去雾 室外场景

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx C2PNet 图像去雾 室外场景 介绍 github地址&#xff1a;https://github.com/YuZheng9/C2PNet [CVPR 2023] Curricular Contrastive Regularization for Physics-aware Single Image Dehazing 效果 模型信息 Model P…

专升本 C语言笔记-03 变量的作用域

1.变量的概念 内存中有个存储区域,这个地方的数据可以在同一类型范围内不断变化通过变量名,可以访问这块内存区域,获取里面的值; 变量名的构成:数据类型 变量名 值 C语言中变量声明格式: 数据类型 变量名 值 2.变量的注意 2.1.全局变量: 定义在函数外部的叫全局变量…

SD-WAN技术如何保障网络的持续连接和稳定性

在当今数字化时代&#xff0c;企业对于网络的稳定性和持续连接性需求日益增加。SD-WAN作为一种新兴的网络解决方案&#xff0c;为企业提供了有效的方式来实现网络的持续连接和稳定性。本文将探讨SD-WAN技术如何保障网络的持续连接和稳定性。 1、多路径冗余技术 SD-WAN采用了多…