1. java.lang.LinkageError: org/apache/hudi/org/apache/parquet/column/ColumnDescriptor
이유: 기본 키 문제
해결 방법: 테이블 생성 구문의 기본 키를 확인하고 공식 웹 사이트에서 기본 키 설정을 참조하십시오.
2. 자바.랭. NoSuchMethodError: org.apache.flink.table.factories.DynamicTableFactory$ Context.getCatalogTable()Lorg/apache/flink/table/catalog/CatalogTable
: nosuchMehodError(해당 메서드 없음), 버전 호환 여부를 우선으로 합니다 . 버전이 일치하지 않기 때문에 프로그램은 해당 버전 방법을 찾을 수 없으며 이 오류가 보고됩니다.
처리 방법: 공식 웹 사이트에 따라 해당 적응 버전의 flink 및 hudi를 찾아 다운로드합니다. 예를 들어 scala2.11.8, flink1.13.6 및 hudi0.10.1은 호환됩니다(pro-test).
주소는 다음과 같습니다.
scala2.11.8: https://www.scala-lang.org/download/2.11.8.html 의 scala-2.11.8.tgz
flink1.13.6: https://dlcdn.apache.org/flink/flink-1.13.6/flink-1.13.6-bin-scala_2.11.tgz
3. SQL 문을 실행할 수 없습니다. 이유: java.net.ConnectException: 연결 거부
이유: 연결이 거부되었습니다. 이는 hdfs 주소에 대한 액세스가 불가능하거나 전체 flink 프로그램이 중단되었음을 의미합니다.
처리 방법: 1. hudi로 매핑된 hdfs 파일의 주소가 올바른지 확인합니다.
2. Hadoop 클러스터가 접속할 노드의 네임노드가 활성 상태인지 확인하고(직접 ip 주소: 50070 확인 권장) 그렇지 않은 경우 활성 노드를 변경하면 됩니다. 예를 들어, Hadoop01 노드는 대기 상태이고 Hadoop02 노드는 활성 상태이므로 주소 'path' = 'hdfs://hadoop01:8020/hud/'를 'path' = 'hdfs://hadoop02:8020/hud/'로 직접 변경합니다.
3. flink 클러스터가 온라인 상태인지 확인합니다. (직접 ip 주소 확인 권장: 8081), 접속이 안될 경우 flink 클러스터 재시작
${FLINK_HOME}/bin/start-cluster.sh