VMware搭建Hadoop集群 for Windows(完整详细,实测可用)

news2024/9/28 11:23:34

目录

一、VMware 虚拟机安装

(1)虚拟机创建及配置 

(2)创建工作文件夹

二、克隆虚拟机

三、配置虚拟机的网络

(1)虚拟网络配置

(2)配置虚拟机 主机名

(3)配置虚拟机hosts

(4)配置DNS、网关等

(5)reboot 重启虚拟机

四、配置SSH服务

(1)确认ssh进程 

(2)生成秘钥

(3)秘钥拷贝

 五、JDK安装

(1)把JDK安装包传输到虚拟机

(2)把JDK安装包解压到/export/software/

(3)配置JDK环境变量

六、Hadoop安装

(1)安装包上传及解压

(2)Hadoop系统环境配置 

(3)Hadoop集群境配置 

3.1 修改hadoop-env.sh文件

3.2 修改core-site.xml文件

3.3 修改hdfs-site.xml文件

3.4 修改mapred-site.xml文件

3.5 修改yarn-site.xml文件

3.6 修改workers文件

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

(5)格式化文件系统

(6)集群启动

七、浏览器查看Hadoop集群

(1)修改windows下ip映射

(2)防火墙关闭

(3)浏览器查看


一、VMware 虚拟机安装

(1)虚拟机创建及配置 

VMware下载地址

VMware的安装过程比较简单,正常安装就行,打开后是以下页面:

 点击文件==》新建虚拟机

 

 

 

 

 

 

 

 这里选择提前下载好的CentOS镜像:

 点击开启此虚拟机

 Enter回车,开始安装CentOS镜像:

 选择语言:

 设置日期:

 安装位置点进去,点击完成:

 KDUMP禁用:

 网络和主机名:

 

 点击开始安装:

 设置密码

这里要是密码设置过于简单,点击两次完成即可,后面就会继续执行安装了,等待执行完成,店点击重启按钮,重启后进入一下界面:

输入root和密码之后进入虚拟机:

(2)创建工作文件夹

在hadoop01上执行:

mkdir -p /export/data
mkdir -p /export/servers
mkdir -p /export/software

二、克隆虚拟机

搭建集群需要3个虚拟机,hadoop01,hadoop02,hadoop03,已经安装了hadoop01,剩下两个需要用到虚拟机克隆。

先关闭hadoop01虚拟机:

 点击克隆

 

 

 

 

 同理,克隆出hadoop03即可,到这虚拟机创建及配置完毕。

三、配置虚拟机的网络

三台虚拟机的ip和域名映射关系如下:

192.168.121.221 hadoop01

192.168.121.222 hadoop02

192.168.121.223 hadoop03

(1)虚拟网络配置

打开虚拟网络编辑器:

选择VMnet8 

 

 

 

 之后点击确定即可。

 

 

 

(2)配置虚拟机 主机名

在hadoop01虚拟机下执行: 

vi /etc/hostname

vi的insert、save等基本操作参考:https://blog.csdn.net/weixin_41231928

修改后如下: 

 

 同理修改hadoop02和hadoop03的hostname为 hadoop02 和 hadoop03,原因是hadoop02和hadoop03是由hadoop01克隆来的,不修改的话,hostname都是hadoop01,修改后如下:

(3)配置虚拟机hosts

 其实就是配置ip和域名的映射关系。

vi /etc/hosts

上面的命令编辑hosts,在3个虚拟机都里面添加:

192.168.121.221 hadoop01

192.168.121.222 hadoop02

192.168.121.223 hadoop03

(4)配置DNS、网关等

在3个虚拟机下新增以下ip设置

IPADDR="192.168.121.221"

NETMASK="255.255.255.0"

GATEWAY="192.168.121.2"

DNS1="114.114.114.114"

 执行以下命令:

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

(5)reboot 重启虚拟机

 以上所有配置完成后,执行:

reboot

然后可以验证下网络是否通,出现一下说明配置正常:

四、配置SSH服务

SSH服务的作用一般是有两方面:一是便于虚拟机节点之间免密访问,二是传输数据时会有加解密的过程安全性更高。为了这三个节点间免密登录,比如后面在启动hadoop服务时,主节点启动其它从节点,就需要免密去执行。所以3台机器都执行以下流程,这样三台机器就可以使用ssh连接而无需输入密码了。

