CentOS7搭建Hadoop3集群教程

一、集群环境说明


1、用VMware安装3台Centos7虚拟机
2、虚拟机配置:2C,2G内存,50G存储
3、集群架构设计
从表格中,可以看出,Hadoop集群,主要有2个模块服务,一个是HDFS服务,一个是YARN服务


二、搭建集群


1、安装3台Centos7虚拟机
安装教程:VMware安装Centos7详细教程及初始化配置


三台虚拟机固定IP:192.168.31.110、192.168.31.111、192.168.31.112
三台主机的hostname分别为,hadoop-master,hadoop-slave1,hadoop-slave2

因为3条机器相关配置类似,所以我们先在一台机器上操作完,然后将机器克隆2台即可。

克隆第一台机器master

首先从虚拟机快照中创建一个克隆,我们将先在这台机器(hadoop-master)上操作。

以下均在root用户下操作

修改主机名

vim /etc/hostname

hadoop-master

修改hosts文件

vim /etc/hosts

192.168.126.110	hadoop-master
192.168.126.111	hadoop-slave1
192.168.126.112	hadoop-slave2



修改ip地址

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


创建账号


创建hadoop账号,并设置密码为hadoop

useradd hadoop
echo hadoop|passwd --stdin hadoop;


配置hadoop账号root权限

visudo

末尾添加
hadoop    ALL=(ALL)       NOPASSWD:ALL


安装hadoop

hadoop 3.1.3下载地址:Apache Hadoop

创建两个目录并赋予权限,进入software目录,并将hadoop压缩包上传上去

mkdir /opt/module
mkdir /opt/software
chown hadoop:hadoop /opt/module
chown hadoop:hadoop /opt/software
cd /opt/software

切换到hadoop用户,并解压

su hadoop
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

回到root用户,配置环境变量

exit
cd /etc/profile.d/
 
vim hadoop.sh

#!/bin/bash
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

重新加载环境变量,这样新配置的hadoop环境变量才会生效
source /etc/profile

检查hadoop安装是否成

hadoop version

hadoop的4个自定义配置文件及workers配置

切换到hadoop用户,进入到hadoop安装目录

su hadoop
cd /opt/module/hadoop-3.1.3
core-site.xml
vim etc/hadoop/core-site.xml

配置内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/module/hadoop-3.1.3/data</value>
  <description>指定 Hadoop 数据的存储目录</description>
</property>
</configuration>
hdfs-site.xml
vim etc/hadoop/hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
  <name>dfs.namenode.http-address</name>
  <value>hadoop-master:9870</value>
  <description>nn web 端访问地址</description>
</property>

<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop-slave2:9868</value>
  <description>2 nn web 端访问地址</description>
</property>
</configuration>
mapred-site.xml
vim etc/hadoop/mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
	  <name>mapreduce.framework.name</name>
	  <value>yarn</value>
	  <description></description>
	</property>
	
	<property>
	  <name>mapreduce.jobhistory.address</name>
	  <value>hadoop-master:10020</value>
	  <description>历史服务器端地址</description>
	</property>
	
	<property>
	  <name>mapreduce.jobhistory.webapp.address</name>
	  <value>hadoop-master:19888</value>
	  <description>历史服务器 web 端地址</description>
	</property>
</configuration>

yarn-site.xml
vim etc/hadoop/yarn-site.xml
<?xml version="1.0"?>
<configuration>

  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>指定 MR 走 shuffle</description>
  </property>
  
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop-slave1</value>
    <description>指定 ResourceManager 的地址</description>
  </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>
    <description>系统环境变量的继承</description>
  </property>
  
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
    <description>开启日志聚集功能</description>
  </property>
  
  <property>
    <description>设置日志聚集服务器地址</description>
    <name>yarn.log.server.url</name>
    <value>http://hadoop-master:19888/jobhistory/logs</value>
  </property>
  
  <property>
    <description>设置日志保留时间为 7 天, -1 表示不保存日志</description>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>

</configuration>
配置workers
vim etc/hadoop/workers
hadoop-master
hadoop-slave1
hadoop-slave2

克隆slave

关闭master,克隆slave1和slave2,并开机

分别修改主机名和ip地址

hadoop-slave1:192.168.126.111

hadoop-slave2:192.168.126.112

vim /etc/hostname

hadoop-slave1
vim /etc/sysconfig/network-scripts/ifcfg-ens33

slave2类同

配置ssh免密

登录master

配置免密登录slave1,slave2

su hadoop
cd							进入当前账号家目录
ssh-keygen					连续三次回车	

