Hadoop数仓中常用端口详解:(第36天)

前言

在数仓(数据仓库)开发中,不同的组件和服务会使用不同的端口号进行通信。由于数仓的实现可能依赖于多种技术和框架(如Hadoop、Hive、HBase、Spark等),因此涉及的端口号也会有所不同。以下是一些数仓开发中常用端口号及其作用的概述,以及相关的操作指令建议。

常用端口号及其作用

1. Hadoop相关

  • 端口号 组件/服务 作用
    8020 NameNode RPC NameNode的远程过程调用(RPC)端口,
    用于处理客户端和DataNode的请求。
  • 9000 NameNode HTTP(非高可用) NameNode的HTTP服务端口,
    用于Web界面访问(如HDFS的Web UI)。注意,在高可用配置中,此端口可能不常用。
  • 50070 NameNode WebHDFS NameNode的WebHDFS端口,
    通过HTTP协议提供对HDFS的访问。
  • 8088 YARN ResourceManager YARN集群的ResourceManager的Web UI端口,
    用于监控和管理集群中的资源和任务。
  • 50010 DataNode 数据传输端口
    用于DataNode与NameNode之间、DataNode与客户端之间的数据读写操作。

2. HDFS相关

  • 端口号 组件/服务 作用
  • 50010 DataNode 数据传输端口
    用于HDFS内部的数据传输,例如DataNode与NameNode之间、DataNode与客户端之间的数据读写操作。
  • 50020 DataNode IPC端口
    DataNode的IPC(Inter-Process Communication)端口,用于接受来自NameNode或其他DataNode的命令和状态同步请求。注意,在某些Hadoop版本中,这个端口可能与其他功能合并或更改。
  • 50075 DataNode Web UI端口
    DataNode的Web界面端口,通常用于查看DataNode的状态和报告。然而,需要注意的是,这个端口并不总是默认开启的,且其Web界面可能不如NameNode的Web界面那样详细。
    在MapReduce(MR)环境中,特别是与Hadoop生态系统结合时,有几个常用的端口号。这些端口号主要与YARN(Yet Another Resource Negotiator)框架和MapReduce作业的执行情况相关。以下是一些常用的端口号及其作用:

3. YARN相关

8032:YARN ResourceManager的IPC(Inter-Process Communication)端口。ResourceManager是YARN的核心组件,负责集群资源的分配和管理。这个端口用于ResourceManager与其他YARN组件(如NodeManager)之间的内部通信。
8088:YARN ResourceManager的Web UI端口。通过这个端口,用户可以访问ResourceManager的Web界面,查看集群的状态、运行的应用程序以及相关的统计信息等。这是查看MapReduce作业执行情况的主要端口之一。

4. MapReduce相关

虽然MapReduce作业的执行情况主要通过YARN ResourceManager的Web UI(即8088端口)来查看,但MapReduce本身并不直接提供特定的Web UI端口。然而,MapReduce作业的日志和输出通常会存储在HDFS(Hadoop Distributed File System)上,因此与HDFS相关的端口(如50070或9870,取决于Hadoop的版本)也可能用于间接地查看MapReduce作业的输出和日志。

  1. HDFS相关端口(间接相关)
    50070(Hadoop 2.x)或9870(Hadoop 3.x):HDFS NameNode的Web UI端口。虽然这个端口主要用于HDFS的管理和监控,但用户可以通过它查看HDFS上存储的文件和目录,包括MapReduce作业的输出目录。

5. Hive相关

端口号 组件/服务 作用
9083 Hive Metastore Hive Metastore服务的默认监听端口,用于存储和管理Hive的元数据。
10000 Hive JDBC Hive JDBC服务的端口,允许通过JDBC协议连接到Hive服务。

6. HBase相关

端口号 组件/服务 作用
60010(旧)、16010(新) HBase Master Web UI HBase Master的Web UI端口,用于监控和管理HBase集群的状态。
60030 HBase RegionServer Web UI HBase RegionServer的Web UI管理端口,提供RegionServer的状态和性能信息。

7. Spark相关

