2

Citus 5.0 で分散結合のパフォーマンス テストを試みています。マスター ノードと 2 つのワーカー ノードがあり、デフォルトの構成で期待どおりに動作するいくつかのハッシュ分散テーブルがあります。再パーティション化が必要なクエリをテストするには、タスク トラッカー エグゼキュータを使用する必要があります。

ただし、 に設定citus.task_executor_typeするとtask-tracker、分散テーブルを含むすべてのクエリが失敗します。例えば:

postgres=# SET citus.task_executor_type TO "task-tracker";
SET
postgres=# SELECT 1 FROM distrib_mcuser_car LIMIT 1;

ERROR:  failed to execute job 39
DETAIL:  Too many task tracker failures

に設定citus.task_executor_typepostgresql.confても同じ効果があります。

タスク エグゼキューターを切り替えるために必要な、他に欠けている構成変更はありますか?

編集、詳細:

  • PostGIS はすべてのノードにインストールされています
  • postgres_fdw がマスターにインストールされている
  • 他のすべての構成は元のままです

これまでのすべてのテーブルは次のように分散されていました。

SELECT master_create_distributed_table('table_name', 'id', 'hash');
SELECT master_create_worker_shards('table_name', 8, 2);

のスキーマdistrib_mcuser_carはかなり大きいので、より単純な例を次に示します。

postgres=# \d+ distrib_test_int
                   Table "public.distrib_test_int"
 Column |  Type   | Modifiers | Storage | Stats target | Description
--------+---------+-----------+---------+--------------+-------------
 num    | integer |           | plain   |              |

postgres=# select * from distrib_test_int;
ERROR:  failed to execute job 76
DETAIL:  Too many task tracker failures
4

2 に答える 2

3

タスク トラッカー エグゼキューターは、タスク (シャードに対するクエリ) をワーカー ノードで実行されているバックグラウンド ワーカーに割り当てます。このワーカーは、接続しlocalhostてタスクを実行します。に接続するときにスーパーユーザーがパスワードを要求する場合localhost、バックグラウンド ワーカーは接続できません。.pgpassこれは、に接続するためのワーカー ノードにファイルを追加することで解決できますlocalhost

于 2016-05-02T09:11:13.357 に答える
2

を変更することで、認証設定を変更し、ワーカーがパスワード チェックなしでマスターに接続できるようにすることができますpg_hba.conf

次の行を master に追加しますpg_conf.hba

host    all             all             [worker 1 ip]/32            trust
host    all             all             [worker 2 ip]/32            trust

各 worker-1 の次の行pg_hba.conf

host    all             all             [master ip]/32              trust
host    all             all             [worker 2 ip]/32            trust

そして worker-2 に続いてpg_hba.conf

host    all             all             [master ip]/32              trust
host    all             all             [worker 1 ip]/32            trust

これはテストのみを目的としています。必要なセキュリティ対策を講じずに、本番システムに使用しないでください。

于 2016-05-09T06:30:22.753 に答える