(1)确认ssh进程 

输入以下命令,查看ssh进程是否存在(默认是开启的): 

ps -e | grep sshd

如下便是开启状态: 

 

(2)生成秘钥

ssh-keygen -t rsa

执行以上命令,不用输入,按3次回车:

(3)秘钥拷贝

三台机器的秘钥分别生成之后,需要将各自的秘钥拷贝到其他2台机器,3台机器都执行以下命令:

ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

每条命令中间会有询问,输入“yes”回车,然后输入密码即可:

验证下ssh配置:

在hadoop01下执行ssh hadoop02 和ssh hadoop03,能成功登录:

 五、JDK安装

下载一个linux版本的JDK,这里是 jdk-8u161-linux-x64.tar.gz,3台机器均要执行以下。

(1)把JDK安装包传输到虚拟机

这里我们需要借助ftcp文件传输软件,这里使用的是MobaxTerm,也可以使用别的文件传输软件,WinSCP\PuTTY\Xshell都可以。

MobaxTerm新建SFTP类型的session:

 可以新建一个root用户,把3个虚拟机的密码输入:

 

点击ok后:

 选择jdk文件,拖入之前建好的/export/software文件夹:

 

(2)把JDK安装包解压到/export/software/

执行以下命令:

cd /export/software/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /export/servers/
cd /export/servers/
mv jdk1.8.0_161/ jdk

(3)配置JDK环境变量

执行:

vim /etc/profile

在文末添加:

export JAVA_HOME=/export/servers/jdk

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注意:

修改  /etc/profile 文件最后都要执行下 

source /etc/profile

才能是修改生效。最后执行java -version看下是否配置成功。

六、Hadoop安装

 Hadoop下载地址

这里使用的是 hadoop-3.1.3.tar.gz

(1)安装包上传及解压

跟前面JDK一样,先用 mobaxterm 将 hadoop-3.1.3.tar.gz 上传到3台机器的 /export/software:

执行下面解压命令:

tar -zxvf hadoop-3.1.3.tar.gz -C /export/servers/

(2)Hadoop系统环境配置 

执行:

vim /etc/profile

添加一下内容:

export HADOOP_HOME=/export/servers/hadoop-3.1.3

export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

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

 一样,修改  /etc/profile 文件最后都要执行下 “vim /etc/profile”。

执行验证下:

hadoop version

(3)Hadoop集群境配置 

3.1 修改hadoop-env.sh文件

执行:

cd /export/servers/hadoop-3.1.3/etc/hadoop
vim hadoop-env.sh

找到export JAVA_HOME的位置修改:

export JAVA_HOME=/export/servers/jdk

3.2 修改core-site.xml文件

vim core-site.xml

添加以下配置:

<configuration>

       <property>

              <name>fs.defaultFS</name>

              <value>hdfs://hadoop01:9000</value>

       </property>

       <property>

              <name>hadoop.tmp.dir</name>

              <value>/export/servers/hadoop-3.1.3/tmp</value>

       </property>

</configuration>

 hadoop02、hadoop03修改时,把对于域名修改成hadoop02、hadoop03即可。

3.3 修改hdfs-site.xml文件

vim hdfs-site.xml

添加以下配置:

<configuration>

       <property>

              <name>dfs.replication</name>

              <value>3</value>

       </property>

       <property>

              <name>dfs.namenode.secondary.http-address</name>

              <value>hadoop02:50090</value>

       </property>

</configuration>

dfs.namenode.secondary.http-address这配置在hadoop02、hadoop03不用配置。

3.4 修改mapred-site.xml文件

vim mapred-site.xml

添加以下配置:

<configuration>

<!-- 指定MapReduce运行时框架,这里指定在Yarn上,默认是local -->

       <property>

              <name>mapreduce.framework.name</name>

              <value>yarn</value>

       </property>

</configuration>

3.5 修改yarn-site.xml文件

vi yarn-site.xml

添加以下配置:

<configuration>

   <property>

              <name>yarn.resourcemanager.hostname</name>

              <value>hadoop01</value>

       </property>

       <property>

              <name>yarn.nodemanager.aux-services</name>

              <value>mapreduce_shuffle</value>

       </property>

