Hadoop 2.2.0 HDFS的HA配置

Hadoop 2.0 HA高可用集群配置详解 本文介绍了Hadoop2.0的HA高可用架构,并详细记录了HDFS HA和YARN HA集群的搭建过程,最后通过运行一个MR任务对集群功能进行测试。 阅读详情

注:以下配置描述的是HDFS的QJM方式的HA配置。

1.1 zookeeper集群配置

这里我使用了三台机器(在笔记本上使用vmware创建了三个虚拟机来实现)部署zookeeper集群,机器IP分别是:

l 192.168.111.130(hostname:hd0)

l 192.168.111.131(hostname:hd1)

l 192.168.111.132(hostname:hd2)

首先建立zookeeper的数据目录,比如:

mkdir -p /opt/hadoop/data/zookeeper

同时建立日志存放目录:

mkdir –p /opt/hadoop/logs/zookeeper

然后修改环境变量(比如修改~/.profile),增加如下变量:

export ZOO_HOME=/opt/hadoop/apps/zookeeper-3.4.5

export ZOO_LOG_DIR=/opt/hadoop/logs/zookeeper

在$ZOO_HOME/conf下创建配置文件:

touch zoo.cfg

在zoo.cfg文件是加入以下配置:

tickTime=2000
dataDir=/opt/hadoop/data/zookeeper
clientPort=31315
initLimit=5
syncLimit=2
server.1=192.168.111.130:31316:31317
server.2=192.168.111.131:31316:31317
server.3=192.168.111.132:31316:31317

在三台服务器的目录/opt/hadoop/data/zookeeper下分别创建一个叫myid的文件,内容分别是1,2,3,如:

#在192.168.111.130上执行如下命令

echo 1 >/opt/hadoop/data/zookeeper/myid

#在192.168.111.131上执行如下命令

echo 2 >/opt/hadoop/data/zookeeper/myid

#在192.168.111.132上执行如下命令

echo 3 >/opt/hadoop/data/zookeeper/myid

最后就是分别启动zookeeper服务了:

cd $ZOO_HOME

./bin/zkServer.sh start

通过jps命令可以检查是否启动成功:

hd@hd0:/opt/hadoop/apps/zookeeper-3.4.5$ jps

1239 QuorumPeerMain

看到QuorumPeerMain进程就表示zookeeper启动成功了。

测试zookeeper集群是否建立成功,在$ZOO_HOME目录下执行以下命令即可,如无报错表示集群创建成功:

./bin/zkCli.sh -server localhost:31315

1.2 HDFS2.2.0HA配置

1.2.1 core-site.xml

<configuration>

   <property>
       <name>fs.defaultFS</name>
       <value>hdfs://mycluster</value>
   </property>

   <property>
       <name>io.file.buffer.size</name>
       <value>131072</value>
   </property>

   <property>
        <name>hadoop.tmp.dir</name>
       <value>/opt/hadoop/data/hadoop/temp</value>
       <description>Abase for other temporarydirectories.</description>
   </property>

   <property>
       <name>hadoop.proxyuser.hadoop.hosts</name>
       <value>*</value>
   </property>

   <property>
       <name>hadoop.proxyuser.hadoop.groups</name>
       <value>*</value>
   </property>

   <property>
       <name>ha.zookeeper.quorum</name>
       <value>192.168.111.130:31315,192.168.111.131:31315,192.168.111.132:31315</value>
   </property>

   <property>
       <name>ha.zookeeper.session-timeout.ms</name>
       <value>1000</value>
       <description>ms</description>
   </property>

</configuration>

1.2.2 hdfs-site.xml

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

