新しい環境のトラブルシューティングを行う際には、多くの場合に、動作しているさまざまなコンポーネントを隔離し、可能な限りシンプルに隔離状態でテストすることをおすすめします。
Looker サーバーとデータベース間の接続をテストするには、Looker サーバーで Telnet を使用してシンプルな TCP 接続を作成します。Telnet を使用するメリットは非常にシンプルであることです。変更する構成ファイルは存在せず、認証は必要ありません。Telnet が接続を行う場合と、行わない場合があります。
データベースにアクセスできるようになったら、データベースのネイティブ クライアントや Looker などのアプリケーションからのテストに進むことができます。
Telnet のインストール
一部のホストには、Telnet がプリインストールされています。これをテストするために、Looker サーバーで次のコマンドを実行します。
telnet ?
次のように表示されます。
usage: telnet [-l user] [-a] [-s src_addr] host-name [port]
「command not found」というエラーが表示された場合は、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 データベース接続を作成します。