端口号 组件/服务 作用
7077 Spark Master Spark集群中Master节点与Worker节点进行通信的端口。
8080 Spark Master Web UI Spark Master的Web UI端口,用于监控和管理Spark作业和集群状态。
8081 Spark Worker Web UI Spark Worker的Web UI端口,提供Worker节点的状态和性能信息。
4040 Spark Driver Web UI Spark应用程序的Driver节点的Web UI端口,用于查看应用程序的运行状态和日志。

8. 其他

端口号 组件/服务 作用
2181 Zookeeper Zookeeper客户端连接的端口,用于集群管理和协调。
9092 Kafka Kafka集群节点之间通信的RPC端口。

9. 操作指令

对于数仓中的操作指令,通常会依赖于具体的组件和服务。以下是一些通用的操作指令示例:

  1. 启动HDFS服务:
    bash
    sbin/start-dfs.sh
  2. 停止HDFS服务:
    bash
    sbin/stop-dfs.sh
  3. 启动YARN服务:
    bash
    sbin/start-yarn.sh
  4. 停止YARN服务:
    bash
    sbin/stop-yarn.sh
  5. 查看HDFS状态:
    bash
    hdfs dfsadmin -report
  6. 启动Hive Metastore服务(具体命令可能因安装方式和版本而异):
    bash

示例命令,具体取决于Hive的安装和配置

hive --service metastore
访问Hive JDBC(通常通过客户端或应用程序进行,而非直接通过命令行):
配置JDBC连接字符串,包括主机名、端口号(10000)和数据库名(对于Hive,通常是默认数据库或指定数据库)。
请注意,上述操作指令和端口号可能因Hadoop、Hive、HBase、Spark等组件的版本和配置而有所不同。在实际操作中,建议参考各组件的官方文档和配置文件(如hdfs-site.xml、hive-site.xml、hbase-site.xml、spark-defaults.conf等)以获取准确的信息。

此外,由于数仓技术的不断发展和更新,新的端口号和操作指令可能会被引入,而旧的则可能会被弃用。

10. 启动spark的指令

启动Spark的指令可以根据不同的使用场景和需求有所不同。以下是一些常见的启动Spark的指令及其说明:

1. 启动Spark Shell

Spark Shell是Spark提供的一个交互式编程环境,支持Scala、Python和R语言。通过Spark Shell,用户可以方便地进行数据探索和交互式数据分析。

Scala Shell:在Spark安装目录下的bin文件夹中,执行./spark-shell(Linux/Mac)或spark-shell.cmd(Windows)命令。
Python Shell:同样在bin文件夹中,执行./pyspark(Linux/Mac)或pyspark.cmd(Windows)命令。

2. 提交Spark应用程序

对于需要部署到集群上运行的Spark应用程序,通常使用spark-submit命令来提交。spark-submit命令的基本语法如下:

bash
spark-submit [options] <app-jar|python-file> [app-arguments]
其中,[options]是Spark应用程序的选项参数,用于配置应用程序的运行环境;<app-jar|python-file>是要运行的Spark应用程序的Jar包或Python文件;[app-arguments]是传递给应用程序的参数。

常用的选项参数包括:

–master:指定Spark应用程序运行的资源管理器,如local(本地模式)、spark://host:port(Standalone模式)、yarn(YARN模式)等。
–deploy-mode:指定Spark应用程序的部署模式,如client或cluster。
–class:指定要运行的主类(仅当提交Jar包时使用)。
–executor-memory:指定每个Executor的内存大小。
–num-executors:指定Executor的数量。
–driver-memory:指定Driver的内存大小。
–conf:指定一些Spark配置属性。

3. 启动Spark集群

如果你是在集群环境下运行Spark,并且希望手动启动Spark的各个组件,可以使用以下命令:

  • 启动所有组件(Master和Worker节点):在Spark安装目录下的sbin文件夹中,执行./start-all.sh(Linux/Mac)或start-all.cmd(Windows)命令。
  • 仅启动Master节点:执行./start-master.sh(Linux/Mac)或start-master.cmd(Windows)命令。
  • 仅启动Worker节点:执行./start-worker.sh (Linux/Mac)或start-worker.cmd (Windows)命令,其中是Master节点的URL,如spark://localhost:7077。
    注意事项
    在执行上述命令之前,请确保已经正确安装了Spark,并且设置了相应的环境变量(如SPARK_HOME和PATH)。
    根据你的Spark版本和操作系统,命令的具体名称和路径可能有所不同。请参考你的Spark安装文档或官方指南以获取准确的命令和路径信息。
    如果你是在使用云服务或大数据平台(如AWS EMR、阿里云EMR等),启动Spark的指令可能会有所不同,具体请参考相应平台的文档或指南。

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

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

