1.Doris官网
Doris官网https://doris.apache.org/
2.根本原因
本地idea访问FE,FE会返回BE的地址,但是在服务器上通过ip addr查看,发现只有局域网IP,所以FE返回了局域网的IP,导致idea连接不上BE
3.解决办法
重写BackendV2类,返回公网IP即可。
在项目下新建包名
org.apache.doris.flink.rest.models
然后放入 BackendV2类文章来源:https://www.toymoban.com/news/detail-620903.html
package org.apache.doris.flink.rest.models;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/**
* @Project_Name:Realtime
* @Package_Name:org.apache.doris.flink.rest.models
* @Class_Name:BackendV2
* @Auther:zhang pengyun
* @Date:2023-07-25 21:06
* @Description:
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class BackendV2 {
@JsonProperty(value = "backends")
private List<BackendRowV2> backends;
public List<BackendRowV2> getBackends() {
return backends;
}
public void setBackends(List<BackendRowV2> backends) {
this.backends = backends;
}
public static class BackendRowV2 {
public String ip;
public int http_port;
public boolean is_alive;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getHttpPort() {
return http_port;
}
public void setHttpPort(int httpPort) {
this.http_port = httpPort;
}
public boolean isAlive() {
return is_alive;
}
public void setAlive(boolean alive) {
is_alive = alive;
}
public String toBackendString(){
return "47.92.168.70" + ":" + http_port;
}
}
}
然后重写修改toBackendString()方法,将公网IP写死返回,如果有多个BE,可以通过判断ip属性的值,动态返回。 文章来源地址https://www.toymoban.com/news/detail-620903.html
4. 注意事项
- 一定要打开检查点!!!
- idea连接,要连接FE的leader
- 把日志级别设置为warn
- FlinkSql一定要把print()方法注释,否则不往下游传数据
5. flink写doris(使用sink)
5.1 API
5.2 SQL
5. flink写doris(使用jdbc)
到了这里,关于Doris注意事项,Doris部署在阿里云,写不进去数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!