新しい環境のトラブルシューティングを行う際には、多くの場合に、動作しているさまざまなコンポーネントを隔離し、可能な限りシンプルに隔離状態でテストすることをおすすめします。
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 データベース接続を作成します。