相关文章

node.js的安装及学习(node/nvm/npm的区别)

一、什么是node、nvm和npm 1.Node.js node.js 一种Javascript编程语言的运行环境&#xff0c;能够使得javascript能够脱离浏览器运行。以前js只能在浏览器&#xff08;也就是客户端&#xff09;上运行&#xff0c;node.js将浏览器中的javascript运行环境进行封装的&#xff0c;…

张雪峰高考志愿填报

描述 张雪峰&#xff0c;一个富有才华的老师&#xff01; 对于大家的学习有不可多得的帮助。 内容 目前主要的内容以自愿填报为主&#xff0c;对于学习自愿填报有比较大的帮助&#xff01; 但是网络上面错综复杂&#xff0c;很多老旧的版本影响学习&#xff01; 而这里我整…

vue3 快速入门 (一) : 环境配置与搭建

1. 本文环境 Vue版本 : 3.4.29Node.js版本 : v20.15.0系统 : Windows11 64位IDE : VsCode 2. 安装Node.Js 首先&#xff0c;我们需要安装Node.Js。Node.js提供了运行 JavaScript 代码的环境。并且Node.js 带来了 npm&#xff0c;它是JavaScript世界的包管理工具。开发vue时&…

使用Copilot 高效开发繁忙的一天

在现代软件开发的世界里&#xff0c;使用AI工具如GitHub Copilot可以显著提高开发效率。 早晨&#xff1a;规划与启动 7:00 AM - 起床与准备 开发者早早起床&#xff0c;享用健康的早餐&#xff0c;并浏览新闻和技术博客&#xff0c;了解最新的科技动态。快速整理思路&#x…

设计模式使用场景实现示例及优缺点(行为型模式——责任链模式)

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09; 责任链模式是一种行为设计模式&#xff0c;允许对象将请求沿着处理器链传递&#xff0c;直到一个处理器决定处理该请求为止。这种模式的核心在于解耦发送者和接收者之间的关系&#xff0c;通过多个对象共同…

MICS2024|少样本学习、多模态技术以及大语言模型在医学图像处理领域的研究进展|24-07-14

小罗碎碎念 本期推文主题 今天的会议很多主题都集中在大模型、多模态这两个方面&#xff0c;很明显&#xff0c;这两个方向都是目前的研究热点。 所以&#xff0c;我这一期推文会先简单的分析一下秦文健&#xff08;中科院&#xff09;和史淼晶&#xff08;同济大学&#xff09…

解释方法重载和方法重写的区别。然后,给出一个简单的递归方法实例。

方法重载&#xff08;Overloading&#xff09;与方法重写&#xff08;Overriding&#xff09;的区别 在Java编程中&#xff0c;方法重载和方法重写是两个非常重要的概念&#xff0c;它们分别体现了面向对象编程中的多态性&#xff08;Polymorphism&#xff09;的不同方面&…

【STM32开发笔记】搭建VSCode+PyOCD的STM32开发环境

【STM32开发笔记】搭建VSCodePyOCD的STM32开发环境 一、安装软件1.1 安装STM32CubeMX1.2 安装VSCode1.3 安装Arm GNU Toolchain1.4 安装Make for Windows1.5 安装Python1.6 安装PyOCD 二、安装插件2.1 VSCode插件2.2 PyOCD支持包 三、创建项目3.1 创建STM32CubeMX项目3.2 查阅原…

Spring常见问题一:IOC和DI

IOC和DI IOC和DI之间到底是什么关系&#xff1f; 什么是依赖关系&#xff1f;依赖关系会带来什么问题&#xff1f;Spring是怎么来支持依赖注入的&#xff1f; 引言 在现代软件开发中&#xff0c;面向对象编程&#xff08;OOP&#xff09;已经成为主流编程范式。然而&#xff0…

口袋算法的示例