<configuration>

   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/opt/hadoop/data/hadoop/dfs/name</value>
   </property>

   <property>
       <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/data/hadoop/dfs/data</value>
   </property>

   <property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>

   <property>
       <name>dfs.webhdfs.enabled</name>
       <value>true</value>
    </property>

   <property>
       <name>dfs.permissions</name>
       <value>false</value>
   </property>

   <property>
       <name>dfs.permissions.enabled</name>
       <value>false</value>
   </property>

   <property>
       <name>dfs.nameservices</name>
       <value>mycluster</value>
       <description>Logical name for this newnameservice</description>
   </property>

   <property>
       <name>dfs.ha.namenodes.mycluster</name>
       <value>nn1,nn2</value>
       <description>Unique identifiers for each NameNode in thenameservice</description>
   </property>

   <property>
       <name>dfs.namenode.rpc-address.mycluster.nn1</name>
       <value>192.168.111.130:8020</value>
   </property>

   <property>
       <name>dfs.namenode.rpc-address.mycluster.nn2</name>
       <value>192.168.111.132:8020</value>
   </property>

   <property>
       <name>dfs.namenode.servicerpc-address.mycluster.nn1</name>
       <value>192.168.111.130:53310</value>
   </property>

    <property>
       <name>dfs.namenode.servicerpc-address.mycluster.nn2</name>
       <value>192.168.111.132:53310</value>
   </property>

   <property>
       <name>dfs.namenode.http-address.mycluster.nn1</name>
       <value>192.168.111.130:50070</value>
   </property>

   <property>
       <name>dfs.namenode.http-address.mycluster.nn2</name>
       <value>192.168.111.132:50070</value>
   </property>

   <property>
       <name>dfs.namenode.shared.edits.dir</name>
       <value>qjournal://192.168.111.130:8485;192.168.111.131:8485;192.168.111.132:8485/mycluster</value>
   </property>

   <property>
       <name>dfs.client.failover.proxy.provider.mycluster</name>
       <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
   </property>

   <property>
       <name>dfs.ha.fencing.methods</name>
       <value>sshfence</value>
   </property>

   <property>
       <name>dfs.ha.fencing.ssh.private-key-files</name>
       <value>/home/hadoop/.ssh/id_rsa_nn1</value>
   </property>

   <property>
       <name>dfs.ha.fencing.ssh.connect-timeout</name>
       <value>30000</value>
   </property>

   <property>
       <name>dfs.journalnode.edits.dir</name>
       <value>/opt/hadoop/data/hadoop/journaldata</value>
   </property>

   <property>
       <name>dfs.ha.automatic-failover.enabled</name>
       <value>true</value>
   </property>

   <property>
       <name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
       <value>60000</value>
   </property>

   <property>
       <name>ipc.client.connect.timeout</name>
       <value>60000</value>
   </property>

   <property>
       <name>dfs.image.transfer.bandwidthPerSec</name>
       <value>4194304</value>
   </property>

</configuration>

在上面的配置中有一个地方要特别说明一下,dfs.ha.fencing.ssh.private-key-files这里指向的是一个本地文件。上面我们是配置了两个namenode来实现HDFS的HA的,分别是nn1和nn2,在nn2的~/.ssh/目录下需要将nn1的~/.ssh/目录下的id_rsa文件copy过来,并且应该重命名成如id_rsa_nn1这样的文件名,以免覆盖了本地的文件。

1.2.3 yarn-site.xml

<?xml version="1.0"?>

<configuration>

   <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
   </property>

   <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>

   <property>
       <name>yarn.resourcemanager.address</name>
       <value>192.168.111.130:8032</value>
    </property>

   <property>
       <name>yarn.resourcemanager.scheduler.address</name>
       <value>192.168.111.130:8030</value>
   </property>

   <property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
       <value>192.168.111.130:8031</value>
   </property>

   <property>
       <name>yarn.resourcemanager.admin.address</name>
       <value>192.168.111.130:8033</value>
   </property>

   <property>
       <name>yarn.resourcemanager.webapp.address</name>
       <value>192.168.111.130:8088</value>
   </property>

</configuration>

1.3 installphase

安装环境:Ubuntu 12.04.3 LTS

硬件环境:三台服务器,两台namenode,一台datanode,分别如下:

ü 192.168.111.130,主namenode,zookeeper,journalnode,zkfc

ü 192.168.111.131,datanode,zookeeper,journalnode

ü 192.168.111.132,备namenode,zookeeper,journalnode,zkfc

 

0、首先把各个zookeeper起来,如果zookeeper集群还没有启动的话。

./bin/zkServer.sh start

 

1、然后在某一个namenode节点执行如下命令,创建命名空间

./bin/hdfs zkfc -formatZK

 

2、在各个节点用如下命令启日志程序

./sbin/hadoop-daemon.sh start journalnode

 

3、在主namenode节点用./bin/hadoopnamenode -format格式化namenode和journalnode目录

./bin/hadoop namenode -format mycluster

 

4、在主namenode节点启动./sbin/hadoop-daemon.shstart namenode进程

./sbin/hadoop-daemon.sh start namenode

 

5、在备节点执行第一行命令,这个是把备namenode节点的目录格式化并把元数据从主namenode节点copy过来,并且这个命令不会把journalnode目录再格式化了!然后用第二个命令启动备namenode进程!

