Exchangis icon indicating copy to clipboard operation
Exchangis copied to clipboard

The task is configured with nodes. After executing the task, an error is reported, and the execution node cannot be found.

Open sunloktom opened this issue 4 years ago • 4 comments

image 2. image 3. image 4.error message 报错信息 com.webank.wedatasphere.exchangis.route.exception.NoAvailableServerException: No available candidate servers at com.webank.wedatasphere.exchangis.route.MachineLoadRule.choose(MachineLoadRule.java:108) at com.webank.wedatasphere.exchangis.route.MachineLoadRule.choose(MachineLoadRule.java:65)

sunloktom avatar Jun 04 '21 08:06 sunloktom

This is because of the lack of configuration in exchange is-executor, which leads to the mismatch between the two sides of the program getHost. 这个是因为在exchangis-executor里面缺少配置,导致程序getHost的时候两边不匹配。 image

  1. first look at the value of address in your table.
  2. Check ip with ip r on your server
  3. Then add the following configuration in the conf/application.yml of exchange is-executor

1.你先看你的这个表里面的address的值是什么 2在你的服务器上用ip r 查看ip 3.接着在exchangis-executor 的conf/application.yml 添加如下配置

executor: network: interface: name: eth0 I'm using eth0 here. As for your actual situation, please fill in the corresponding value according to your step 2. Generally speaking, it should be eth0. 我这边用的是eth0,至于你的实际情况要看你步骤2的情况填相应的值。一般来说应该就是eth0

sunice0813 avatar Jun 17 '21 11:06 sunice0813

Borrow your issue. The third point of exechangis-executor should be to modify the conf/bootstrap.yml file, and change the name ""at the bottom of the file to name "eth0 "(the ip read should be the same as that registered by eureka), and then restart the executor module. Thanks to the big boss's issue for the tip.Borrow Big Brother issue. The third point of exechangis-executor should be to modify the conf/bootstrap.yml file, and change the name ""at the bottom of the file to name "eth0 "(the ip read should be the same as that registered by eureka), and then restart the executor module. Thanks to the big boss's issue for the tip.

借大佬issue。 第三点exechangis-executor应该是修改conf/bootstrap.yml文件,将文件底部的name "" 修改为 name "eth0"(读取到的ip应该和eureka注册的ip一致),修改完重启executor模块。感谢大佬的issue给了提示

iwasjoker avatar Jun 29 '21 08:06 iwasjoker

借大佬issue。 第三点exechangis-executor应该是修改conf/bootstrap.yml文件,将文件底部的name "" 修改为 name "eth0"(读取到的ip应该和eureka注册的ip一致),修改完重启executor模块。感谢大佬的issue给了提示

hello, if it's deployed to k8s container, the ip will change every time you redeploy it, so it won't work. Is there any good solution? Thanks! 大佬,如果是部署到k8s容器上,每次重新部署ip都会变,这样就没效果了,有什么好的解决方案吗,谢谢!

Phukety avatar Oct 24 '21 11:10 Phukety

根据指定ip获取网卡名称,脚本如下: 1、比如你需要绑定的executor的ip是10.0.0.14 2、获取网卡名称如下:

#!/bin/bash
ip="10.0.0.14"
interfaces=(`ip l | awk -F":"  '/^[^ ]/{print $2}'| awk '{print $1}'`)
for interface in ${interfaces[*]};do
     rs=`ip a show $interface| grep $ip`
     if [ -n "$rs"   ];then
         echo $interface                                                                                                                                                   
         break
     fi
done

3、将获取的网卡名字,比如第二步输出的结果是“em1” 4、将第3步骤的结果配置到/wedatasphere-exchangis-0.5.0.RELEASE/modules/exchangis-executor/conf/bootstrap.yml

network:
    interface:
      name: "em1"

5、重启exchangis-executor、以及exchangis-service服务

./bin/start.sh -m exchangis-executor
./bin/start.sh -m exchangis-service

6、大功告成,附上一张测试成功的截图(hive同步mysql,一条数据) image

ocean-zhc avatar Jun 23 '22 09:06 ocean-zhc

The latest version is exchangis1.1.1 and had supported MySQL、Hive、MongoDB、ElasticSearch and Oracle. You can pay attention to it.

jefftlin avatar Sep 29 '22 03:09 jefftlin