搭建Hadoop分布式集群

软件和操作系统版本

Hadoop框架是采用Java语言编写,需要java环境(jvm) JDK版本:JDK8版本 ,本次使用的是 Java: jdk-8u431-linux-x64.tar.gz

Hadoop: hadoop-3.3.6.tar.gz

三台Linux虚拟节点: CentOS-7-x86_64-DVD-2009.iso

通过虚拟机设置共享文件夹将需要的安装包复制到linux虚拟机中。(/opt/software/)

[root@localhost1 software]# ll
total 912972
-rwxrwxrwx. 1 root root 730107476 Dec 23 20:43 hadoop-3.3.6.tar.gz
-rwxrwxrwx. 1 root root 148362647 Dec 23 22:10 jdk-8u431-linux-x64.tar.gz
-rwxrwxrwx. 1 root root      1068 Dec 24 11:29 LICENSE
-rwxrwxrwx. 1 root root  56405224 Dec 24 11:29 VMwareTools-10.3.21-14772444.tar.gz

集群规划

LinuxLocalhost1Localhost2Localhost3
HDFSNameNode、DataNodeDataNodeSecondaryNameNode、DataNode
YARNNodeManagerNodeManager,  ResourceManagerNodeManager

安装JDK

tar -zxvf jdk-8u431-linux-x64.tar.gz -C /usr/local/java/

配置环境变量:

vi /etc/profile

# java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_431
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

让环境变量生效:

source /etc/profile 

安装Hadoop

tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/applications

添加Hadoop到环境变量

vi /etc/profile

#HADOOP
HADOOP_HOME=/usr/local/applications/hadoop-3.3.6
PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export HADOOP_HOME PATH

让环境变量生效:

source /etc/profile 

验证hadoop

hadoop version

集群配置

cd  /usr/local/applications/hadoop-3.3.6/etc/hadoop/

HDFS集群配置

配置:hadoop-env.sh

export JAVA_HOME=/usr/local/java/jdk1.8.0_431

指定NameNode节点以及数据存储目录(修改core-site.xml)

<!-- 指定HDFS中NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost1:9000</value>
    </property>
    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/applications/hadoop-3.3.6/data/tmp</value>
    </property>

指定secondarynamenode节点(修改hdfs-site.xml)

    <!-- 指定Hadoop辅助名称节点主机配置 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>localhost3:50090</value>
    </property>
    <!--副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

指定datanode从节点(修改workers文件,每个节点配置信息占一行)

localhost1
localhost2
localhost3

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

MapReduce集群配置

指定MapReduce使用的jdk路径(修改mapred-env.sh)

export JAVA_HOME=/usr/local/java/jdk1.8.0_431

指定MapReduce计算框架运行Yarn资源调度框架(修改mapred-site.xml)

    <!-- 指定MR运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

Yarn集群配置

指定JDK路径 

vi yarn-env.sh

export JAVA_HOME=/usr/local/java/jdk1.8.0_431

指定ResourceMnager的master节点信息(修改yarn-site.xml)

    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost2</value>
        </property>
        <!-- Reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

分发配置

远程复制文件夹:将localhost1 配置好的Hadoop 复制到localhost2 和localhost3

scp -r /usr/local/applications/hadoop-3.3.6 root@localhost2:/usr/local/applications/hadoop-3.3.6
scp -r /usr/local/applications/hadoop-3.3.6 root@localhost3:/usr/local/applications/hadoop-3.3.6

配置SSH 密钥登陆

生成Key Pairs

在三台节点分别生成 Key Pairs, 默认名字 id_rsa, 千万不要改。

ssh-keygen -t rsa -C "root@localhost1"
ssh-keygen -t rsa -C "root@localhost2"
ssh-keygen -t rsa -C "root@localhost3"

key pairs 默认生产到 ~/.ssh/

