Ooize安装前的环境信息:
Ubuntu
jdk 1.8.0_131
Hadoop:2.5.2(三个节点的集群,安装的组件包括HDFS、YARN、Hbase、Hive、ZK)
Ø 安装用户:root
Ø 安装目录: /home/hadoop-2.5.2
oozie-4.1.0-cdh5.5.2.tar.gz
下载链接:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.5.2.tar.gz
ext2.2.zip:有文章说版本是写死的,不可以用其它版本。
mysql-connector-java-5.1.44.tar.gz
安装参数 |
取值 |
说明 |
安装用户 |
root |
一开始使用root安装,后来修改为了普通用户。但启动命令还是通过root执行。 |
安装目录 |
/home/oozie-4.1.0-cdh5.5.2 |
|
http://blog.csdn.net/u010967382/article/details/41355953
http://www.mamicode.com/info-detail-2044793.html
如下步骤除非明确指明安装用户,否则都是指root用户。
1. 上传安装包。
将oozie-4.1.0-cdh5.5.2.tar.gz上传到/home目录下。
解压安装包。
tar -zxvf oozie-4.1.0-cdh5.5.2.tar.gz
2. 配置环境变量。
vi ~/.bashrc
exportOOZIE_HOME=/home/oozie-4.1.0-cdh5.5.2
exportOOZIE_CONFIG=$OOZIE_HOME/conf
exportCLASSPATH=$CLASSPATH:$OOZIE_HOME/bin
source ~/.bashrc
3. 配置Hadoop集群的core-site文件。
cd /home/hadoop-2.5.2/etc/Hadoop
vi core-site.xml
添加如下内容:
修改后需要重启Hadoop集群。(操作时只修改了主节点,可能需要修改所有节点)
如下是操作中的实际配置,只修改了主节点,但是从后面步骤看这个配置并没有生效,后面第11步,用root用户执行不成功。
4. 创建libext目录。
cd /home/oozie-4.1.0-cdh5.5.2
mkdir libext
5. 复制hadooplibs包。
解压/home/oozie-4.1.0-cdh5.5.2目录下的oozie-sharelib-4.1.0-cdh5.5.2.tar.gz,得到目录oozie-4.1.0-cdh5.5.2/Hadooplibs,将该目录下的两个包拷贝到libext目录下。
cd /home/oozie-4.1.0-cdh5.5.2/oozie-4.1.0-cdh5.5.2/Hadooplibs
cphadooplib-2.6.0-cdh5.5.2.oozie-4.1.0-cdh5.5.2/*/home/oozie-4.1.0-cdh5.5.2/libext/
cphadooplib-2.6.0-mr1-cdh5.5.2.oozie-4.1.0-cdh5.5.2/*/home/oozie-4.1.0-cdh5.5.2/libext/
6. 上传ext2.2.zip到libext目录并解压。
unzip ext2.2.zip
7. 将ext2.2.0和hadoop的相关jar包加入war包并发布到自带的web server下。
cd /home/oozie-4.1.0-cdh5.5.2/bin
./addtowar.sh -inputwar $OOZIE_HOME/oozie.war-outputwar $OOZIE_HOME/oozie-server/webapps/oozie.war -hadoop 2.5.2$HADOOP_HOME -extjs /home/oozie-4.1.0-cdh5.5.2/libext/ext-2.2.zip
执行上述命令有:
Ø libext目录目录下多了hadoop的包,截图如下所示:
Ø $OOZIE_HOME/oozie-server/webapps目录下生成了oozie.war包,且比原有的$OOZIE_HOME/oozie.war包体积要大。
8. 上传JDBC驱动。
本次安装红Oozie使用Mysql,因此需要上传驱动mysql-connector-java-5.1.44.tar.gz。
Ø 分别上传到路径/home/oozie-4.1.0-cdh5.5.2/lib和/home/oozie-4.1.0-cdh5.5.2/libext目录下,并修改权限:
chmod 777 mysql-connector-java-5.1.44.tar.gz
Ø 上传到新生成的oozie.war包中。
目录为:/home/hadoop/oozie-4.1.0-cdh5.5.2/oozie-server/webapps/oozie/WEB-INF/lib
2. 创建Mysql用户。
mysql> create user ‘oozie‘ identified by‘mysql‘;
mysql> grant all privileges on *.* to'oozie'@'%' identified by 'mysql' with grant option;
mysql> flush privileges;
3. 配置/home/oozie-4.1.0-cdh5.5.2/conf/oozie-site.xml文件。
root@node1:/home/oozie-4.1.0-cdh5.5.2/conf# vioozie-site.xml关注如下参数:
参数名 |
取值 |
说明 |
oozie.db.schema.name |
oozie |
|
oozie.service.JPAService.jdbc.url |
jdbc:mysql://192.168.209.131:3306/oozie?createDatabaseIfNotExist=true |
|
oozie.service.JPAService.jdbc.username |
oozie |
MysqlDB用户 |
oozie.service.JPAService.jdbc.password |
Mysql |
MysqlDB用户密码 |
oozie.service.HadoopAccessorService.hadoop.configurations |
/home/hadoop-2.5.2/etc/hadoop |
Hadoop集群配置文件路径 |
oozie.db.schema.name
oozie
Oozie DataBase Name
oozie.service.JPAService.create.db.schema
false
Creates Oozie DB.
If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
oozie.service.JPAService.jdbc.driver
com.mysql.jdbc.Driver
JDBC driver class.
oozie.service.JPAService.jdbc.url
jdbc:mysql://192.168.209.131:3306/oozie?createDatabaseIfNotExist=true
JDBC URL.
oozie.service.JPAService.jdbc.username
oozie
DB user name.
oozie.service.JPAService.jdbc.password
mysql
DB user password.
IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
if empty Configuration assumes it is NULL.
oozie.service.HadoopAccessorService.hadoop.configurations
*=/home/hadoop-2.5.2/etc/hadoop
Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
the Hadoop service (JobTracker, HDFS). The wildcard ‘*‘ configuration is
used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
the relevant Hadoop *-site.xml files. If the path is relative is looked within
the Oozie configuration directory; though the path can be absolute (i.e. to point
to Hadoop client conf/ directories in the local filesystem.
11. 在HDFS上创建包(貌似这一步可忽略)。
cd /home/oozie-4.1.0-cdh5.5.2
bin/oozie-setup.sh sharelib create -fshdfs://192.168.20.32:9000 -locallib oozie-sharelib-4.1.0-cdh5.5.2-yarn.tar.gz
此处问题说明:
最开始用 root 用户执行,报错如下所示,可能是第 3 步配置有误导致的:当时并未注意到第三步配置的问题,将oozie-4.1.0-cdh5.5.2整个用户修改为了wht,切换到wht用户下执行时会有java权限的问题,于是又切回到root用户下执行,没有再报上述错误,有了超时的错误,如下所示,后来并没有解决这个问题,但是界面时可以启动的:
12 给oozie-server赋予权限。
cd /home/oozie-4.1.0-cdh5.5.2
chmod 777 oozie-server -R
chmod 777 ext-2.2 -R
13. 初始化数据库。
cd /home/oozie-4.1.0-cdh5.5.2
bin/ooziedb.sh create -sqlfile oozie.sql -runDB Connection
14. 开启oozie实例。
bin/oozied.sh start
15. 运行oozie。
bin/oozied.sh run &
有部分报错的,但是进程和界面都正常(看报错有端口11000冲突,还以只要start就可以了,重启时可以确认下):
root@node1:/home/oozie-4.1.0-cdh5.5.2# bin/oozied.sh run &
[1] 8298
root@node1:/home/oozie-4.1.0-cdh5.5.2#
Setting OOZIE_HOME: /home/oozie-4.1.0-cdh5.5.2
Setting OOZIE_CONFIG: /home/oozie-4.1.0-cdh5.5.2/conf
Sourcing: /home/oozie-4.1.0-cdh5.5.2/conf/oozie-env.sh
setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
Setting OOZIE_CONFIG_FILE: oozie-site.xml
Setting OOZIE_DATA: /home/oozie-4.1.0-cdh5.5.2/data
Setting OOZIE_LOG: /home/oozie-4.1.0-cdh5.5.2/logs
Setting OOZIE_LOG4J_FILE: oozie-log4j.properties
Setting OOZIE_LOG4J_RELOAD: 10
Setting OOZIE_HTTP_HOSTNAME: node1
Setting OOZIE_HTTP_PORT: 11000
Setting OOZIE_ADMIN_PORT: 11001
Setting OOZIE_HTTPS_PORT: 11443
Setting OOZIE_BASE_URL: http://node1:11000/oozie
Setting CATALINA_BASE: /home/oozie-4.1.0-cdh5.5.2/oozie-server
Setting OOZIE_HTTPS_KEYSTORE_FILE: /root/.keystore
Setting OOZIE_HTTPS_KEYSTORE_PASS: password
Setting OOZIE_INSTANCE_ID: node1
Setting CATALINA_OUT: /home/oozie-4.1.0-cdh5.5.2/logs/catalina.out
Setting CATALINA_PID: /home/oozie-4.1.0-cdh5.5.2/oozie-server/temp/oozie.pid
Using CATALINA_OPTS: -Xmx1024m -Dderby.stream.error.file=/home/oozie-4.1.0-cdh5.5.2/logs/derby.log
Adding to CATALINA_OPTS: -Doozie.home.dir=/home/oozie-4.1.0-cdh5.5.2 -Doozie.config.dir=/home/oozie-4.1.0-cdh5.5.2/conf -Doozie.log.dir=/home/oozie-4.1.0-cdh5.5.2/logs -Doozie.data.dir=/home/oozie-4.1.0-cdh5.5.2/data -Doozie.instance.id=node1 -Doozie.config.file=oozie-site.xml -Doozie.log4j.file=oozie-log4j.properties -Doozie.log4j.reload=10 -Doozie.http.hostname=node1 -Doozie.admin.port=11001 -Doozie.http.port=11000 -Doozie.https.port=11443 -Doozie.base.url=http://node1:11000/oozie -Doozie.https.keystore.file=/root/.keystore -Doozie.https.keystore.pass=password -Djava.library.path=
Using CATALINA_BASE: /home/oozie-4.1.0-cdh5.5.2/oozie-server
Using CATALINA_HOME: /home/oozie-4.1.0-cdh5.5.2/oozie-server
Using CATALINA_TMPDIR: /home/oozie-4.1.0-cdh5.5.2/oozie-server/temp
Using JRE_HOME: /root/jdk1.8.0_131/jre
Using CLASSPATH: /home/oozie-4.1.0-cdh5.5.2/oozie-server/bin/bootstrap.jar
Using CATALINA_PID: /home/oozie-4.1.0-cdh5.5.2/oozie-server/temp/oozie.pid
Nov 17, 2017 1:33:46 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
Nov 17, 2017 1:33:47 AM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use (Bind failed) :11000
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:182)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1123)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:843)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
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 org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at java.net.ServerSocket.(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
... 12 more
Nov 17, 2017 1:33:47 AM org.apache.catalina.core.StandardService initialize
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-11000]]
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use (Bind failed) :11000
at org.apache.catalina.connector.Connector.initialize(Connector.java:1125)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:843)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
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 org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Nov 17, 2017 1:33:47 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1368 ms
Nov 17, 2017 1:33:47 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2017 1:33:47 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.44
Nov 17, 2017 1:33:47 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor oozie.xml
Nov 17, 2017 1:33:47 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/home/oozie-4.1.0-cdh5.5.2/oozie-server/webapps/oozie/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Fri Nov 17 01:33:49 PST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Fri Nov 17 01:33:49 PST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Nov 17, 2017 1:33:51 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Nov 17, 2017 1:33:51 AM org.apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
java.net.BindException: Address already in use (Bind failed) :11000
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:565)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:209)
at org.apache.catalina.connector.Connector.start(Connector.java:1196)
at org.apache.catalina.core.StandardService.start(StandardService.java:540)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at java.net.ServerSocket.(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
... 12 more
Nov 17, 2017 1:33:51 AM org.apache.catalina.core.StandardService start
SEVERE: Failed to start connector [Connector[HTTP/1.1-11000]]
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Address already in use (Bind failed) :11000
at org.apache.catalina.connector.Connector.start(Connector.java:1203)
at org.apache.catalina.core.StandardService.start(StandardService.java:540)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Nov 17, 2017 1:33:51 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4460 ms
Nov 17, 2017 1:33:51 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[11001]:
java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:404)
at org.apache.catalina.startup.Catalina.await(Catalina.java:676)
at org.apache.catalina.startup.Catalina.start(Catalina.java:628)
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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Nov 17, 2017 1:33:51 AM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-11000
Nov 17, 2017 1:33:52 AM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/oozie] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/oozie] appears to have started a thread named [FileWatchdog] but has failed to stop it. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/oozie] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/oozie] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/oozie] appears to have started a thread named [IPC Client (1056185446) connection to node1/192.168.209.131:8020 from root] but has failed to stop it. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/oozie] appears to have started a thread named [IPC Parameter Sending Thread #0] but has failed to stop it. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/oozie] created a ThreadLocal with key of type [org.apache.oozie.util.XLog$Info$1] (value [org.apache.oozie.util.XLog$Info$1@7abe27bf]) and a value of type [org.apache.oozie.util.XLog.Info] (value [org.apache.oozie.util.XLog$Info@5b94ccbc]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/oozie] created a ThreadLocal with key of type [org.apache.hadoop.io.Text$1] (value [org.apache.hadoop.io.Text$1@38a1c423]) and a value of type [sun.nio.cs.UTF_8.Encoder] (value [sun.nio.cs.UTF_8$Encoder@336365bc]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Nov 17, 2017 1:33:52 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/oozie] created a ThreadLocal with key of type [org.apache.hadoop.hdfs.DFSUtil$1] (value [org.apache.hadoop.hdfs.DFSUtil$1@38eb2fb0]) and a value of type [java.util.Random] (value [java.util.Random@4567e53d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Nov 17, 2017 1:33:53 AM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-11000
Nov 17, 2017 1:33:54 AM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load org.apache.hadoop.util.ShutdownHookManager$2. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1566)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.hadoop.util.ShutdownHookManager.getShutdownHooksInOrder(ShutdownHookManager.java:124)
at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:52)
Exception in thread "Thread-17" java.lang.NoClassDefFoundError: org/apache/hadoop/util/ShutdownHookManager$2
at org.apache.hadoop.util.ShutdownHookManager.getShutdownHooksInOrder(ShutdownHookManager.java:124)
at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:52)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.ShutdownHookManager$2
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 2 more
16. 检查进程和界面: