启动 NameNode 和 DataNode
登录 hadoop1,执行下面命令:
start-dfs.sh
执行结果如下:
Starting namenodes on [hadoop1]
上一次登录:一 9月 20 19:47:49 CST 2021从 192.168.58.1pts/0 上
Starting datanodes
上一次登录:一 9月 20 21:49:22 CST 2021pts/0 上
hadoop3: WARNING: /program/hadoop-3.0.3//logs does not exist. Creating.
hadoop2: WARNING: /program/hadoop-3.0.3//logs does not exist. Creating.
Starting secondary namenodes [hadoop3]
上一次登录:一 9月 20 21:49:25 CST 2021pts/0 上
启动 namenodes 在 hadoop1
启动 datanodes 在 hadoop3、hadoop2
启动 secondary 在 hadoop3
停止 NameNode 和 DataNode
stop-dfs.sh
启动 yarn
注意: 因为 resourcemanager 部署在 hadoop2 上,所以要登录 hadoop2
执行下面命令:
start-yarn.sh
报错
如果不在 hadoop2 上启动 yarn,在 logs/hadoop-root-resourcemanager-hadoop2.log 报错如下:
java.net.BindException: Port in use: hadoop102:8088
at org.apache.hadoop.http.HttpServer2.constructBindException(HttpServer2.java:1140)
at org.apache.hadoop.http.HttpServer2.bindForSinglePort(HttpServer2.java:1162)
at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:1221)
at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:1076)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:408)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.startWepApp(ResourceManager.java:1137)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceStart(ResourceManager.java:1245)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:1446)
Caused by: java.net.BindException: 无法指定被请求的地址
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)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:317)
at org.apache.hadoop.http.HttpServer2.bindListener(HttpServer2.java:1127)
at org.apache.hadoop.http.HttpServer2.bindForSinglePort(HttpServer2.java:1158)
... 7 more
错误提示 8088 端口占用,但经过查找,没有占用该端口
停止 yarn
stop-yarn.sh
jps查看是否启动成功
jps是jdk命令
登录 hadoop1
jps
显示如下:
39041 DataNode
42165 Jps
42006 NodeManager
38860 NameNode
表示启动成功
登录 hadoop2
jps
显示如下:
15713 DataNode
27858 Jps
27463 NodeManager
27292 ResourceManager
表示启动成功
登录 hadoop3
jps
显示如下:
5265 Jps
3893 SecondaryNameNode
5109 NodeManager
3789 DataNode
表示启动成功