[root@localhost1 .ssh]# ll
total 16
-rw-------. 1 root root 1191 Jan  5 20:22 authorized_keys
-rw-------. 1 root root 1679 Jan  5 20:04 id_rsa
-rw-r--r--. 1 root root  397 Jan  5 20:04 id_rsa.pub
-rw-r--r--. 1 root root  564 Jan  5 10:40 known_hosts

把三个节点的公钥互相发送到每个节点

添加公钥到远程服务器

ssh-copy-id root@localhost2
ssh-copy-id root@localhost3

添加公钥到本地

cat localhost1.pub >> authorized_keys

添加完成以后三个节点都有了所有节点的公钥

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTmy6v6Xsv4893ofLyMVyct439T4ePv/OfEtpMPtBqLsobyiDV1Ih0H17oxI8Mk4UvZIEgokyLDq8lz8n3v4Vr5RfaCLRvbFEmn7SEzV+tBeRd9tO9rccaSjBT5NfOlFpLecucbA1JP3sS1PgVmyGvD6xE490gD1EGKWDi04fxifwvrEJPxkIRS/FKKik1fB4IRtReKQlAkh/JwE3mvBdNbL0jeOKiB01ofQfV2xoOgooBJSkQNhRqxtPccWuH6GrKK3uTTpPZWZvCoW1vHKOaOH59AGFuRlrO6yobLdQueS/VE8jx7VdlZonICorgQuxUwQsCR9Ys+xKRwcpTtWin root@localhost1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdRLWUfYgCZ5KS2yC6BaOtCz/nsnb6EjO8jt6q8o9deen3+/jN/hnqhHFAEPRFGKq4WwPy4awYlo1sqDxgc8GrpzUUUnkIsnERhXp9L0df99X360t9QgNwNiz3ayTa40oAT0Zg1GbftjRH/foJIReEUA1IjGTAphTQYnKwWMsTOXeIqI7A2QeUUQvxVkNWJ/lTO59vCxIA0NJUkgdMgXImfGlb23gtX/RlJ0NCqdoOm83qrNLHcC+iIwOrKpFx9v88qdajiDi+pI1AqWz1fQD6LpIx9OojM9ZPb2VYvCSt4smvCECxH+r3/HOB68+bumynm2w26XQumZA/utpQgJaH root@localhost2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAZ36gymNo4jmEkeS9fuwSlZ5mceFPOQcmgKnfSEi4LWzRdg1hmHK3bOzFabnRLaKGZvtK1GBFtZFHF8LAmP4/BXyDAxpU2/kFkWjn+z/Cu4bfAUl98M1Gqj7L3iv360wpGLz/VB65YIBxn88sac4hEZZUSFNMZxbRm2MIdN05YVgN7z84nLph3VNLzfpdfqnn6fLP8Fu6qwd8NaE91M95Lf7xBIdO1k0+/4/RLjTWfnpo4pKw1YM1CgGQEuz0JW6+yNuDyDwtlgNXDZeOni9JBjda/UQckguQMDDFrRzgsFTK9j5tywJQSlE0TDXIqyIUSgiajO6V//XGFP1weVLP root@localhost3

关闭防火墙

三个linux节点都需要关闭防火墙,这个Hadoop集群才能互相访问。

临时关闭

systemctl stop firewalld

永久关闭

systemctl stop firewalld

systemctl disable firewalld

启动集群

1,Namenode执行格式化

hadoop namenode -format

2, 启动HDFS

在namenode 节点执行:

cd /usr/local/applications/hadoop-3.3.6/

sbin/start-dfs.sh

3, 启动YARN

在ResouceManager节点执行:

cd /usr/local/applications/hadoop-3.3.6/

sbin/start-yarn.sh

4, 启动完成后

查看三台节点进程

[root@localhost1 hadoop-3.3.6]# jps
5232 Jps
4775 DataNode
4623 NameNode
5119 NodeManager


