使用keepalived 做Carbon Thrift Server HA

5 篇文章 0 订阅
2 篇文章 0 订阅

Carbon Thrift Server

先决条件

启动

分别在两台机器上启动

spark-submit    --master yarn    --deploy-mode client     --class org.apache.carbondata.spark.thriftserver.CarbonThriftServer     --num-executors 5    --driver-memory 2G    --executor-memory 4G    --executor-cores 4    /usr/hdp/2.6.5.0-292/spark2/carbonlib/apache-carbondata-2.0.1-bin-spark2.4.5-hadoop2.7.2.jar &

keepalived

安装

yum install keepalived -y

编辑check_carbon.sh

vim /etc/keepalived/check_carbon.sh

#!/bin/bash
counter=$(yarn application -list 2>/dev/null | awk '/Carbon Thrift Server/' |awk '/fpc-test-lxl-1/ {print $9}')
if [ "${counter}" = "RUNNING" ]; then
     /etc/init.d/keepalived stop
fi

keepalived.conf配置

主节点

vim /etc/keepalived/keepalived.conf

/bin/bash: Configuration: command not found
bal_defs {
    notification_email {
        1003149427@qq.com
    }
    notification_email_from 1003149427@qq.com
    smtp_server mail.qq.com
    smtp_connect_timeout 30
    router_id LVS_DEVEL
}
 
vrrp_script chk_carbondata {
#    script "killall -0 nginx"
    script "/etc/keepalived/check_carbon.sh" 
    interval 2 
    weight -5 
    fall 3  
    rise 2 
}
 
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    mcast_src_ip 10.20.10.129
    virtual_router_id 51
    priority 101
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.20.10.2
    }
    track_script {
       chk_carbondata 
    }
}

backup节点

/bin/bash: Configuration: command not found
bal_defs {
    notification_email {
        1003149427@qq.com
    }
    notification_email_from 1003149427@qq.com
    smtp_server mail.qq.com
    smtp_connect_timeout 30
    router_id LVS_DEVEL
}
 
vrrp_script chk_carbondata {
#    script "killall -0 nginx"
    script "/etc/keepalived/check_carbon.sh" 
    interval 2 
    weight -5 
    fall 3  
    rise 2 
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    mcast_src_ip 10.20.10.137
    virtual_router_id 51
    priority 100
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.20.10.2
    }
    track_script {
       chk_carbondata 
    }
}

测试

cd $SPARK_HOME
./bin/beeline -u  jdbc:hive2://10.20.10.2:10000  -n root

把主节点停掉再试一下 ok

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置 keepalived 的 real_server,需要进行以下步骤: 1. 在 real_server 上安装 LVS 相关的软件,如 ipvsadm 工具等。 2. 配置 real_server 的网络参数,包括 IP 地址、子网掩码、网关等。 3. 在 real_server 上启动 LVS 相关的服务,如 lvs 服务、lvs agent 服务等。 4. 配置 LVS 的虚拟 IP 地址和端口。 5. 配置 real_server 的权重,以及其它相关参数。 6. 测试配置是否正确,确保 LVS 能够将请求正确地转发到 real_server 上。 下面是一个实例,假设 LVS 的虚拟 IP 地址为 192.168.1.100,real_server 的 IP 地址为 192.168.1.101: 1. 在 real_server 上安装 ipvsadm 工具: ``` yum install ipvsadm -y ``` 2. 配置 real_server 的网络参数,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件: ``` DEVICE="eth0" BOOTPROTO="static" IPADDR="192.168.1.101" NETMASK="255.255.255.0" GATEWAY="192.168.1.1" ONBOOT="yes" ``` 3. 启动 LVS 相关的服务: ``` systemctl start lvs systemctl start lvs-agent ``` 4. 配置 LVS 的虚拟 IP 地址和端口,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:0 文件: ``` DEVICE="eth0:0" BOOTPROTO="static" IPADDR="192.168.1.100" NETMASK="255.255.255.0" ONBOOT="yes" ``` 5. 配置 real_server 的权重和其它参数,编辑 /etc/sysconfig/ipvsadm 文件: ``` -A -t 192.168.1.100:80 -r 192.168.1.101:80 -g -w 1 ``` 其中,-A 表示新增一个虚拟服务器,-t 指定虚拟 IP 地址和端口,-r 指定 real_server 的 IP 地址和端口,-g 表示启用 DR 模式,-w 指定 real_server 的权重。 6. 测试配置是否正确,可以使用 curl 命令测试: ``` curl 192.168.1.100 ``` 如果配置正确,你会看到 real_server 返回的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值