1. zjtest7-redis:/root/zk# cat test_zk.pl
  2. use ZooKeeper;
  3. use AnyEvent;
  4. use AE;
  5. use Data::Dumper;
  6. use IO::Socket;
  7. sub check_port {
  8. my $server='120.55.118.6';
  9. my $port=shift;
  10. $sock = IO::Socket::INET->new(PeerAddr => $server,
  11. PeerPort => $port,
  12. Proto => 'tcp');
  13. if ($sock)
  14. {return 1}
  15. else
  16. {return 0 };
  17. };
  18.  
  19. my @port=(2181,2182,2183);
  20. @zk_port=();
  21. foreach $port (@port){
  22. my $result =&check_port($port);
  23. if ($result == 1){ push (@zk_port,$port)};
  24. };
  25. print "\@zk_port is @zk_port\n";
  26.  
  27. my @ip_list=();
  28. if (scalar(@zk_port)==3){
  29. print "333333333333333333333333\n";
  30. $zk = ZooKeeper->new(hosts => '120.55.118.6:2181,120.55.118.6:2182,120.55.118.6:2183') ;
  31. };
  32.  
  33. if (scalar(@zk_port)==2){
  34. print "22222222222222222\n";
  35. $zk = ZooKeeper->new(hosts => "120.55.118.6:$zk_port[0],120.55.118.6:$zk_port[1]");
  36. };
  37. #my $zk = ZooKeeper->new(hosts => '120.55.118.6:2182,120.55.118.6:2183') ;
  38. print "--------------------\n";
  39. eval {
  40. my $stat = $zk->exists('/mysql/0001');
  41. if ($stat){
  42. $mysql_ip = $zk->get('/mysql/0001');
  43. print $mysql_ip."\n";
  44. }
  45. else{
  46. $mysql_ip = $zk->get('/mysql/0002');
  47. print $mysql_ip."\n";
  48. };
  49.  
  50. use DBI;
  51. my $database='zjzc';
  52. my $user="zjzc_app";
  53. my $passwd="1234567";
  54. my @arr2=();
  55. my $dbh = DBI->connect("dbi:mysql:database=$database;host=$mysql_ip;port=3306",$user,$passwd,{
  56. RaiseError => 1,
  57. AutoCommit => 0
  58. } ) or die "can't connect to database ". DBI-errstr;
  59. my $hostSql = qq{select id,name from scan; };
  60. my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);
  61. my $selStmt = $dbh->prepare($hostSql);
  62. $selStmt->execute();
  63. $selStmt->bind_columns(undef, \$a1, \$a2);
  64. $selStmt->execute();
  65. while( $selStmt->fetch() )
  66. { push (@arr2, "$a1 $a2 $a3\n" );
  67. };
  68. print "\@arr2 is @arr2\n";
  69. $dbh->disconnect;
  70. };
  71. zjtest7-redis:/root/zk# perl test_zk.pl
  72. @zk_port is 2182 2183
  73. 22222222222222222
  74. --------------------
  75. 192.168.32.6
  76. @arr2 is 1 aaabbb
  77. 2 cccddeqe
  78. 2 cccddeqe
  79. 2 cccddeqe
  80. 2 cccddeqe
  81. 2 cccddeqe
  82. 2 cccddeqe
  83. 2 cccddeqe
  84. 2 cccddeqe
  85. 2 cccddeqe
  86. 2 cccddeqe
  87. 2 cccddeqe
  88. 2 cccddeqe
  89. 2 cccddeqe
  90. 2 cccddeqe
  91. 2 cccddeqe
  92. 2 cccddeqe
  93. 2 cccddeqe
  94. 2 cccddeqe
  95. 2 cccddeqe
  96. 2 cccddeqe
  97. 2 cccddeqe
  98. 2 cccddeqe
  99.  
  100. zk 节点 比如这里2181 挂后,需要手动程序了T掉已挂节点