ssh-copy-id hadoop-master	复制公钥到master服务器
ssh-copy-id hadoop-slave1	复制公钥到slave1服务器
ssh-copy-id hadoop-slave2	复制公钥到slave2服务器

分别登录slave1,slave2执行以上操作

初始化启动

以下在master上执行

cd /opt/module/hadoop-3.1.3
hdfs namenode -format

启动hadoop

启动HDFS服务
cd /opt/module/hadoop-3.1.3
sbin/start-dfs.sh
访问web页:http://192.168.126.110:9870

启动YARN服务

登录slave1

ssh hadoop-slave1
cd /opt/module/hadoop-3.1.3
sbin/start-yarn.sh

访问页面:http://192.168.126.111:8088/

检查各个集群节点服务

jps

集群启动与停止

在master上

cd /opt/module/hadoop-3.1.3
sbin/start-dfs.sh
sbin/stop-dfs.sh

在slave1上

cd /opt/module/hadoop-3.1.3
sbin/start-yarn.sh
sbin/stop-yarn.sh

测试

mkdir /opt/module/hadoop-3.1.3/wcinput
cd /opt/module/hadoop-3.1.3/wcinput
vim word.txt
ss ss
cls cls
banzhang
bobo
yangge
hadoop fs -mkdir /input	
hadoop fs -put $HADOOP_HOME/wcinput/word.txt /input	
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

部分内容参考连接:https://blog.csdn.net/Brave_heart4pzj/article/details/138314373

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

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

相关文章

不靠学历,不拼年资,怎么才能月入2W?

之前统计局发布了《2023年城镇单位就业人员年平均工资情况》&#xff0c;2023年全国城镇非私营单位和私营单位就业人员年平均工资分别为120698元和68340元。也就是说在去年非私营单位就业人员平均月薪1W&#xff0c;而私营单位就业人员平均月薪只有5.7K左右。 图源&#xff1a;…

视频监控相关笔记

一、QT 之 QTreeWidget 树形控件 Qt编程指南&#xff0c;Qt新手教程&#xff0c;Qt Programming Guide 一个树形结构的节点中的图表文本 、附带数据的添加&#xff1a; QTreeWidgetItem* TourTreeWnd::InsertNode(NetNodeInfo node, QTreeWidgetItem* parent_item) { // …

asp.net core日志与异常处理小结

asp.net core的webApplicationBuilder中自带了一个日志组件,无需手动注册服务就能直接在控制器中构造注入&#xff0c;本文主要介绍了net core日志与异常处理小结&#xff0c;需要的朋友可以参考下 ILogger简单使用 asp.net core的webApplicationBuilder中自带了一个日志组件…

Redis的一些数据类型(一)

&#xff08;一&#xff09;数据类型 我们说redis是key value键值对的方式存储数据&#xff0c;key是字符串&#xff0c;而value是一些数据结构,那今天就来说一下value存储的数据。 我们数据结构包含&#xff0c;String&#xff0c;hash&#xff0c;list&#xff0c;set和zest但…

新手卖家做跨境电商,选择Shopee还是亚马逊?

对于刚刚涉足跨境电商领域的新人来说&#xff0c;选择合适的电商平台是迈出成功第一步的关键。目前最主流的跨境平台一定是亚马逊&#xff0c;平台覆盖全球各个市场&#xff0c;利润高&#xff0c;但门槛也高。Shopee主要面向的是东南亚市场&#xff0c;商品一般更有性价比&…

LabVIEW界面输入值设为默认值

在LabVIEW中&#xff0c;将前面板上所有控件的当前输入值设为默认值&#xff0c;可以通过以下步骤实现&#xff1a; 使用控件属性节点&#xff1a;你可以创建一个属性节点来获取所有控件的引用。 右键点击控件&#xff0c;选择“创建” > “属性节点”。 设置属性节点为“D…

Unity开发绘画板——02.创建项目

1.创建Unity工程 我们创建一个名为 DrawingBoard 的工程&#xff0c;然后先把必要的工程目录都创建一下&#xff1a; 主要包含了一下几个文件夹&#xff1a; Scripts &#xff1a;存放我们的代码文件 Scenes &#xff1a;工程默认会创建的&#xff0c;存放场景文件 Shaders &…

加固与脱壳01 - 环境搭建

虚拟机 VMWare 多平台可用&#xff0c;而且可以直接激活&#xff0c;需要先注册一个账号 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro KALI 类Ubuntu系统&#xff0c;官方提供了 vmware 版本&#xff0c;直接下载就可以使用。…

