集群间动态扩展和删除hdfs的datanode和hbase的regionserver

5 篇文章 0 订阅
3 篇文章 0 订阅

如果你既要增加节点,又要删除节点呢,我推荐的顺序是:新增datanode,新增regionserver,停掉regionserver ,停掉datanode。

如果你单独的增加或者移出呢,顺序就是上面拆开的就行啦。

如果你新增机器呢,新增datanode,新增regionserver。

如果你减少机器呢,停掉regionserver ,停掉datanode。

所以演示的话呢,就来个全套,就是新增datanode,新增regionserver,停掉regionserver ,停掉datanode。

一、准备工作
新增的机器,提前安装好java,ssh免密登录,然后把好的机器上的从节点的安装包scp过来。

二、新增datanode节点
1。先把$HADOOP_HOME/etc/hadoop/slaves
/etc/hosts , 都加上你加上的主机名。
2。这里写图片描述
在你本机目录下,创建dfs.data.dir里面的value值得目录,如果这个dfs.data.dir里面的value值得目录底下有东西的话,确认没用,最好删了,删了!!!!删了!!!!,不然一会你会发现,你的clusterId会发生冲突,什么storageId冲突,block pool 编号不一样,等等等等。

3。进入bin目录 执行hadoop-daemon.sh start datanode

4。hdfs dfsadmin -refreshNodes 刷新一下

5。hdfs dfsadmin -report再查看是否添加进去了。

6。设置带宽,配置均衡器balancer,一般不在主节点上运行,以避免影响业务,可以有专门的balancer节点
hdfs dfsadmin -setBalancerBandwidth 1048576
# 如果某个datanode的磁盘里用率比平均水平高出5%,Blocks向其他低于平均水平的datanode中传送list
start-balancer.sh -threshold 5
7。最后再查看一下,hdfs dfsadmin -report 完成。

三、新增RegionServer节点
0。把一台好的节点上的Hbase拷贝过来(配置文件以配置好的)
1。先把$HBASE_HOME/conf/regionservers
/etc/hosts , 都加上你加上的主机名。
2。执行以下命令启动
hbase-daemon.sh start regionserver
3。在新的节点上进入hbase shell
然后输入balance_switch true
过一会,你就会发现regions 已经负载均衡了。

四、hbase删除regionserver节点
1> 执行命令

graceful_stop.sh regionser(主机名)

然后启动之后,就会自动让这个机器上的region分布到其他机器上去,然后自动下线,我看网上说,还需要像上面一样,执行一遍balance_switch true,但是我发现,其实那个graceful_stop.sh regionser已经自动帮你均衡了region,所以我们去shell里执行balance_true,也可。

五、hdfs安全删除datanode节点

千万不要直接输hadoop-daemon.sh stop datanode 这样可能,可能会导致数据块的丢失,强烈不建议datanode这样退役。

然后就是在excludes里面添加你要退役的节点即可。

整个流程大体如下:

编辑hdfs-site.xml

加入以下选项:

<property>
    <name>dfs.hosts.exclude</name>
    <value>/opt/hadoop/etc/hadoop/excludes</value>
 </property>

然后在这个路径下面,编辑excludes,在里面加入你要退役的节点,例如加上这个hadoop-dn-2。

如果你是HA模式的话,两个NN都要加,一定要两个NN都加哦~

然后输入hdfs dfsadmin -refreshNodes (记住,不用重启,不用重启服务,也别关掉datanode !!!!!!!!!!!!!!!)

这样你就会登陆主节点的50070端口,你会发现有一个节点的状态是Decommissioned in Process 这是后你

就静静地看着他会往不均衡的节点传输Block块,等传输好了后,你就会发现状态变更为Decommissioned

这时候你就可以安全下线datanode即可。

这里写图片描述

这样就可以啦,然后你就删除了。

最后,再次提醒顺序。新增datanode,新增regionserver,停掉regionserver ,停掉datanode。切记切记,年轻人们!!!!!