zookeeper 手动T掉已挂节点的更多相关文章

  1. zookeeper客户端使用原生JavaApi操作节点

    1.引入依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zook ...

  2. 【C#】调度程序进程已挂起,但消息仍在处理中;

    环境:WPF.弹窗,messageBox.show();错误信息:调度程序进程已挂起,但消息仍在处理中:解决方法:Dispatcher.BeginInvoke(new Action(()=>{  ...

  3. http请求在ie中F12查看显示已挂起

    页面有解析和运算工作之后 http新请求在ie中F12查看显示已挂起,http post ,请求返回少量数据

  4. VMware Authorization Service不能启动 VMware虚拟机状态已挂起无法恢复解决方案

    在网上看说在服务里面启动 但也是不能用 电脑上说是WINDOWS无法启动VMware Authorization Service服务(位于本地计算机上)错误:1068 依赖服务或组无法启动 这个很简单 ...

  5. Linux用root强制踢掉已登录用户

    首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 users, load average: 0.21 ...

  6. Linux用root强制踢掉已登录用户;用fail2ban阻止ssh暴力破解root密码

    Linux用root强制踢掉已登录用户   首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 use ...

  7. WPF 加载 WINFORM控件 异常: 调度程序进程已挂起,但消息仍在处理中

    在加载TradeAtServer的统计中的 单个合约盈亏情况 异常:,调度程序进程已挂起,但消息仍在处理中 发现可能是属性设置引发的问题 比如DateTimePikcer.Value+= set, g ...

  8. 有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成。

    有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成. 分析:线性表中关于逆序的问题,就是用建立链表的头插法.而本题要求不能建立新 ...

  9. Redis源码解析:28集群(四)手动故障转移、从节点迁移

    一:手动故障转移 Redis集群支持手动故障转移.也就是向从节点发送"CLUSTER  FAILOVER"命令,使其在主节点未下线的情况下,发起故障转移流程,升级为新的主节点,而原 ...

随机推荐

  1. PowerDesigner15在生成SQL时报错Generation aborted due to errors detected during the verification of the mod

    转载: http://blog.csdn.net/successful555/article/details/7582154 PowerDesigner中如何设置字符编码为GBK或者GB2312 ht ...

  2. MEMS陀螺仪(gyroscope)的结构

    MEMS陀螺仪(gyroscope)的设计和工作原理可能各种各样,但是公开的MEMS陀螺仪均采用振动物体传感角速度的概念.利用振动来诱导和探测科里奥利力而设计的MEMS陀螺仪没有旋转部件.不需要轴承, ...

  3. Unix/Linux环境C编程入门教程(28) 日期时间那些事儿

    记得这个专题第一篇我们写过一个程序运行时间的程序,采用库函数提供的clock()模拟做程序测试.本篇介绍的函数也是和时间相关,但是没有clock的细致,而是提供的系统时间和日期. 1.asctime( ...

  4. NODE.JS安装配置

  5. PDF转word文档

    本文未对扫描版的PDF实验,但是可编辑PDF版本可以转换为word而且转换后的word是可编辑的. 1.从http://xiazai.zol.com.cn/detail/33/326858.shtml ...

  6. OpenStack core components CLI快速调用API

    1,openStack core components CLI 使用自身参数执行;

  7. IHttpModule接口事件执行 获取Session 找了很多国内的都不对,从国外转过来一个测试可用的

    我的环境,asp.net4.0框架集 不多说上代码 public class MyHttpModule : IHttpModule { public void Init(HttpApplication ...

  8. 在SSH框架中增加SiteMesh的支持

    1)引入jar包,如下两个jar包需要导入到系统的lib文件夹中: sitemesh-2.4.jar struts2-sitemesh-plugin-2.2.1.1.jar 2)修改web.xml增加 ...

  9. poj3934Queue(dp)

    题目链接: 啊哈哈,点我点我 题意: 有n个幼儿园的孩纸.然后从中找出m对孩子可以让他们看到两方,这样以便他们交流.. 思路: 首先能够考虑把n-1个人已经排成了m-2对.那么仅仅须要把这个最矮的随便 ...

  10. netty demo

    Netty 4.0 demo   netty是一个异步,事件驱动的网络编程框架&工具,使用netty,可以快速开发从可维护,高性能的协议服务和客户端应用.是一个继mina之后,一个非常受欢迎的 ...