集群环境
4台虚拟机: centos7
hadoop3.3.0
最初jdk版本,是openJDK8_272版本,最后发现启动报错原因就是openJDK原因,最终换为非openJDK版本
及java 8版本,及jdk-8u131,再次启动集群,问题解决。
启动集群hdfs namenode -format,进行格式化时,报错如下:
************************************************************/ 2020-12-28 00:24:44,462 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT] 2020-12-28 00:24:44,568 INFO namenode.NameNode: createNameNode [-format] 2020-12-28 00:24:45,222 INFO namenode.NameNode: Formatting using clusterid: CID-21f18a14-d516-4ea3-b957-fbe9d6043b39 2020-12-28 00:24:45,272 INFO namenode.FSEditLog: Edit logging is async:true 2020-12-28 00:24:45,324 INFO namenode.FSNamesystem: KeyProvider: null 2020-12-28 00:24:45,326 INFO namenode.FSNamesystem: fsLock is fair: true 2020-12-28 00:24:45,326 INFO namenode.FSNamesystem: Detailed lock hold time metrics enabled: false 2020-12-28 00:24:45,336 ERROR namenode.FSNamesystem: FSNamesystem initialization failed. org.apache.hadoop.security.KerberosAuthException: failure to login: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1952) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) Caused by: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) ... 8 more 2020-12-28 00:24:45,348 INFO namenode.FSNamesystem: Stopping services started for active state 2020-12-28 00:24:45,348 INFO namenode.FSNamesystem: Stopping services started for standby state 2020-12-28 00:24:45,348 WARN namenode.NameNode: Encountered exception during format org.apache.hadoop.security.KerberosAuthException: failure to login: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1952) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) Caused by: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) ... 8 more 2020-12-28 00:24:45,350 ERROR namenode.NameNode: Failed to start namenode. org.apache.hadoop.security.KerberosAuthException: failure to login: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1952) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) Caused by: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) ... 8 more 2020-12-28 00:24:45,355 INFO util.ExitUtil: Exiting with status 1: org.apache.hadoop.security.KerberosAuthException: failure to login: javax.security.auth.login.LoginException: java.lang.UnsatisfiedLinkError: no jaas_unix in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:871) at java.lang.System.loadLibrary(System.java:1122) at com.sun.security.auth.module.UnixSystem.<init>(UnixSystem.java:48) at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2031) at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1942) at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:711) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:661) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:830) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:796) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1249) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1713) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821) 2020-12-28 00:24:45,359 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at node01/192.168.2.104 ************************************************************/ [root@node01 hadoop-3.3.0]#
解决方案:
不要使用openJDK的版本