### 回答1: Hadoop是一个由Apache基金会开源的大数据处理框架,包含多个组件,每个组件都有默认的端口号。下面是hadoop各组件的默认端口表: 1. HDFS(Hadoop分布式文件系统): - NameNode端口:50070 - SecondaryNameNode端口:50090 - DataNode端口:50075 2. YARN(Hadoop资源调度系统): - Resource Manager Web界面:8088 - ResourceManager Scheduler端口:8030 - ResourceManager通信端口:8031 - Node Manager通信端口:8040 - Node Manager Web界面:8042 3. HBase(Hadoop数据库): - Master端口:16000 - Master Web界面:16010 - RegionServer端口:16020 - RegionServer Web界面:16030 4. Hive(Hadoop数据仓库工具): - HiveServer2端口:10000 - JDBC服务端口:10001 - Web界面端口:9999 5. Spark(分布式计算框架): - Master Web界面:8080 - Master通信端口:7077 - Worker通信端口:8581 需要注意的是,这些端口都是默认设置,如果其中某些端口已被占用,需要修改配置文件中的端口号,并重启对应的服务。 ### 回答2: Hadoop是一个由Apache基金会开发的,用于分布式存储和处理大数据的开源软件框架。它主要包括HDFS、YARN、HBase、Hive和Spark等组件。这些组件在使用过程中,都会使用到一些默认端口。下面我来逐一介绍这些组件的默认端口表。 1. HDFSHDFS是Hadoop的分布式文件系统,它用于存储海量的数据。它的默认端口是8020和50070。 - 8020:这是HDFS的RPC端口,用于处理与客户端的请求。 - 50070:这是HDFS的Web服务端口,用于向用户展示文件系统的整体状态。 2. YARN: YARN是Hadoop的资源管理系统,可以让用户在一个集群中运行各种应用程序。它的默认端口是8088和8030。 - 8088:这是YARN的Web服务端口,用于向用户展示集群整体的状态。 - 8030:这是YARN的RPC端口,用于处理与客户端的请求。 3. HBaseHBase是非关系型数据库,主要用于存储海量的结构化数据。它的默认端口是2181和16010。 - 2181:这是ZooKeeper服务的默认端口,HBase需要使用ZooKeeper来进行协调和管理。 - 16010:这是HBase的Web服务端口,用于向用户展示集群整体的状态。 4. Hive: Hive是一种基于Hadoop的数据仓库工具,可以让用户将结构化数据映射到Hadoop上进行分析。它的默认端口是10000。 - 10000:这是Hive的Thrift服务端口,用于与客户端进行交互。 5. Spark: Spark是一种快速而通用的计算引擎,可以支持Hadoop以外的数据处理。它的默认端口是7077和8080。 - 7077:这是Spark的Master的RPC端口,用于管理集群资源。 - 8080:这是Spark的Web服务端口,用于向用户展示集群整体的状态。 以上就是Hadoop(HDFS、YARN、HBase、Hive和Spark等)默认端口表,希望对大家了解Hadoop组件默认端口有所帮助。 ### 回答3: Hadoop是一个分布式计算框架,由HDFS、Yarn、HBase、Hive和Spark等组件构成。每个组件都有不同的功能和默认端口。以下是Hadoop各组件的默认端口表: 1. HDFS HDFS是Hadoop分布式文件系统,用于存储和管理大规模数据集。默认端口是9000。 2. Yarn Yarn是Hadoop的资源管理器,用于分配集群中的资源以及管理作业。默认端口是8088。 3. HBase HBase一个非关系型数据库,用于存储海量数据并提供实时随机读写操作。默认端口是16010。 4. Hive Hive是一个数据仓库工具,用于处理大规模数据集。默认端口是10000。 5. Spark Spark是一个快速、通用的大数据处理引擎,主要用于数据处理和机器学习。默认端口是7077。 以上是Hadoop各组件的默认端口表,当然也可以根据配置文件进行修改。在使用Hadoop时,需要注意端口的使用和防火墙配置,确保能够正常地访问和使用各组件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值