Redash를 AMI에서 시작해 보았습니다.
공식 AMI에서 인스턴스 시작
에서 AMI를 선택합니다. Region ap-northeast-1
의 AMI 링크를 클릭하면 인스턴스 유형을 선택하는 화면으로 이동하므로 적절한 인스턴스 유형을 선택합니다.
1년간의 무료 프레임을 사용하고 있으므로 무료로 사용할 수 t2.micro
로 했습니다.
키 쌍을 설정하고 시작합니다.
액세스 설정
관리 콘솔에서 인스턴스의 보안 그룹 인바운드에서 HTTP 액세스를 적절하게 허용합니다.
이제 브라우저에서 인스턴스의 IP에 액세스하면 페이지가 표시됩니다.
Internal Server Error(500 오류)군요. 서비스측에 문제가 있을 것 같으므로 확인합니다.
서버측 설정
시작된 인스턴스에 SSH 로그인합니다.
우선 서비스를 다시 시작해 보겠습니다.
$ sudo supervisorctl restart all
redash_server: stopped
redash_celery_scheduled: stopped
redash_celery: stopped
redash_celery: started
redash_server: started
redash_celery_scheduled: started
다시 브라우저를 다시로드해 봅니다. 그러나 Internal Server Error는 변경되지 않습니다.
supervisord의 로그를 확인합니다.
$ less /var/log/supervisor/supervisord.log
하지만 수상한 로그는 나오지 않습니다. Redash가 사용하는 서비스의 시작 상태를 확인합니다.
PostgreSQL 프로세스를 확인합니다.
$ ps aux | grep -i postgres
ubuntu 21547 0.0 0.0 12948 932 pts/0 S+ 13:47 0:00 grep --color=auto -i postgres
발견되지 않기 때문에 PostgreSQL 가 기동하고 있지 않는 것이 원인인 것 같습니다. 로그를 확인합니다.
$ less /var/log/postgresql/postgresql-9.5-main.log
2017-10-16 13:32:30 UTC [1352-1] LOG: database system was shut down at 2017-08-13 12:39:56 UTC
2017-10-16 13:32:30 UTC [1352-2] LOG: MultiXact member wraparound protections are now enabled
2017-10-16 13:32:30 UTC [1351-1] LOG: database system is ready to accept connections
2017-10-16 13:32:30 UTC [1356-1] LOG: autovacuum launcher started
2017-10-16 13:32:31 UTC [1361-1] [unknown]@[unknown] LOG: incomplete startup packet
2017-10-16 13:34:33 UTC [1351-2] LOG: received fast shutdown request
2017-10-16 13:34:33 UTC [1351-3] LOG: aborting any active transactions
2017-10-16 13:34:33 UTC [1705-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1704-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1356-2] LOG: autovacuum launcher shutting down
2017-10-16 13:34:34 UTC [1353-1] LOG: shutting down
2017-10-16 13:34:34 UTC [1353-2] LOG: database system is shut down
2017-10-16 13:34:53 UTC [19851-1] FATAL: could not map anonymous shared memory: Cannot allocate memory
2017-10-16 13:34:53 UTC [19851-2] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 148488192 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
FATAL
오류가 발생했습니다. 그 전에 로그의 시각이 보기 어렵기 때문에, 타임 존을 일본 시간으로 변경합니다.
$ sudo timedatectl set-timezone Asia/Tokyo
$ date
Mon Oct 16 22:53:17 JST 2017
JST로 변경되었습니다.
방금 전의 PostgreSQL 에러는 할당할 수 있었던 메모리 사이즈가 크다고 하는 것 같습니다.
$ sudo vi /etc/postgresql/9.5/main/postgresql.conf
#max_connections = 100
max_connections = 50
#shared_buffers = 128MB
shared_buffers = 32MB
적습니다. 다시 시작합니다.
$ sudo /etc/init.d/postgresql restart
Restarting postgresql (via systemctl): postgresql.service.
프로세스를 확인합니다.
$ ps aux | grep -i postgres
postgres 21785 0.0 1.5 186840 15880 ? S 23:02 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 21787 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: checkpointer process
postgres 21788 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: writer process
postgres 21789 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: wal writer process
postgres 21790 0.0 0.6 187244 6104 ? Ss 23:02 0:00 postgres: autovacuum launcher process
postgres 21791 0.0 0.3 148544 3128 ? Ss 23:02 0:00 postgres: stats collector process
ubuntu 21808 0.0 0.1 12948 1092 pts/0 S+ 23:02 0:00 grep --color=auto -i postgres
시작했다!
브라우저에서 액세스하면.
표시되었습니다!
Admin 사용자를 등록하면 우선 사용할 수 있습니다.
이 상태로 메일 설정 등을 할 수 있기 때문에 필요한 경우 도움말
등을 참고로 합니다.
그건 그렇고
처음 시도했을 때는 다음과 같은 en_US.UTF-8
로케일이 없다는 오류가 나왔습니다.
2017-10-09 08:38:28 UTC [2801-1] redash@redash FATAL: database locale is incompatible with operating system
2017-10-09 08:38:28 UTC [2801-2] redash@redash DETAIL: The database was initialized with LC_COLLATE "en_US.UTF-8", which is not recognized by setlocale().
2017-10-09 08:38:28 UTC [2801-3] redash@redash HINT: Recreate the database with another locale or install the missing locale.
확인하면 확실히 없다.
$ locale -a
C
C.UTF-8 # en_US.utf8 がない
POSIX
따라서 다음과 같이 en_US.UTF-8
를 설치하고 시작했습니다.
$ sudo locale-gen en_US.UTF-8
$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
이 기사를 쓰기 위해 처음부터 통과해 보면 en_US.utf8
로컬이 들어가 있어, 재현하지 않았습니다.
Issue를 세웠습니다만, 착각이었을 가능성이 높기 때문에 살짝 닫았습니다.
관리 콘솔에서 인스턴스의 보안 그룹 인바운드에서 HTTP 액세스를 적절하게 허용합니다.
이제 브라우저에서 인스턴스의 IP에 액세스하면 페이지가 표시됩니다.
Internal Server Error(500 오류)군요. 서비스측에 문제가 있을 것 같으므로 확인합니다.
서버측 설정
시작된 인스턴스에 SSH 로그인합니다.
우선 서비스를 다시 시작해 보겠습니다.
$ sudo supervisorctl restart all
redash_server: stopped
redash_celery_scheduled: stopped
redash_celery: stopped
redash_celery: started
redash_server: started
redash_celery_scheduled: started
다시 브라우저를 다시로드해 봅니다. 그러나 Internal Server Error는 변경되지 않습니다.
supervisord의 로그를 확인합니다.
$ less /var/log/supervisor/supervisord.log
하지만 수상한 로그는 나오지 않습니다. Redash가 사용하는 서비스의 시작 상태를 확인합니다.
PostgreSQL 프로세스를 확인합니다.
$ ps aux | grep -i postgres
ubuntu 21547 0.0 0.0 12948 932 pts/0 S+ 13:47 0:00 grep --color=auto -i postgres
발견되지 않기 때문에 PostgreSQL 가 기동하고 있지 않는 것이 원인인 것 같습니다. 로그를 확인합니다.
$ less /var/log/postgresql/postgresql-9.5-main.log
2017-10-16 13:32:30 UTC [1352-1] LOG: database system was shut down at 2017-08-13 12:39:56 UTC
2017-10-16 13:32:30 UTC [1352-2] LOG: MultiXact member wraparound protections are now enabled
2017-10-16 13:32:30 UTC [1351-1] LOG: database system is ready to accept connections
2017-10-16 13:32:30 UTC [1356-1] LOG: autovacuum launcher started
2017-10-16 13:32:31 UTC [1361-1] [unknown]@[unknown] LOG: incomplete startup packet
2017-10-16 13:34:33 UTC [1351-2] LOG: received fast shutdown request
2017-10-16 13:34:33 UTC [1351-3] LOG: aborting any active transactions
2017-10-16 13:34:33 UTC [1705-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1704-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1356-2] LOG: autovacuum launcher shutting down
2017-10-16 13:34:34 UTC [1353-1] LOG: shutting down
2017-10-16 13:34:34 UTC [1353-2] LOG: database system is shut down
2017-10-16 13:34:53 UTC [19851-1] FATAL: could not map anonymous shared memory: Cannot allocate memory
2017-10-16 13:34:53 UTC [19851-2] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 148488192 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
FATAL
오류가 발생했습니다. 그 전에 로그의 시각이 보기 어렵기 때문에, 타임 존을 일본 시간으로 변경합니다.
$ sudo timedatectl set-timezone Asia/Tokyo
$ date
Mon Oct 16 22:53:17 JST 2017
JST로 변경되었습니다.
방금 전의 PostgreSQL 에러는 할당할 수 있었던 메모리 사이즈가 크다고 하는 것 같습니다.
$ sudo vi /etc/postgresql/9.5/main/postgresql.conf
#max_connections = 100
max_connections = 50
#shared_buffers = 128MB
shared_buffers = 32MB
적습니다. 다시 시작합니다.
$ sudo /etc/init.d/postgresql restart
Restarting postgresql (via systemctl): postgresql.service.
프로세스를 확인합니다.
$ ps aux | grep -i postgres
postgres 21785 0.0 1.5 186840 15880 ? S 23:02 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 21787 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: checkpointer process
postgres 21788 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: writer process
postgres 21789 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: wal writer process
postgres 21790 0.0 0.6 187244 6104 ? Ss 23:02 0:00 postgres: autovacuum launcher process
postgres 21791 0.0 0.3 148544 3128 ? Ss 23:02 0:00 postgres: stats collector process
ubuntu 21808 0.0 0.1 12948 1092 pts/0 S+ 23:02 0:00 grep --color=auto -i postgres
시작했다!
브라우저에서 액세스하면.
표시되었습니다!
Admin 사용자를 등록하면 우선 사용할 수 있습니다.
이 상태로 메일 설정 등을 할 수 있기 때문에 필요한 경우 도움말
등을 참고로 합니다.
그건 그렇고
처음 시도했을 때는 다음과 같은 en_US.UTF-8
로케일이 없다는 오류가 나왔습니다.
2017-10-09 08:38:28 UTC [2801-1] redash@redash FATAL: database locale is incompatible with operating system
2017-10-09 08:38:28 UTC [2801-2] redash@redash DETAIL: The database was initialized with LC_COLLATE "en_US.UTF-8", which is not recognized by setlocale().
2017-10-09 08:38:28 UTC [2801-3] redash@redash HINT: Recreate the database with another locale or install the missing locale.
확인하면 확실히 없다.
$ locale -a
C
C.UTF-8 # en_US.utf8 がない
POSIX
따라서 다음과 같이 en_US.UTF-8
를 설치하고 시작했습니다.
$ sudo locale-gen en_US.UTF-8
$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
이 기사를 쓰기 위해 처음부터 통과해 보면 en_US.utf8
로컬이 들어가 있어, 재현하지 않았습니다.
Issue를 세웠습니다만, 착각이었을 가능성이 높기 때문에 살짝 닫았습니다.
$ sudo supervisorctl restart all
redash_server: stopped
redash_celery_scheduled: stopped
redash_celery: stopped
redash_celery: started
redash_server: started
redash_celery_scheduled: started
$ less /var/log/supervisor/supervisord.log
$ ps aux | grep -i postgres
ubuntu 21547 0.0 0.0 12948 932 pts/0 S+ 13:47 0:00 grep --color=auto -i postgres
$ less /var/log/postgresql/postgresql-9.5-main.log
2017-10-16 13:32:30 UTC [1352-1] LOG: database system was shut down at 2017-08-13 12:39:56 UTC
2017-10-16 13:32:30 UTC [1352-2] LOG: MultiXact member wraparound protections are now enabled
2017-10-16 13:32:30 UTC [1351-1] LOG: database system is ready to accept connections
2017-10-16 13:32:30 UTC [1356-1] LOG: autovacuum launcher started
2017-10-16 13:32:31 UTC [1361-1] [unknown]@[unknown] LOG: incomplete startup packet
2017-10-16 13:34:33 UTC [1351-2] LOG: received fast shutdown request
2017-10-16 13:34:33 UTC [1351-3] LOG: aborting any active transactions
2017-10-16 13:34:33 UTC [1705-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1704-1] redash@redash FATAL: terminating connection due to administrator command
2017-10-16 13:34:33 UTC [1356-2] LOG: autovacuum launcher shutting down
2017-10-16 13:34:34 UTC [1353-1] LOG: shutting down
2017-10-16 13:34:34 UTC [1353-2] LOG: database system is shut down
2017-10-16 13:34:53 UTC [19851-1] FATAL: could not map anonymous shared memory: Cannot allocate memory
2017-10-16 13:34:53 UTC [19851-2] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 148488192 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
$ sudo timedatectl set-timezone Asia/Tokyo
$ date
Mon Oct 16 22:53:17 JST 2017
$ sudo vi /etc/postgresql/9.5/main/postgresql.conf
#max_connections = 100
max_connections = 50
#shared_buffers = 128MB
shared_buffers = 32MB
$ sudo /etc/init.d/postgresql restart
Restarting postgresql (via systemctl): postgresql.service.
$ ps aux | grep -i postgres
postgres 21785 0.0 1.5 186840 15880 ? S 23:02 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 21787 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: checkpointer process
postgres 21788 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: writer process
postgres 21789 0.0 0.3 186840 3832 ? Ss 23:02 0:00 postgres: wal writer process
postgres 21790 0.0 0.6 187244 6104 ? Ss 23:02 0:00 postgres: autovacuum launcher process
postgres 21791 0.0 0.3 148544 3128 ? Ss 23:02 0:00 postgres: stats collector process
ubuntu 21808 0.0 0.1 12948 1092 pts/0 S+ 23:02 0:00 grep --color=auto -i postgres
처음 시도했을 때는 다음과 같은
en_US.UTF-8
로케일이 없다는 오류가 나왔습니다.2017-10-09 08:38:28 UTC [2801-1] redash@redash FATAL: database locale is incompatible with operating system
2017-10-09 08:38:28 UTC [2801-2] redash@redash DETAIL: The database was initialized with LC_COLLATE "en_US.UTF-8", which is not recognized by setlocale().
2017-10-09 08:38:28 UTC [2801-3] redash@redash HINT: Recreate the database with another locale or install the missing locale.
확인하면 확실히 없다.
$ locale -a
C
C.UTF-8 # en_US.utf8 がない
POSIX
따라서 다음과 같이
en_US.UTF-8
를 설치하고 시작했습니다.$ sudo locale-gen en_US.UTF-8
$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
이 기사를 쓰기 위해 처음부터 통과해 보면
en_US.utf8
로컬이 들어가 있어, 재현하지 않았습니다.Issue를 세웠습니다만, 착각이었을 가능성이 높기 때문에 살짝 닫았습니다.
Reference
이 문제에 관하여(Redash를 AMI에서 시작해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyoshidajp/items/b17ee986e2eb5c625486텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)