새 환경의 문제를 해결할 때는 가능한 한 간단한 방식으로 다양한 재생 구성요소를 분리하고 개별적으로 테스트하는 것이 도움이 됩니다.
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 데이터베이스 연결을 만드는 것입니다.