복붙노트

[HADOOP] HDFS NFS 시작 오류 : "오류 mount.MountdBase는 다음 TCP 서버 ... ChannelException 시작하지 못했습니다 : 바인딩 실패를 ..."

HADOOP

HDFS NFS 시작 오류 : "오류 mount.MountdBase는 다음 TCP 서버 ... ChannelException 시작하지 못했습니다 : 바인딩 실패를 ..."

워드 프로세서 다음 / 시작 HDFS NFS를 사용하려고합니다 (다음 rpcbind 서비스를 중지 지시를 무시하고 OS가 SLES 11 및 RHEL 6.2 아니라고 주어진 하둡 포트 맵 서비스를 시작하지 않았다)하지만, 설정하려고 할 때 오류로 실행 HDFS NFS3 서비스를 시작 NFS 서비스 :

[root@HW02 ~]#
[root@HW02 ~]#
[root@HW02 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@HW02 ~]#
[root@HW02 ~]#
[root@HW02 ~]# service nfs status
Redirecting to /bin/systemctl status nfs.service
Unit nfs.service could not be found.
[root@HW02 ~]#
[root@HW02 ~]#
[root@HW02 ~]# service nfs stop
Redirecting to /bin/systemctl stop nfs.service
Failed to stop nfs.service: Unit nfs.service not loaded.
[root@HW02 ~]#
[root@HW02 ~]#
[root@HW02 ~]# service rpcbind status
Redirecting to /bin/systemctl status rpcbind.service
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-07-23 13:48:54 HST; 28s ago
  Process: 27337 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 27338 (rpcbind)
   CGroup: /system.slice/rpcbind.service
           └─27338 /sbin/rpcbind -w

Jul 23 13:48:54 HW02.ucera.local systemd[1]: Starting RPC bind service...
Jul 23 13:48:54 HW02.ucera.local systemd[1]: Started RPC bind service.
[root@HW02 ~]#
[root@HW02 ~]#
[root@HW02 ~]# hdfs nfs3
19/07/23 13:49:33 INFO nfs3.Nfs3Base: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting Nfs3
STARTUP_MSG:   host = HW02.ucera.local/172.18.4.47
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 3.1.1.3.1.0.0-78
STARTUP_MSG:   classpath = /usr/hdp/3.1.0.0-78/hadoop/conf:/usr/hdp/3.1.0.0-78/hadoop/lib/jersey-server-1.19.jar:/usr/hdp/3.1.0.0-78/hadoop/lib/ranger-hdfs-plugin-shim-1.2.0.3.1.0.0-78.jar:
...
<a bunch of other jars>
...
STARTUP_MSG:   build = git@github.com:hortonworks/hadoop.git -r e4f82af51faec922b4804d0232a637422ec29e64; compiled by 'jenkins' on 2018-12-06T12:26Z
STARTUP_MSG:   java = 1.8.0_112
************************************************************/
19/07/23 13:49:33 INFO nfs3.Nfs3Base: registered UNIX signal handlers for [TERM, HUP, INT]
19/07/23 13:49:33 INFO impl.MetricsConfig: Loaded properties from hadoop-metrics2.properties
19/07/23 13:49:33 INFO impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s).
19/07/23 13:49:33 INFO impl.MetricsSystemImpl: Nfs3 metrics system started
19/07/23 13:49:33 INFO oncrpc.RpcProgram: Will accept client connections from unprivileged ports
19/07/23 13:49:33 INFO security.ShellBasedIdMapping: Not doing static UID/GID mapping because '/etc/nfs.map' does not exist.
19/07/23 13:49:33 INFO nfs3.WriteManager: Stream timeout is 600000ms.
19/07/23 13:49:33 INFO nfs3.WriteManager: Maximum open streams is 256
19/07/23 13:49:33 INFO nfs3.OpenFileCtxCache: Maximum open streams is 256
19/07/23 13:49:34 INFO nfs3.DFSClientCache: Added export: / FileSystem URI: / with namenodeId: -1408097406
19/07/23 13:49:34 INFO nfs3.RpcProgramNfs3: Configured HDFS superuser is
19/07/23 13:49:34 INFO nfs3.RpcProgramNfs3: Delete current dump directory /tmp/.hdfs-nfs
19/07/23 13:49:34 INFO nfs3.RpcProgramNfs3: Create new dump directory /tmp/.hdfs-nfs
19/07/23 13:49:34 INFO nfs3.Nfs3Base: NFS server port set to: 2049
19/07/23 13:49:34 INFO oncrpc.RpcProgram: Will accept client connections from unprivileged ports
19/07/23 13:49:34 INFO mount.RpcProgramMountd: FS:hdfs adding export Path:/ with URI: hdfs://hw01.ucera.local:8020/
19/07/23 13:49:34 INFO oncrpc.SimpleUdpServer: Started listening to UDP requests at port 4242 for Rpc program: mountd at localhost:4242 with workerCount 1
19/07/23 13:49:34 ERROR mount.MountdBase: Failed to start the TCP server.
org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:4242
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)
        at org.apache.hadoop.oncrpc.SimpleTcpServer.run(SimpleTcpServer.java:89)
        at org.apache.hadoop.mount.MountdBase.startTCPServer(MountdBase.java:83)
        at org.apache.hadoop.mount.MountdBase.start(MountdBase.java:98)
        at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.startServiceInternal(Nfs3.java:56)
        at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.startService(Nfs3.java:69)
        at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.main(Nfs3.java:79)
Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
...
...
19/07/23 13:49:34 INFO util.ExitUtil: Exiting with status 1: org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:4242
19/07/23 13:49:34 INFO nfs3.Nfs3Base: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down Nfs3 at HW02.ucera.local/172.18.4.47
************************************************************/