</configuration>

3.6 修改workers文件

vim workers

删除默认的localhost,添加以下内容: 

hadoop01

hadoop02

hadoop03

 

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

执行:

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/

传完之后要在hadoop02和hadoop03上分别执行 source /etc/profile 命令。

(5)格式化文件系统

hdfs namenode -format

这个执行成功以后,不要二次执行。

(6)集群启动

执行:

start-dfs.sh

  

然后3个机器分别 jps 查看进程情况:

在主节点hadoop01上执行

start-yarn.sh

 启动resourcemanager和nodemanager:

 jps:

 

 

 

 如果想要关闭,输入:

stop-dfs.sh

以上hadoop安装配置就完成了。

七、浏览器查看Hadoop集群

(1)修改windows下ip映射

修改 C:\Windows\System32\drivers\etc下的hosts文件,添加以下内容:

192.168.121.221 hadoop01

192.168.121.222 hadoop02

192.168.121.223 hadoop03

 这样就可以通过hadoop01、hadoop02、hadoop03这样的域名来访问了。

(2)防火墙关闭

在3台虚拟机上均执行以下命令(一个是临时关闭,一个是开机就关闭即永久关闭,两个命令执行其中一个即可):

systemctl stop firewalld.service
systemctl disable firewalld.service

(3)浏览器查看

在浏览器输入:

http://hadoop01:9870

http://hadoop01:8088

即可访问 HDFS 和 Yarn

以上已经将Hadoop集群搭建完毕!

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

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

相关文章

数值分析第六章节 用Python实现解线性方程组的迭代法

参考书籍&#xff1a;数值分析 第五版 李庆杨 王能超 易大义编 第5章 解线性方程组的迭代法 文章声明&#xff1a;如有发现错误&#xff0c;欢迎批评指正 文章目录 迭代法的基本概念雅可比迭代法与高斯-塞格尔迭代法雅可比迭代法高斯-塞格尔迭代法 迭代法的基本概念 6.1.1引言…

