新しい環境のトラブルシューティングを行う際には、多くの場合に、動作しているさまざまなコンポーネントを隔離し、可能な限りシンプルに隔離状態でテストすることをおすすめします。
Looker サーバーとデータベースの間の接続をテストするには、Looker サーバーで Telnet を使用して単純な TCP 接続を作成します。Telnet を使用するメリットは非常にシンプルであることです。変更する構成ファイルは存在せず、認証は必要ありません。Telnet が接続を行う場合と、行わない場合があります。
データベースにアクセスできることを確認したら、データベースのネイティブ クライアントや Looker などのアプリケーションを使用したテストに進みます。
Telnet のインストール
一部のホストには Telnet がプリインストールされている場合があります。これをテストするには、Looker サーバーで次のコマンドを実行します。
telnet ?
次のように表示されます。
usage: telnet [-l user] [-a] [-s src_addr] host-name [port]
「コマンドが見つかりません」というエラーが表示された場合は、Telnet をインストールする必要があります。
Ubuntu の場合:
sudo apt-get install telnet
Redhat / CentOS の場合:
yum install telnet
デフォルト ポート
データベースがどのポートで実行されているかを知る必要があります。次の表に、いくつかのプラットフォームのデフォルト ポートを示します。ただし、データベースが異なるポートで実行するように構成されている場合もあります。データベース管理者にお問い合わせください。
プラットフォーム | ポート |
---|---|
Amazon Redshift | 5439 |
GreenPlum | 5432 |
Microsoft SQL Server (MSSQL) | 1433 |
MySQL | 3306 |
Oracle | 1521 |
PostgreSQL | 5432 |
Vertica | 5433 |
Telnet でのデータベースへの接続
データベースへの接続をテストするには、Looker サーバーで telnet hostname port
を実行します。たとえば、デフォルト ポートで MySQL を実行していて、データベース名が mydb の場合、コマンドは telnet mydb 3306
になります。
接続が機能している場合は、次のようなメッセージが表示されます。
Trying 10.10.10.10...
Connected to mydb.
Escape character is '^]'.
接続が機能しない場合は、次のいずれかのように表示されます。
Trying 10.10.10.10...
telnet: Unable to connect to remote host: Connection timed out
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
telnet: could not resolve mydb/telnet: Name or service not known
トラブルシューティング
Telnet チェックが成功しない場合は、以下を検討してください。
- ホスト名は正しいですか?
- データベースと Looker サーバーがネットワーク トラフィックを許可するように構成されていますか?両方のホストにインストールされているファイアウォール ソフトウェアを確認します。
- Looker サーバーとデータベース ホストの間のすべてのネットワークが、ネットワーク トラフィックを許可するように構成されていますか?ファイアウォールとネットワーク アクセス制御リスト(ACL)を確認します。
- Looker サーバーとデータベース ホストの間のすべてのネットワークが、ホスト間でトラフィックを転送するように正しく構成されていますか?
- データベース サーバーが稼働しており、正しいポートをリッスンし、さらにLooker サーバーからの接続を許可するように構成されていますか?
次のステップ
Looker サーバーからデータベース サーバーのポートに Telnet を実行できる場合は、基本的な接続の問題を除外できます。次のステップは、Looker データベース接続を作成することです。