[root@localhost2 hadoop-3.3.6]# jps
3001 ResourceManager
3161 NodeManager
3514 Jps
2796 DataNode


[root@localhost3 ~]# jps
2793 DataNode
2907 SecondaryNameNode
3115 Jps
2991 NodeManager

5, web端查看Hdfs界面

http://localhost1:9870/dfshealth.html#tab-overview

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

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

相关文章

电子应用设计方案87:智能AI收纳箱系统设计

智能 AI 收纳箱系统设计 一、引言 智能 AI 收纳箱系统旨在为用户提供更高效、便捷和智能的物品收纳与管理解决方案&#xff0c;通过融合人工智能技术和创新设计&#xff0c;提升用户的生活品质和物品整理效率。 二、系统概述 1. 系统目标 - 实现物品的自动分类和整理&#xf…

MySQL数据结构选择

系列文章目录 一、MySQL数据结构选择 二、MySQL性能优化explain关键字详解 三、MySQL索引优化 文章目录 系列文章目录前言一、索引1.1、什么是索引1.2、构建索引的过程1.3、索引的更新和维护1.4、索引的查询和管理1.5、InnoDB 和 MyISAM 的索引实现1.6、联合索引和最左前缀法则…

shell基础使用及vim的常用快捷键

一、shell简介 参考博文1 参考博文2——shell语法及应用 参考博文3——vi的使用 在linux中有很多类型的shell&#xff0c;不同的shell具备不同的功能&#xff0c;shell还决定了脚本中函数的语法&#xff0c;Linux中默认的shell是 / b in/ b a s h &#xff0c;流行的shell…

(leetcode算法题)76. 最小覆盖子串

以s "ADOBECODEBANC", t "ABC"为例&#xff0c;进行如下演示 对于上图的说明&#xff1a; 1. 上面八个状态是在从左往右滑动窗口时&#xff0c;每发现一个窗口满足以下条件就进行状态暂停 条件&#xff1a;s[l, r] 覆盖了 t 这个字符串 2. 只有出窗口之…

二、BIO、NIO编程与直接内存、零拷贝

一、网络通信 1、什么是socket&#xff1f; Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层&#xff0c;它是一组接口&#xff0c;一般由操作 系统提供。客户端连接上一个服务端&#xff0c;就会在客户端中产生一个 socket 接口实例&#xff0c;服务端每接受 一个客户端…

HDFS架构原理

一、HDFS架构整体概述 HDFS是Hadoop Distribute File System 的简称&#xff0c;意为&#xff1a;Hadoop分布式文件系统。HDFS是Hadoop核心组件之一&#xff0c;作为大数据生态圈最底层的分布式存储服务而存在。HDFS解决的问题就是大数据如何存储,它是横跨在多台计算机上的文件…

Qt项目打包成绿色软件

Qt项目打包成绿色软件 一、图标添加与配置二、编译后打包文件附录有朋友将程序发给别人后运行,发现各种问题,如: 1.无法定位程序输入点__cxa_thread_atexit于动态链接库…。 2.缺少各种**.dll文件。 问‌我运行环境上Microsoft Visual C++ Redistributable运行环境都有,版本…

自动驾驶相关知识学习笔记

一、概要 因为想知道SIL、HIL是什么仿真工具&#xff0c;故而浏览了自动驾驶相关的知识。 资料来源《自动驾驶——人工智能理论与实践》胡波 林青 陈强 著&#xff1b;出版时间&#xff1a;2023年3月 二、图像的分类、分割与检测任务区别 如图所示&#xff0c;这些更高阶的…

C# 之某度协议登录,JS逆向,手机号绑定,获取CK

.NET兼职社区 .NET兼职社区 .NET兼职社区 .NET兼职社区 有需要指导&#xff0c;请私信我留言V或者去社区找客服。

数值分析速成复习笔记

请确保你有10hour的有效学习时间&#xff0c;保你拿90 证明部分 编程部分