原理 口袋算法是感知器(Perceptron)算法的一种改进。感知器算法是一种线性分类算法,但在训练数据不是线性可分的情况下,它可能无法收敛,即无法找到一个线性分类器来正确分类所有的训练样本。为了解决这个问题,口袋算法引入了一个"口袋"(Pocket),用来存储迄…

java.io.RandomAccessFile 介绍

java.io.RandomAccessFile 是 Java 标准库中提供的一个类&#xff0c;允许对文件进行随机访问读写操作。与 FileInputStream 和 FileOutputStream 不同&#xff0c;RandomAccessFile 可以读取和写入同一个文件&#xff0c;并且可以在文件的任意位置进行读写操作。它既可以作为输…

【Java】字符与字符串

文章目录 1.字符char1.1 编码1.2 转义字符1.3 char的类型转换1.4 字符的比较1.5 Character类 2.String类型2.1 String对象常用的方法&#xff1a;2.2 从控制台读取字符串2.3 从控制台读取字符2.4 字符串的比较2.5 子串和字符2.6 字符串的转化2.7 格式化控制台输出 1.字符char …

IOT 可编程控制系统

IOT&#xff08;物联网&#xff09;可编程控制系统&#xff0c;如GF-MAXCC等&#xff0c;是一种集成了多种先进技术和功能的智能化控制设备&#xff0c;它能够在物联网系统中发挥关键作用&#xff0c;实现对多种设备的集中管理和控制。具体来说&#xff0c;IOT可编程控制系统的…

PyTorch构建一个肺部CT图像分类模型来分辨肺癌

当你有5万个标注的肺部CT DICOM图像数据&#xff0c;并且希望使用PyTorch构建一个肺部CT图像分类模型来分辨肺癌&#xff0c;以下是详细的步骤和示例代码&#xff1a; 数据准备 首先&#xff0c;确保你的数据集被正确分为训练集、验证集和测试集&#xff0c;并且每个图像都有相…

找到并留住最佳员工

找到并留住最佳员工 每个月我都会接到许多猎头的电话,有些猎头比较专业,但绝大多数在我看来与猎头二字还是有很大差距的。 与猎头接触多了,自然也了解了他们的工作,包括操作手法,总体上国内的猎头行业还处在初级阶段。 总结就是“盲目推荐,以量取胜”。 目前现状 许多…

【算法专题】双指针算法之 1089.复写零(力扣)

欢迎来到 CILMY23的博客 &#x1f3c6;本篇主题为&#xff1a;双指针算法之 1089.复写零&#xff08;力扣&#xff09; &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算…

2024版彩虹晴天全能知识付费源码+虚拟商城解决方案 含一键搭建视频教程 无授权限制

是一款知识付费平台的核心&#xff0c;更是集虚拟商城、实物交易、代理分销于一体的全能解决方案。 核心亮点&#xff1a; 最新源码&#xff0c;独家首发&#xff1a;经过精心修复与更新&#xff0c;本源码由我们团队亲自把关&#xff0c;确保您获得的是市场上最新鲜、最稳定…

DBA 数据库管理 表管理 数据批量处理。表头约束

表管理 建库 库名命名规则&#xff1a;仅可以使用数字、字母、下划线、不能纯数字 不可使用MySQL命令或特殊字符 库名区分字母大小写 加if not exists 命令避免重名报错 create database if not exists gamedb; 建表 drop database if exists gamedb ; 删表…

常用软件的docker compose安装

简介 Docker Compose 是 Docker 的一个工具&#xff0c;用于定义和管理多容器 Docker 应用。通过使用一个单独的 YAML 文件&#xff0c;您可以定义应用所需的所有服务&#xff0c;然后使用一个简单的命令来启动和运行这些服务。Docker Compose 非常适合于微服务架构或任何需要…

【论文阅读】LLM4GCL: CAN LARGE LANGUAGE MODEL EMPOWER GRAPH CONTRASTIVE LEARNING?

LLM4GCL: CAN LARGE LANGUAGE MODEL EMPOWER GRAPH CONTRASTIVE LEARNING? https://openreview.net/forum?idwxClzZdjqP 图对比学习的重点就是图数据的增强&#xff0c;针对图中节点的表示或者图的结构进行扰动&#xff0c;通过对比学习得到对应的节点表示&#xff0c;以便于…