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

目录

一、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.mzph.cn/news/13439.shtml

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

相关文章

(树) 剑指 Offer 26. 树的子结构 ——【Leetcode每日一题】

❓剑指 Offer 26. 树的子结构 难度&#xff1a;中等 输入两棵二叉树 A 和 B&#xff0c;判断 B 是不是 A 的子结构。(约定空树不是任意一个树的子结构) B 是 A 的子结构&#xff0c; 即 A 中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3/ \4 5/ \1 2给定的树 B&…

stable-diffusion-webui汉化教程

第一种方法 1.打开stable diffusion webui&#xff0c;进入"Extensions"选项卡 2.点击"Install from URL" 3、注意"URL for extension’s git repository"下方的输入框 4、填入地址&#xff1a;https://github.com/VinsonLaro/stable-diffus…

C++多线程编程(包含c++20内容)

C多线程编程(包含c20内容) 文章目录 C多线程编程(包含c20内容)线程通过函数指针创建线程通过函数对象创建线程通过lambda创建线程通过成员函数创建线程线程本地存储取消线程自动join线程从线程获得结果 原子操作库原子操作原子智能指针原子引用使用原子类型等待原子变量 互斥互…

[JAVAee]文件操作-IO

本文章讲述了通过java对文件进行IO操作 IO:input/output,输入/输出. 建议配合文章末尾实例食用 目录 文件 文件的管理 文件的路径 文件的分类 文件系统的操作 File类的构造方法 File的常用方法 文件内容的读写 FileInputStream读取文件 构造方法 常用方法 Scan…

平均列顺序对列排斥能的影响

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让A有6个1&#xff0c;B有4个1&#xff0c;并且让这10个1的位置没有重合。比较迭代次数的顺序。 其中有9组数据 差值结构 A-B 迭代次数 构造平均列 …

使用PyGWalker可视化分析表格型数据

大家好&#xff0c;可以想象一下在Jupyter Notebook中拥有大量数据&#xff0c;想要对其进行分析和可视化。PyGWalker就像一个神奇的工具&#xff0c;能让这项工作变得超级简单。它能获取用户的数据&#xff0c;并将其转化为一种特殊的表格&#xff0c;可以与之交互&#xff0c…

ES6 - promise.all和race方法的用法详解

文章目录 一、前言二、Promise.all()1&#xff0c;第一句&#xff1a;Promise.all()方法接受一个数组作为参数&#xff0c;且每一个都是 Promise 实例2&#xff0c;第二句&#xff1a;如果不是&#xff0c;就会先调Promise.resolve方法&#xff0c;将参数转为 Promise 实例再进…

pytorch的发展历史,与其他框架的联系

我一直是这样以为的&#xff1a;pytorch的底层实现是c(这一点没有问题&#xff0c;见下边的pytorch结构图),然后这个部分顺理成章的被命名为torch,并提供c接口,我们在python中常用的是带有python接口的&#xff0c;所以被称为pytorch。昨天无意中看到Torch是由lua语言写的&…

【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码&#xff08;一&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存&#xff08;二&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型部署&#xff08;三&#xff09; 【如何训…

Windows Server 2012 能使用的playwright版本

由于在harkua_bot里面使用到了playwright&#xff0c;我的服务器又是Windows Server 2012 R2&#xff0c;最新版playwright不支持Windows Server 2012 R2&#xff0c;支持Windows Server 2016以上&#xff0c;所以有了这个需求 https://cdn.npmmirror.com/binaries/playwright…

Hadoop生态体系-HDFS

目录标题 1、Apache Hadoop2、HDFS2.1 设计目标&#xff1a;2.2 特性&#xff1a;2.3 架构2.4 注意点2.5 HDFS基本操作2.5.1 shell命令选项2.5.2 shell常用命令介绍 3、HDFS基本原理3.1 NameNode 概述3.2 Datanode概述 1、Apache Hadoop Hadoop&#xff1a;允许使用简单的编程…

Android Hook 剪切板相关方法

想起之前做过的项目有安全合规要求&#xff1a;主动弹窗获取用户同意了才能调用剪切板相关方法&#xff0c;否则属于违规调用&#xff0c;如果是自己项目的相关调用可以自己加一层if判断 但是一些第三方的jar包里面也有在调用的话&#xff0c;我们就无能为力了&#xff0c;而且…

JPA连接达梦数据库导致auto-ddl失效问题解决

现象&#xff1a; 项目使用了JPA&#xff0c;并且auto-ddl设置的为update&#xff0c;在连接达梦数据库的时候&#xff0c;第一次启动没有问题&#xff0c;但是后面重启就会报错&#xff0c;发现错误为重复建表&#xff0c;也就是说已经建好的表没有检测到&#xff0c;…

JVM类加载

一、类记载过程 1、通过类的全限定名获取存储该类的class文件 2、解析成运行时数据&#xff0c;即instanceKlass实例&#xff0c;存放到方法区 3、在堆区生成该类的class对象,即instanceMirrorKlass实例 二、将.class文件解析成什么&#xff1f;类的元信息在JVM中如何…

ceph集群中RBD的性能测试、性能调优

文章目录 rados benchrbd bench-write测试工具Fio测试ceph rbd块设备的iops性能测试ceph rbd块设备的带宽测试ceph rbd块设备的延迟 性能调优 rados bench 参考&#xff1a;https://blog.csdn.net/Micha_Lu/article/details/126490260 rados bench为ceph自带的基准测试工具&am…

全加器(多位)的实现

一&#xff0c;半加器 定义 半加器&#xff08;Half Adder&#xff09;是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和&#xff08;Sum&#xff09;和进位&#xff08;Carry&#xff09;计算出来。 半加器有两个输入&#xff1a;A 和 B&#xff0c;分别代表…

MySQL基础扎实——MySQL中有那些不同的表格

表格类型 在MySQL中&#xff0c;常见的表格类型有以下几种&#xff1a; MyISAM&#xff1a;是MySQL默认的表格类型&#xff0c;具有较高的性能和较小的存储空间占用。但是&#xff0c;MyISAM不支持事务、崩溃恢复和数据行级锁定。 InnoDB&#xff1a;是MySQL提供的一个更强大…

Redis实现分布式锁

文章目录 4、分布式锁4.1 、基本原理和实现方式对比4.2 、Redis分布式锁的实现核心思路4.3 实现分布式锁版本一4.4 Redis分布式锁误删情况说明4.5 解决Redis分布式锁误删问题4.6 分布式锁的原子性问题4.7 Lua脚本解决多条命令原子性问题4.8 利用Java代码调用Lua脚本改造分布式锁…

MySQL | 常用命令示例

MySQL | 常用命令示例 一、启停MySQL数据库服务二、连接MySQL数据库三、创建和管理数据库四、创建和管理数据表五、数据备份和恢复六、查询与优化 MySQL是一款常用的关系型数据库管理系统&#xff0c;广泛应用于各个领域。在使用MySQL时&#xff0c;我们经常需要编写一些常用脚…

【数据结构】【王道408】——PPT截图与思维导图

自用视频PPT截图 视频网址王道B站链接 23考研 408新增考点&#xff1a; 并查集&#xff0c;红黑树 2023年408真题数据结构篇 408考纲解读 考纲变化 目录 第一章 绪论第二章 线性表顺序表单链表双链表循环链表静态链表差别 第三章 栈 队列 数组栈队列栈的应用数组 第四章 串第五…