shell脚本命令删除Zookeeper提供者服务中的指定IP节点

shell脚本

ZK_CLI  服务安装地址

ZK_SERVER 中心地址

TARGET_IP 目标IP

#!/bin/bash

ZK_CLI="/opt/zookeeper/bin/zkCli.sh"
ZK_SERVER="127.0.0.1:2191"
TARGET_IP="127.0.0.2" # 请替换为需要删除的IP
BASE_PATH="/dubbo"

echo "开始查找包含IP $TARGET_IP 的ZooKeeper节点..."

# 第一步:获取所有服务接口
echo "正在获取根节点列表..."
SERVICES=$(echo "ls $BASE_PATH" | $ZK_CLI -server $ZK_SERVER | sed -n '/^\[/p' | tr -d '[],' | tr ',' '\n' | sed 's/^[ \t]*//;s/[ \t]*$//')

if [ -z "$SERVICES" ]; then
    echo "无法获取服务列表,请检查连接和路径。"
    exit 1
fi

for SERVICE in $SERVICES; do
    SERVICE_PATH="$BASE_PATH/$SERVICE/providers"
    
    
	if [[ "$SERVICE" != *"com."* ]]; then
        #echo "跳过非com服务: $SERVICE"
        continue
    fi
	
	#echo "检查服务: $SERVICE_PATH"
	
    #第二步:获取特定服务的所有提供者节点
    PROVIDERS=$(echo "ls $SERVICE_PATH" | $ZK_CLI -server $ZK_SERVER | sed -n '/^\[/p' | tr -d '[],' | tr ',' '\n' | sed 's/^[ \t]*//;s/[ \t]*$//')
    
    #第三步:筛选并处理包含目标IP的节点
    for PROVIDER in $PROVIDERS; do
        if [[ $PROVIDER == *"$TARGET_IP"* ]]; then
            echo "发现匹配节点: $PROVIDER"
            # 执行删除操作
            echo "delete $SERVICE_PATH/$PROVIDER" | $ZK_CLI -server $ZK_SERVER >/dev/null 2>&1
            if [ $? -eq 0 ]; then
                echo "✓ 已成功删除节点: $PROVIDER"
            else
                echo "✗ 删除节点失败: $PROVIDER"
            fi
        fi
    done
done

echo "操作完成。"

内容概要:本文提供了一个用于在三个节点上自动安装并配置Kafka及其依赖组件(如Java、ZooKeeper)的Shell脚本详细步骤说明。首先检查是否输入了正确的IP地址数量(需要3个),然后依次执行四个主要任务:安装必要的Linux包和设定时间区域;下载并安装特定版本的ZooKeeper与之关联的服务配置;从官方源获取指定版本的Kafka压缩包并设置相关环境变量和服务属性,确保消息队列能够正常运行;最后将这些组件作为守护进程加入启动项以确保服务器重启时自动加载所有服务。并且,在每一部都包含了对于可能遇到的问题进行了简要解释,以及提供了验证集群安装成功与否的方法指令。 适合人群:对分布式计算平台有一定兴趣和技术背景,尤其熟悉Linux命令行操作、Shell脚本编程、大数据基础设施运维工作的IT从业者。 使用场景及目标:①为想要快速构建小规模生产级别Kafka群集的研究型团队提供便捷可靠的解决方案;②使系统管理员或者DevOps工程师可以基于提供的模板进行自定义修改来适应更复杂多变的实际业务需求场景;此外还包括学习目的使用者,通过模仿学习了解大规模分布式架构部署的具体流程。 阅读建议:由于本文档涉及到较多关于软件配置和环境搭建方面的知识,因此建议读者提前准备好虚拟机或者其他类似的沙箱实验环境。另外也可以参考官方文档加强对各个步骤理论的理解,配合文档里的示例逐步练习最终实现整个集群的手动安装直到完全掌握脚本的内容和功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Garc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值