出典:zhisheng
FLINK 1.10リリースのドキュメントには、バージョン1.9とバージョン1.10の間の差に依存して設定、操作、など、より重要な点のいくつかを説明し、あなたがバージョン1.10 FLINKにアップグレードする準備ができている場合は、以下のページを読んで、慎重にお勧めします。
クラスタリングと展開
•ファイルシステムのニーズがすべてのタスクマネージャに均等に分散タスクを可能にします•2つの方法でクラス構成、親最初に、そして子供に最初に基づいて、プラグイン•FLINKクライアント・ロード・ロード戦略によってロードされる、する必要性 flink-conf.yaml
プロファイルの設定 cluster.evenly-spread-out-slots: true
パラメータを•高可用性ストレージディレクトリがで改訂された HA_STORAGE_DIR/HA_CLUSTER_ID
次の、HA_STORAGE_DIR
通過する経路 high-availability.storageDir
の設定パラメータ、HA_CLUSTER_ID
通過パス high-availability.cluster-id
使用した場合•パラメータ設定 -yarnship
パラメータコマンドを、リソースディレクトリとjarファイルをクラスパスに追加されます削除• --yn/--yarncontainer
削除•コマンドパラメータを --yst/--yarnstreaming
コマンドを•FLINK Mesosパラメータは、期限切れのすべての要求を拒否します。•目的は•カスタマイズすることができますFLINK使用するJava 11起動時にサポートするJava 11は、いくつかの警告ログを思い出させます将来的にスケジューリングポリシーを作成するFLINKスケジューラを、再構築注意:カサンドラ、ハイブ、HBaseのおよびその他のコネクタは、Java 11テストを使用していません
メモリ管理
•新しいタスクエグゼキュータのメモリモデルは、JobManagerメモリモデルが変更されないK8S、スタンドアロン、YARN、Mesosの展開に影響を与えます。あなたは調整の不在にしている場合は、以前のFLINK構成再利用する、新しいメモリモデルは、性能の変化が生じ、異なる計算JVMメモリパラメータをもたらすことができます。
次のオプションは、もはや仕事を削除されています。
次のオプションは他のオプションに置き換えられました。
•RocksDBステートバックエンドメモリは、ユーザがの読み出し/書き込みメモリRocksDB比調整することができ、制御することができる state.backend.rocksdb.memory.write-buffer-ratio
(0.5デフォルトのケース)とインデックス用のメモリの部分を/フィルタによって保持 state.backend.rocksdb.memory.high-prio-pool-ratio
(デフォルト0.1)•粒状演算子(オペレータ)のリソースを管理、設定オプション table.exec.resource.external-buffer-memory
、table.exec.resource.hash-agg.memory
、table.exec.resource.hash-join.memory
、および table.exec.resource.sort.memory
廃止されました
Table API 和 SQL
•任意の型リネームRAWタイプ、識別子生は、現在のフィールドまたはSQL関数名として使用される予約キーワードは、DDL文を書くときに、より良いユーザー体験を提供するために、•名前の変更表コネクタのプロパティをエスケープする必要がありますされますこのようカフカコネクタのプロパティとして connector.properties
と connector.specific-offsets
、elasticsearchコネクタのプロパティ connector.hosts
の一時表やビューが放棄されている前に、インタラクティブ方式•、現在使用createTemporaryView()ExternalCatalogのAPI(ExternalCatalog、SchematicDescriptor、MetadataDescriptor削除• 、StatisticsDescriptor)を、 それが新しいの使用を推奨しましたカタログAPI
コンフィギュレーション
値が必要の種類を解析するように構成することができない場合•ConfigOptionsは、デフォルト•再起動遅延時間戦略が増加しますデフォルト値に戻す前に、IllegalArgumentExceptionをスローしますが(固定遅延や故障率は前に、すでにデフォルトの1秒です0)•再起動の簡素化、クラスタレベルのポリシー設定は、今のクラスタレベルのポリシーは、デフォルトでは無効オープンCheckpointに•メモリマップされた場合のBoundedBlockingSubpartitionに基づく•不正なネットワークトラフィック制御を削除するかどうか、再起動-戦略によって設定され、決定され、再起動です•シフトHA_JOB_DELAY内の構成HighAvailabilityOptionsに加えて、
ステート(状態)
•デフォルトTTL開放状態に放棄バックグラウンドでのクリーンアップ• StateTtlConfig#Builder#cleanupInBackground()
•RocksDBStateBackendを使用する場合、ヒープメモリ(ヒープ)に•保存される前に、デフォルトはRocksDBにタイマーを保存されますがStateTtlConfig#TimeCharacteristic
、現在使用されて削除されました StateTtlConfig#TtlTimeCharacteristic
•新しい MapState#isEmpty()
MapStateをチェックする方法を空で、使用するよりも、この方法 mapState.keys().iterator().hasNext()
主に、いくつかのケースではRocksDBの高いバージョンの40%高速化•RocksDBスピードのアップグレードを、そのFRocksDB(ベースRocksDB 5.17.2版)をリリースは、パフォーマンスが低下•無効デフォルトRocksDBでロギング、あなたはその後、RocksDBOptionsFactoryを使用する必要があります有効にする必要がありDBOptionsインスタンスを作成し、前のRocksDBセーブポイントからの回復が大きなKV権が含まれている場合iNFO_LEVEL•最適化のメカニズムは、setInfoLogLevel法によりRocksDBセーブポイントから回復するために設定され、ユーザーがOOMが発生することがあります。RocksDBWriteBatchWrapperのデフォルトは2MBです、メモリを構成することができます制限するために導入されています。WriteBatchのRocksDBは、メモリの制限に達する前に更新されます。あなたはできる flink-conf.yml
変更 state.backend.rocksdb.write-batch-size
の設定を
PyFlink
•もはやサポートPython2
モニター
•InfluxdbReporterスキップInfのとはNaN(タイプInfluxDBがサポートされていない、など Double.POSITIVE_INFINITY
、 Double.NEGATIVE_INFINITY
、 Double.NaN
)
コネクタ(コネクタ)
•変更キネシスコネクタライセンス
インターフェイスの変更
• ExecutionConfig#getGlobalJobParameters()
triggerCheckpointにヌル•MasterTriggerRestoreHookを返さない非ブロックの方法を、必要なとき•HAサービスのクライアント/サーバー分離、HighAvailabilityServicesクライアントとクラスタClientHighAvailabilityServicesに分けHighAvailabilityServices•終了されましたHighAvailabilityServices#getWebMonitorLeaderElectionService()
•LeaderElectionServiceインターフェイス•非推奨に変更を加えた有効期限が切れたトークンをチェックポイントのロック•放棄さOptionsFactoryとConfigurableOptionsFactoryインタフェース
参考ます。https://github.com/apache/flink/blob/master/docs/release-notes/flink-1.10.zh.md
私はかなり新しい機能の欠如を説明する感じ、公式発表では、この新しいバージョンを読んで、のような:
•点滅の統合されたバージョンの機能バージョン1.10ではFLINKがさえPyFlinkが深刻である•統合ネイティブKubernetesを紹介して書かれていません•来ましたの?•統合のハイブ生産レベルに、何ら言及ああ•テーブルAPI / SQLの最適化のポイントはあまり話さないではないがあります
おそらくスペースの問題で、それを説明していない多くの機能がありますが、私たちは学習の独自のソースを見つけることがあります!