Esempio n. 1
0
 def run(self):
     """
     未收到终止信号前,循环向zookeeper节点写入节点状态
     :return:
     """
     while not self.end:
         slave = eval(str(self.zk.get("/jetsearch/slaves/" + self.slave_id)[0]))
         slave['heartbeat'] = Metric.get_heartbeat()
         slave['task_status'] = self.status
         self.zk.set("/jetsearch/slaves/" + self.slave_id, str(slave))
         time.sleep(1)
Esempio n. 2
0
    def _register(self):
        """
        向master注册slave节点,存入slave状态信息
        """
        if self.zk.exists("/jetsearch/slaves/" + self.id):
            self.id = self._generate_id()

        slave = {
            "id": self.id,
            "type": self.type,
            "host": Metric.get_host(),
            "addr": Metric.get_ip(),
            "heartbeat": Metric.get_heartbeat()
        }
        self.zk.create("/jetsearch/slaves/" + self.id, str(slave))