오류
2024-01-30 13:20:21,373 INFO org.apache.flink.runtime.metrics.MetricRegistryImpl - No metrics reporter configured, no metrics will be exposed/reported.
2024-01-30 13:20:21,379 INFO org.apache.flink.runtime.blob.PermanentBlobCache - Created BLOB cache storage directory /tmp/blobStore-72b3400e-84af-4cf4-819b-f7518e863576
2024-01-30 13:20:21,382 INFO org.apache.flink.runtime.blob.TransientBlobCache - Created BLOB cache storage directory /tmp/blobStore-8ce5bf40-62cf-4c5d-b389-12fb6f1d120d
2024-01-30 13:20:21,382 INFO org.apache.flink.runtime.taskexecutor.TaskManagerRunner - Starting TaskManager with ResourceID: 21837821a65e069fc63cfa85ac0cc77a
2024-01-30 13:20:21,384 ERROR org.apache.flink.runtime.taskexecutor.TaskManagerRunner - TaskManager initialization failed.
java.net.UnknownHostException: dev: 이름 혹은 서비스를 알 수 없습니다
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:867)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)
at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:815)
at java.net.InetAddress.getAllByName0(InetAddress.java:1291)
at java.net.InetAddress.getAllByName(InetAddress.java:1144)
at java.net.InetAddress.getAllByName(InetAddress.java:1065)
at java.net.InetAddress.getByName(InetAddress.java:1015)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner.startTaskManager(TaskManagerRunner.java:353)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner.<init>(TaskManagerRunner.java:147)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner.runTaskManager(TaskManagerRunner.java:326)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner$1.call(TaskManagerRunner.java:298)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner$1.call(TaskManagerRunner.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556)
at org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
at org.apache.flink.runtime.taskexecutor.TaskManagerRunner.main(TaskManagerRunner.java:295)
2024-01-30 13:20:21,386 INFO org.apache.flink.runtime.blob.PermanentBlobCache - Shutting down BLOB cache
2024-01-30 13:20:21,387 INFO org.apache.flink.runtime.blob.TransientBlobCache - Shutting down BLOB cache
java.net.UnknownHostException:
dev라는 메시지가 나타나고 있어 이는 dev라는 호스트를 시스템이 식별할 수 없음을 의미한다.
이 오류의 주 원인은 시스템 DNS 설정 또는 /etc/hosts 파일에 dev라는 호스트 이름이 없거나, 잘못 설정되었기 때문일 가능성이 크다.
따라서 문제를 해결하려면 host 파일을 수정하거나, 실행 시 명확한 host를 지정해주어야 한다.
1. /etc/hosts 에 호스트 추가
가장 편한 방법. host 설정을 지정하는 방법이다.
2. Flink 구성 파일이나 실행 명령어에서 호스트 이름을 지정
https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/
만약 host 부분이 민감하다면, Flink가 사용하는 Akka 시스템에 올바른 호스트 이름 또는 IP 주소를 명시적으로 지정할 수도 있다.
Flink의 conf/flink-conf.yaml 파일에서 다음과 같은 설정을 조정할 수 있다.
- jobmanager.rpc.address: <올바른 호스트 이름 또는 IP 주소>
- taskmanager.host: <올바른 호스트 이름 또는 IP 주소>
또는 실행 시 다음과 같이 명령어 옵션을 사용할 수 있다.
flink bin 내부에 존재하는 daemon을 시작
./flink-daemon.sh start taskmanager -Dtaskmanager.host=10.50.10.114
혹은
./start-cluster.sh -Dtaskmanager.host=10.50.10.114
이 방법이 적용되지 않는다면, flink.conf를 통해 taskmanager를 직접 지정해줄 수도 있다.
flink-conf.yaml. 주소는 직접 받을 주소로 변경
..
jobmanager.rpc.address: 127.0.0.1
(추가)taskmanager.host: 127.0.0.1
..