여기에서 보이는 오류 중 하나를 해석하는 방법을 잘하지 (클러스터를 처음 설치할 때 Ambari가 필요한 모든 패키지를 설치 한 것으로 가정하고, NFS-유틸 같은 모든 패키지를 설치하지 않은).

이것에 대해 무엇을 해야할지에 대한 모든 디버깅 제안이나 해결책?

** 업데이트 : 오류보고 후, 나는 볼 수 있습니다

이미 그것을 사용하여 무엇으로보고, 우리가 볼 수 ...

[root@HW02 ~]# netstat -ltnp | grep 4242
tcp        0      0 0.0.0.0:4242            0.0.0.0:*               LISTEN      98067/jsvc.exec

실행중인 자바 응용 프로그램과 관련된 것으로 보인다 jsvc.exec 과정. 하둡은 자바에서 실행 감안할 때, 난 그냥 프로세스를 종료하는 것이 나쁜 것입니다 가정합니다. 그것은 (NFS 게이트웨이 방해 이후부터)이 포트에 있어야 아닌가요? 이것에 대해 무엇을 할 확실하지.

해결법

  1. ==============================

    1.TLDR : NFS 게이트웨이 서비스가 이미 (분명히, 기본적으로)를 실행하고 있었고, 난 생각 서비스가이었다 시작부터 하둡 NFS3 서비스 (jsvc.exec) (내가 있으리라 믿고있어) 그 서비스의 일부로 이미 실행을 차단했다.

    TLDR : NFS 게이트웨이 서비스가 이미 (분명히, 기본적으로)를 실행하고 있었고, 난 생각 서비스가이었다 시작부터 하둡 NFS3 서비스 (jsvc.exec) (내가 있으리라 믿고있어) 그 서비스의 일부로 이미 실행을 차단했다.

    어떤 날이 클러스터를 종료 할 때 그것이 내가 NFS에 필요한 포트를 사용하는 것을, 서비스는 사실 더한 중지이었다 의심했다. 나는를 확인하는 방법은 단지 문서의 확인 단계에 따라 내 출력이 예상해야 것과 유사한 것을 보는했다.

    [root@HW02 ~]# rpcinfo -p hw02
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100005    1   udp   4242  mountd
        100005    2   udp   4242  mountd
        100005    3   udp   4242  mountd
        100005    1   tcp   4242  mountd
        100005    2   tcp   4242  mountd
        100005    3   tcp   4242  mountd
        100003    3   tcp   2049  nfs
    [root@HW02 ~]# showmount -e hw02
    Export list for hw02:
    / *
    

    jsvc 프로세스가 이미 실행중인 HDFS의 NFS 서비스의 일부라고 나에게 말했다 수있는 또 다른 것은 프로세스 정보를 확인했을 것이다 ...

    [root@HW02 ~]# ps -feww | grep jsvc
    root      61106  59083  0 14:27 pts/2    00:00:00 grep --color=auto jsvc
    root     163179      1  0 12:14 ?        00:00:00 jsvc.exec -Dproc_nfs3 -outfile /var/log/hadoop/root/hadoop-hdfs-root-nfs3-HW02.ucera.local.out -errfile /var/log/hadoop/root/privileged-root-nfs3-HW02.ucera.local.err -pidfile /var/run/hadoop/root/hadoop-hdfs-root-nfs3.pid -nodetach -user hdfs -cp /usr/hdp/3.1.0.0-78/hadoop/conf:...
    ...
    hdfs     163193 163179  0 12:14 ?        00:00:17 jsvc.exec -Dproc_nfs3 -outfile /var/log/hadoop/root/hadoop-hdfs-root-nfs3-HW02.ucera.local.out -errfile /var/log/hadoop/root/privileged-root-nfs3-HW02.ucera.local.err -pidfile /var/run/hadoop/root/hadoop-hdfs-root-nfs3.pid -nodetach -user hdfs -cp /usr/hdp/3.1.0.0-78/hadoop/conf:...
    

    및 jsvc.exec -Dproc_nfs3 ...를 보는 것은 (분명히 리눅스에 자바 응용 프로그램을 실행하는 것입니다) jsvc 내가 시작하려고했던 바로 그 NFS3 서비스를 실행하는 데 사용되었다는 힌트를 얻을 수 있습니다.

    그리고이 문제와 다른 사람을 위해, 나는 (centos7를 사용하기 때문에) 워드 프로세서 중지 할 모든 서비스를 멈추지 않았다 있습니다

    [root@HW01 /]# service nfs status
    Redirecting to /bin/systemctl status nfs.service
    ● nfs-server.service - NFS server and services
       Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
    [root@HW01 /]# service rpcbind status
    Redirecting to /bin/systemctl status rpcbind.service
    ● rpcbind.service - RPC bind service
       Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
       Active: active (running) since Fri 2019-07-19 15:17:02 HST; 6 days ago
     Main PID: 2155 (rpcbind)
       CGroup: /system.slice/rpcbind.service
               └─2155 /sbin/rpcbind -w
    
    Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
    

    또한 나는이 문서에서 권장하는 설정 파일의 설정을 따르지 않았고주의이 여전히 이유 (그리고 문서에 설명 된 속성 중 일부는 심지어 Ambari 관리 HDFS의 CONFIGS에서 찾을 수 없음 (그래서 사람이 설명 할 수있는 경우 그럼에도 불구하고 나를 위해 작업)) 해주세요.

    ** 업데이트 :

    (Ambari의 mgnt를 통해 NFS를 설정할 때. 어떤 경우) 나보다 HDP (버전 3.1)를 사용하여 더 경험이 풍부한 사람들과 이야기 후, 나는이 HDFS에 대한 NFS를 설정에 링크 된 문서가 완전히 현재 상황을 반영하지 않을 수 있습니다 ...

  2. from https://stackoverflow.com/questions/57173608/hdfs-nfs-startup-error-error-mount-mountdbase-failed-to-start-the-tcp-server by cc-by-sa and MIT license