Python 进阶(三):正则表达式(re 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. 导入re模块2. re模块中的常用函数2.1 re.search()2.2 re.findall()2.3 re.sub()2.4…

020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试

020 - STM32学习笔记 - Fatfs文件系统&#xff08;二&#xff09; - 移植与测试 上节学习了FatFs文件系统的相关知识&#xff0c;这节内容继续学习在STM32上如何移植FatFs文件系统&#xff0c;并且实现文件的创建、读、写与删除等功能。 一、FatFs文件系统移植 移植还是在之…

uniapp 全局数据(globalData)的设置,获取,更改

globalData&#xff0c;这是一种简单的全局变量机制。这套机制在uni-app里也可以使用&#xff0c;并且全端通用 因为uniapp基本上都是将页面&#xff0c;或者页面中相同的部分&#xff0c;进行组件化&#xff0c;所以会存在父&#xff0c;子&#xff0c;&#xff08;子&#xf…

AI革命:揭开微软无与伦比的AI技术面纱

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 2023年7月25日&#xff0c;全球科技行业的领导者之一微软(MSFT)公布了其2023财年第四季度的财报。 除了举世闻名的Windows操作系统&#xff0c;微软还通过笔记本电脑、个人电脑和服务器等产品改变了世界&#xff0c;该公司…

ARM裸机-2

1、搞清楚各种版本号 1.1、ARM的型号命名问题 ARM7和ARMv7不是一回事。 Cortex-A9比Cortex-A7更先出来。 型号很乱&#xff0c;初学者容易分不清哪个是哪个&#xff0c;比较迷茫。 1.2、ARM的几种版本号 ARM内核版本号&#xff08;ARM卖给别人的核心版本号&#xff09; …

IntelliJ IDEA 2023.2 主要更新了什么?(图文版)

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

无敌的服务注册中心Spring CloudAlibaba Nacos不进来看一看吗?

1、Nacos概述 Nacos支持发现、配置和管理几乎所有类型的服务。其Key features&#xff1a;Service Discovery And Service Health Check、Dynamic configuration management、Dynamic DNS service、Service governance and metadata management 官网 2、Nacos安装运行 安装 …

LearnOpenGL_Day1

文章目录 前期准备下载GLFW下载GLAD 引入库文件生成窗口重要概念——双缓冲 &#xff08;double buffer&#xff09;代码实现 学习总结 前期准备 下载GLFW GLFW DOWNLOAD 解压后使用CMake编译至新创建的bulid文件夹下&#xff1a; 下载GLAD 引入库文件 创建好工程&#x…

git的ssh方式对接码云

一、环境准备&#xff1a; 1、git下载&#xff0c;360管家或是百度。 2、vs2022&#xff0c;百度下载。 二、配置git&#xff1a; 1、打开准备存放文件的文件夹&#xff0c;右键&#xff0c;选择“Git Bash here”&#xff0c;弹出命令窗口&#xff0c; 输入&#xff1a;ss…

平板光波导中传播常数β的matlab计算(验证了是对的)

参照的是导波光学_王建(清华大学)的公式(3-1-2、3-1-3)&#xff0c;算的参数是这本书的图3-3的。 function []PropagationConstantsMain() clear;clc;close all lambda01.55;%真空或空气中的入射波长&#xff0c;单位um k02*pi/lambda0; m3;%导模阶数(需要人为指定) n11.62;%芯…

入门redis你一定需要知道的命令

1、各种数据类型的特点 字符串(string)&#xff1a;普通字符串&#xff0c;Redis中最简单的数据类型 哈希(hash)&#xff1a;也叫散列&#xff0c;类似于Java中的HashMap结构 列表(list)&#xff1a;按照插入顺序排序&#xff0c;可以有重复元素&#xff0c;类似于Java中的Li…

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现WOA-ELM鲸鱼算法优化极限学习机多输入回归预测&#…

流数据湖平台Apache Paimon(二)集成 Flink 引擎

文章目录 第2章 集成 Flink 引擎2.1 环境准备2.1.1 安装 Flink2.1.2 上传 jar 包2.1.3 启动 Hadoop2.1.4 启动 sql-client 2.2 Catalog2.2.1 文件系统2.2.2 Hive Catalog2.2.3 sql 初始化文件 2.3 DDL2.3.1 建表2.3.2 修改表 2.4 DML2.4.1 插入数据2.4.2 覆盖数据2.4.3 更新数据…

idea插件开发-自定义语言4-Syntax Highlighter

SyntaxHighlighter用于指定应如何突出显示特定范围的文本&#xff0c;ColorSettingPage可以定义颜色。 一、Syntax Highter 1、文本属性键&#xfeff; TextAttributesKey用于指定应如何突出显示特定范围的文本。不同类型的数据比如关键字、数字、字符串等如果要突出显示都需…

ReID网络(一):MGN网络

Start MGN 1. 序言 现代基于感知的信息中&#xff0c;视觉信息占了80~85%。基于视觉信息的处理和分析被应用到诸如安防、电力、汽车等领域。 以安防市场为例&#xff0c;早在2017年&#xff0c;行业咨询公司IHS Market&#xff0c;我国在公共和私人领域安装有摄像头约1.76亿…

《TCP IP网络编程》第十三章

第 13 章 多种 I/O 函数 13.1 send & recv 函数 Linux 中的 send & recv&#xff1a; send 函数定义&#xff1a; #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t nbytes, int flags); /* 成功时返回发送的字节数&#xff0c;失败…

36.悬浮板

悬浮板 html部分 <div class"container"><div class"square"></div> </div>css部分 *{margin: 0;padding: 0; } body{background-color: #111;height: 100vh;overflow: hidden;display: flex;justify-content: center;align-it…

layui框架学习(33:流加载模块)

Layui中的流加载模块flow主要支持信息流加载和图片懒加载两部分内容&#xff0c;前者是指动态加载后续内容&#xff0c;示例的话可以参考csdn个人博客主页&#xff0c;鼠标移动到页面底部时自动加载更多内容&#xff0c;而后者是指页面显示图片时才会延迟加载图片信息。   fl…

苍穹外卖-day08

苍穹外卖-day08 本项目学自黑马程序员的《苍穹外卖》项目&#xff0c;是瑞吉外卖的Plus版本 功能更多&#xff0c;更加丰富。 结合资料&#xff0c;和自己对学习过程中的一些看法和问题解决情况上传课件笔记 视频&#xff1a;https://www.bilibili.com/video/BV1TP411v7v6/?sp…