06-RabbitMQ基础

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装 2.2.收发消息 2.2.1.交换机 2.2.2.队列 2.2.3.绑定关系 2.2.4.发送消息 2.3.数据隔离 2.3.1.用户管理 2.3.2.virtual host 3.SpringAMQP 3.1.导入Demo工程 3.2.快速入门 3.2.1.消…

Ungoogled Chromium127 编译指南 MacOS 篇(二)- 项目要求

1. 引言 在开始编译 Ungoogled Chromium 之前&#xff0c;我们需要确保系统满足所有必要的硬件和软件要求。由于浏览器编译是一个资源密集型的任务&#xff0c;合适的硬件配置和完整的软件环境至关重要。本文将详细介绍编译 Ungoogled Chromium 所需的各项要求。 2. 硬件要求…

springBoot整合ELK Windowsb版本 (elasticsearch+logstash+kibana)

springBoot整合ELK Windowsb版本 【elasticsearchlogstashkibana】 下载软件启动服务1、elasticsearch2、kibana3、logstash 集成springboot1、添加依赖2、在logback.xml添加相关配置3、修改logstash 配置4、重启logstash 最后测试 下载软件 elasticsearch 官网 https://www.…

vulnhub靶场【DC系列】之5

前言 靶机&#xff1a;DC-5&#xff0c;IP地址为192.168.10.4 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用VMWare&#xff0c;网卡为桥接模式 对于文章中涉及到的靶场以及工具&#xff0c;我放置网盘中https://pan.quark.cn/s/2fcf53ade985 主机发现 使用…

Postman接口测试02|接口用例设计

目录 六、接口用例设计 1、接口测试的测试点&#xff08;测试维度&#xff09; 1️⃣功能测试 2️⃣性能测试 3️⃣安全测试 2、设计方法与思路 3、单接口测试用例 4、业务场景测试用例 1️⃣分析测试点 2️⃣添加员工 3️⃣查询员工、修改员工 4️⃣删除员工、查询…

计算机网络 (29)网络地址转换NAT

前言 网络地址转换&#xff08;Network Address Translation&#xff0c;NAT&#xff09;是计算机网络中的一种重要协议&#xff0c;它主要用于将私有IP地址转换为公共IP地址&#xff0c;以实现内部网络与外部网络之间的通信。 一、基本概念 NAT是一种在局域网&#xff08;LAN&…

BloombergGPT: A Large Language Model for Finance——面向金融领域的大语言模型

这篇文章介绍了BloombergGPT&#xff0c;一个专门为金融领域设计的大语言模型&#xff08;LLM&#xff09;。以下是文章的主要内容总结&#xff1a; 背景与动机&#xff1a; 大语言模型&#xff08;如GPT-3&#xff09;在多个任务上表现出色&#xff0c;但尚未有针对金融领域的…

jQuery的基本使用学习笔记

文章目录 jQuery的基本使用jQuery的入口函数jQuery的顶级对象 $jQuery对象和DOM对象jQuery对象和DOM对象的互相转换 jQuery选择器jQuery基础选择器jQuery层级选择器隐式迭代jQuery筛选选择器jQuery筛选方法&#xff01;&#xff01;&#xff01;jQuery里面的排他思想jQuery的链…

Android存储方案对比(SharedPreferences 、 MMKV 、 DataStore)

简介&#xff1a;本文介绍了Android开发中常用的键值对存储方案&#xff0c;包括SharedPreferences、MMKV和DataStore&#xff0c;并且对比了它们在性能、并发处理、易用性和稳定性上的特点。通过实际代码示例&#xff0c;帮助开发者根据项目需求选择最适合的存储方案&#xff…

[微服务]redis主从集群搭建与优化

搭建主从集群 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。 1. 主从集群结构 下图就是一个简单的Redis主从集群结构&#xff1a; 如图所示&#xff0c;集群中有一个master节点、两个s…