./bin/hdfs namenode –bootstrapStandby

./sbin/hadoop-daemon.sh start namenode

 

6、在两个namenode节点都执行以下命令

./sbin/hadoop-daemon.sh start zkfc

 

7、在所有datanode节点都执行以下命令启动datanode

./sbin/hadoop-daemon.sh start datanode

 

1.4 startupphase

下次启动的时候,就直接执行以下命令就可以全部启动所有进程和服务了:

./sbin/start-dfs.sh

 

然后访问以下两个地址查看启动的两个namenode的状态:

http://192.168.111.130:50070/dfshealth.jsp

http://192.168.111.132:50070/dfshealth.jsp

1.5 stop phase

停止所有HDFS相关的进程服务,执行以下命令:

./sbin/stop-dfs.sh

 

1.6 测试HDFS的HA功能

在任意一台namenode机器上通过jps命令查找到namenode的进程号,然后通过kill -9的方式杀掉进程,观察另一个namenode节点是否会从状态standby变成active状态。

hd@hd0:/opt/hadoop/apps/hadoop$ jps
1686 JournalNode
1239 QuorumPeerMain
1380 NameNode
2365 Jps
1863 DFSZKFailoverController
hd@hd0:/opt/hadoop/apps/hadoop$ kill -9 1380

然后观察原来是standby状态的namenode机器的zkfc日志,若最后一行出现如下日志,则表示切换成功:

2013-12-31 16:14:41,114 INFOorg.apache.hadoop.ha.ZKFailoverController: Successfully transitioned NameNodeat hd0/192.168.111.130:53310 to active state

这时再通过命令启动被kill掉的namenode进程

./sbin/hadoop-daemon.sh start namenode

对应进程的zkfc最后一行日志如下:

2013-12-31 16:14:55,683 INFOorg.apache.hadoop.ha.ZKFailoverController: Successfully transitioned NameNodeat hd2/192.168.111.132:53310 to standby state

 

可以在两台namenode机器之间来回kill掉namenode进程以检查HDFS的HA配置!

Apache Hadoop 2.2.0 HDFS HA + YARN多机部署 阅读详情

相关推荐

CPU进程调度算法【FCFS、SJF、优先级、RR、多级队列、多级反馈队列调度】

目录 一、先到先服务调度: 二、最短作业优先调度: 三、优先级调度: 四、轮转调度: 五、多级队列调度: 六、多级反馈队列调度: CPU调度算法处理的问题是:从就绪队列中选择进程以便为其分配CPU。 一、先到先服务调度: First Come,First Served(FCFS) 定义:先请求CPU的进程首先分配到CPU。FCFS策略可以通过FIFO队列轻松实现。 护航效果:其他所有进程会等待一个大进程释放CPU 非抢占式:一旦CPU分配给了一个进程,该进程就会使用CPU知道释.

马小超 3921

Hadoop高可用集群

1.简介 若HDFS集群中只配置了一个NameNode,那么当该NameNode所在的节点宕机,则整个HDFS就不能进行文件的上传和下载。 若YARN集群中只配置了一个ResourceManager,那么当该ResourceManager所在的节点宕机,则整个YARN就不能进行任务的计算。 * Hadoop依赖Zookeeper进行各个模块的HA配置,其中状态为Active的节点对外提供服务...

yalin7076的博客 501

大宗农产品交易知识图谱推理引擎的构建--需求分析

大宗农产品交易知识图谱推理引擎的构建 一、项目概述 ​ 进入信息时代,全球产生的数据量爆炸式增长,一方面数据产生的方式发生改变,由手工产生越来越多地转为自动化生成,另一方面,人类的活动也越来越依赖数据;民以食为天,粮食方面的信息数据对人类来说至关重要,而当前繁杂的数据已经超出了人工处理的范围,这就对数据采集和数据处理提出了新的要求。 知识图谱是将大量收集的数据整理成机器能处理的知识库,并实现可视化的展示。知识图谱本质上是一种大规模的语义网络,其主要目的是对真实世界里的实体或概念之间的关联关系进行描述;构造

qq_40583949的博客 2586

Hadoop 2.2.0版本HDFS的HA配置