关于安卓App自动化测试的一些想法

安卓App自动化一般使用PythonAppium。页面元素通常是使用AndroidStudio中的UI Automator Viewer工具来进行页面元素的追踪。但是这里涉及到一个问题就是&#xff0c;安卓apk在每次打包的时候&#xff0c;会进行页面的混淆以及加固&#xff0c;所以导致每次apk打包之后会出现页面…

[Linux]用户管理指令

开机/重启/登录/注销 进入xhsell 或者虚拟系统中, 右键桌面打开终端, 在终端执行命令, 重启或关机linux系统 建议使用普通账号登录, 如果权限不够时, 使用 su - 用户名 命令切换到超管, 然后再使用 logout命令退回到普通账号, logout 不能在图形界面的终端中使用 用户管理 Li…

网络信息传输安全

目录 机密性-加密 对称加密 非对称加密 身份认证 摘要算法和数据完整性 数字签名 签名验签 数字证书 申请数字证书所需信息 数字证书的生成 数字证书的应用 https协议 数字证书的申请 数据在网络中传输过程中&#xff0c;怎么做到 数据没有被篡改&#xff1f;hash算…

基于PHP的新闻管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于phpMySQL的新闻管理系统。…

[js逆向学习] fastmoss电商网站——店铺排名

逆向目标 网站&#xff1a;https://www.fastmoss.com/shop-marketing/tiktok接口&#xff1a;https://www.fastmoss.com/api/shop/shopList/参数&#xff1a;fm-sign 逆向分析 我们今天要分析的是店铺排名&#xff0c;先分析网络请求&#xff0c;找到目标接口 按照上图操作…

JUC高并发编程2:Lock接口

1 synchronized 1.1 synchronized关键字回顾 synchronized 是 Java 中的一个关键字&#xff0c;用于实现线程间的同步。它提供了一种简单而有效的方式来控制对共享资源的访问&#xff0c;从而避免多个线程同时访问同一资源时可能出现的竞态条件&#xff08;race condition&am…

.net core8 使用JWT鉴权(附当前源码)

说明 该文章是属于OverallAuth2.0系列文章&#xff0c;每周更新一篇该系列文章&#xff08;从0到1完成系统开发&#xff09;。 该系统文章&#xff0c;我会尽量说的非常详细&#xff0c;做到不管新手、老手都能看懂。 说明&#xff1a;OverallAuth2.0 是一个简单、易懂、功能强…

LeetcodeTop100 刷题总结(二)

LeetCode 热题 100&#xff1a;https://leetcode.cn/studyplan/top-100-liked/ 文章目录 八、二叉树94. 二叉树的中序遍历&#xff08;递归与非递归&#xff09;补充&#xff1a;144. 二叉树的前序遍历&#xff08;递归与非递归&#xff09;补充&#xff1a;145. 二叉树的后序遍…

你的提交信息还在拖后腿?看这里,提升代码质量的绝招!

文章目录 前言一、什么是约定式提交&#xff1f;二、创建新仓库三、将代码推送到远程仓库的步骤1.检查当前远程仓库2.添加代码到暂存区3. 进行约定式提交4. 推送代码到远程仓库5. 完成推送 总结 前言 在当今软件开发领域&#xff0c;Git已经成为最广泛使用的版本控制系统之一。…

java算法OJ(1)位运算

目录 1.前言 2.正文 2.1位运算符号 2.1俩数相除 2.1.1题目 2.1.2示例 2.1.3题解 2.2二进制求和 2.2.1题目 2.2.2示例 2.2.3题解 2.3只出现一次的数字 2.3.1题目 2.3.2示例 2.3.3题解 2.4只出现一次的数字&#xff08;进阶版&#xff09; 2.4.1题目 2.4.2示例…

【ComfyUI】控制光照节点——ComfyUI-IC-Light-Native

原始代码&#xff08;非comfyui&#xff09;&#xff1a;https://github.com/lllyasviel/IC-Light comfyui实现1&#xff08;600星&#xff09;&#xff1a;https://github.com/kijai/ComfyUI-IC-Light comfyui实现2&#xff08;500星&#xff09;&#xff1a;https://github.c…

cobbler自动批量安装多版本操作系统

本次虚拟化环境为VMware Workstation Pro&#xff0c;cobbler服务端为CentOS7.9&#xff0c;需要自动安装的版本为CentOS7.9和CentOS8.1 目录 一、安装cobbler服务端1、修改YUM源2、关闭防火墙3、安装软件包4、cobbler环境配置5、解决语法问题6、启动服务7、导入镜像8、自定义…