注:以下配置描述的是HDFS的QJM方式的HA配置。 1.1 zookeeper集群配置 这里我使用了三台机器(在笔记本上使用vmware创建了三个虚拟机来实现)部署zookeeper集群,机器IP分别是: l192.168.111.130(hostname:hd0) l192.168.111.131(hostname:hd1) l192.168.111.132(hostname:hd2...

Keep Learning!!! 248

注意力机制与经典 CV 网络:PyTorch 实现与实战

注意力机制(SE/空间/CBAM/Non-Local)通过权重重标定让模型聚焦关键特征,经典 CNN(ResNet/DenseNet/FPN)提供了深层网络、特征复用和多尺度融合的基础骨架。建议先在 ResNet 上插入 SE 模块(通道注意力)做基线实验,再根据任务类型引入空间注意力(分割任务)或非局部注意力(视频任务)。CIFAR-10 数据集适合快速验证注意力模块的有效性,迁移到更大数据集时保持相同的结构设计思路即可。

FJN110的博客 64

【人工智能之深度学习】18. 金融风控实战:TCN时序卷积网络构建信用卡欺诈实时检测系统

摘要:信用卡欺诈交易识别是金融风控的核心环节,其面临欺诈样本占比低(仅0.1%)、实时响应要求高(毫秒级)等挑战。本文基于IEEE-CIS公开数据集,构建基于时序卷积网络(TCN)的欺诈检测系统,通过捕捉用户交易行为的时序模式识别异常。详细阐述全流程:从数据预处理(构造交易序列特征)、TCN模型设计(轻量级架构适配实时场景),到实时检测部署(异步处理确保低延迟)。实验显示,该系统精确率达63%、召回率89%,误杀率仅0.2%,推理延迟8ms,较XGBoost等传统模型性能显著提升。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1135

【Hadoop实战】Hadoop指标系统V2分析

hadoop的指标系统V2

有问题的请私信或关注v【技术印记】留言 1955

uniapp ios原生插件开发 (framework,cocoapods)

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

Rey的技术博客 9824

hadoop监控:JMX

前言 最近在研究hadoop集群的负载分析,同学推荐Hadoop自带的监控端口JMX,于是查阅资料做了一下总结。 认识JMX 1.首先看官方接口说明 类JMXJsonServlet继承父类 javax.servlet.http.HttpServlet 只提供web页面来访问JMX 例如:启动了hadoop集群(master slave1 slave2) 通过端口50070访问:ma...

coding乐园 8154

【PCL 特征】积分图法线估计

本文介绍了基于积分图的有序点云法线估计方法。通过利用点云数据的行列式结构特性,该方法避免了传统KD树搜索,采用积分图将邻域统计运算复杂度从O(k²)降至O(1)。详细阐述了四种法线估计算法:协方差矩阵法(精度最高)、平均3D梯度法(实时性好)、平均深度变化法(适合SLAM)和简单3D梯度法(速度最快)。重点分析了积分图构建、动态窗口平滑处理、法线方向调整等关键技术,并提供了PCL实现代码示例。实验表明,不同方法在精度和速度上存在显著差异,可根据具体应用场景选择合适算法。

yijiujiusan的博客 277

YOLOv11改进策略【SPPF】| AIFI : 基于Transformer的尺度内特征交互,在降低计算成本的同时提高模型的性能

本文记录的是基于AIFI模块的YOLOv11目标检测改进方法研究。AIFI是RT-DETR中高效混合编码器的一部分,利用其改进YOLOv11模型,

Limiiiing的博客 2241

hadoop的metrics和jmx相关接口

1、取自ResourceManager REST API’s指标; https://hadoop.apache.org/docs/r2.8.4/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html http://<rm http address:port>/ws/v1/cluster/metrics http://**.**.***.208:8088/ws/v1/cluster/metrics 集群节点状态信息指标 2、取自.

JacksonKing的专栏 1982

YOLO26涨点改进 | 独家创新,特征融合改进篇 | TGRS 2025 | 引入FFM特征融合模块,实现特征的全局交互与融合,含多种组合创新改进,适合小目标检测、助力YOLO26有效涨点

本文提出了一种改进YOLO26目标检测模型的FFM模块,该模块通过跨模态注意力机制实现全局特征融合,显著提升模型对小目标、密集目标和复杂场景的检测性能。FFM采用多头跨注意力机制建模不同模态间的复杂关系,同时引入可调节下采样率降低计算复杂度。实验表明,在WHU-OPT-SAR等数据集上,FFM模块使mIoU提升0.75%,OA提升0.32%。文章详细介绍了FFM的结构原理、核心代码实现,并提供了两种改进YOLO26的yaml配置文件方案,包括FFM单独使用以及与FCM模块的组合方案。

Ai缝合怪、助力小伙伴高效发论文 195

第九章 搭建Hadoop 2.2.0版本HDFS的HA配置

Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。 hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中...

dianzhouyu2189的博客 207

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

搭建Hadoop 2.2.0版本HDFS的HA配置

搭建Hadoop 2.2.0版本HDFS的HA配置 Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。      hadoop2.2.0中

miaisbeautiful的专栏 667

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

配置Hadoop2.0HDFS的HA以及联邦使用QJM

HA和联邦解释         相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA和Federaion。HA即为High Availability,用于解决NameNode单点故障问题,该特性通过热备的方式为主NameNode提供一个备用者,一旦主NameNode出现故障,可以迅速切换至备NameNode,从而实现不间断对外提供服务。Federation即为“联邦

零度的博客专栏 2080

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

第九章 搭建Hadoop 2.2.0版本HDFS的HA配置

Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。 hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中...

weixin_34357928的博客 182

hadoop-HA Hadoop 2.2.0版本HDFS的HA配置

http://blog.csdn.net/dmcpxy/article/details/18256607 注:以下配置描述的是HDFS的QJM方式的HA配置。 1.1 zookeeper集群配置 这里我使用了三台机器(在笔记本上使用vmware创建了三个虚拟机来实现)部署zookeeper集群,机器IP分别是: l 192.168.111.130(hostname:hd0)

czw698的专栏 798

如何配置Hadoop2.0HDFS的HA以及联邦使用QJM

配置过程详述       大家从官网下载的apache hadoop2.2.0的代码是32位操作系统下编译的,不能使用64位的jdk。我下面部署的hadoop代码是自己的64位机器上重新编译过的。服务器都是64位的,本配置尽量模拟真实环境。大家可以以32位的操作系统做练习,这是没关系的。关于基本环境的详细配置,大家可以观看我的视频,或者浏览吴超沉思录的相关文章。     在这里我

红豆和绿豆的博客 1983

HDFS HA介绍及配置理解

1、HDFS HA介绍 相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA和Federaion。HA即为High Availability,用于解决NameNode单点故障问题,该特性通过热备的方式为主NameNode提供一个备用者,一旦主NameNode出现故障,可以迅速切换至备NameNode,从而实现不间断对外提供服务。Federation即为“联邦”,该特

医疗影像检索 1万+

HDFS-HA高可用

1 HA概述 1)所谓HA(high available),即高可用(7*24小时不中断服务)。 2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。 4)NameNode主要在以下两个方面影响HDFS集群 NameNode机...

Faded1573606285的博客 284

HDFS2.0 HA完整配置过程

HDFS HA配置的完整步骤 大部分内容转载自: http://blog.csdn.net/dmcpxy/article/details/18256607  这里是QJM方式的HA配置,众所周知,HDFS HA一般是基于NFS公共存储的,这里不采用NFS。 主要步骤: 1. zookeeper集群配置 2. HDFS HA参数配置 3. HDFS HA启动 4. 验证

Amber_amber的专栏 1398

搭建hadoop2.6.0 HA及YARN HA

以前用hadoop2.2.0只搭建了hadoop的高可用,但在hadoop2.2.0中始终没有完成YARN HA的搭建,直接下载了hadoop最新稳定版本2.6.0完成了YARN HA及HADOOP HA的搭建流程,没有仔细看hadoop的官方文档,貌似hadoop2.2.0不支持YARN HA,如果说错了谢谢指正呀,下面总结一下我的搭建流程: 首先完成虚拟机的搭建:

艾@七的专栏 624

Hadoop技术(一)分布式文件系统HDFS

Hadoop介绍 HDFS理论 HDFS集群搭建 CLI使用 API使用 第一章 统一思维 单机大数据处理实现以及问题 问题引入 问题 1T 文件,有数字,按行存储 ,每行不是特别长 要求 找出存在的重复行(假设只有两行) 全排序 单词重复数 环境 只有一台计算机 ,要求在 128M,64M,256G的环境下都能够运行 注意 内存不能放下全量数据 ,最大xxMB !!! 我的思路: 比较法...

时间静止 5257
上一篇: 基于QJM/Qurom Journal Manager/Paxos的HDFS HA原理及代码分析
下一篇: Hadoop HA Namenode remote access
迷途小码
博客等级 码龄19年 71粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值