💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 环境搭建 ![](https://img.kancloud.cn/2f/72/2f72babefdb1f1418d10d2a4d3cfde8d_864x571.png) > 根据官网填写这两个文件配置之后,就可以启动。 ``` [bizzbee@tencent2 sbin]$ jps 9984 NameNode 27617 ResourceManager 28002 Jps 10092 DataNode 27709 NodeManager ``` ## 在yarn启动后,遇到的问题。 ### 1. 执行mapreduce自带的example 的时候,遇到的拒绝连接的问题。 * 这个问题弄了好几天,最终确定应该是云服务器配置不够导致执行的时候 namenode挂掉了。 * namenode挂掉了,所以连接失败了。目前我市那么认为的。 ### 2. 然后使用win虚拟机重新搭建了系统。 * 系统是centos7 ,网络已开始没有网,详情看VM虚拟机联网的问题那一篇。 * centos重启之后默认网络是关闭的,所以需要设置重启后也开启网络。 ![](https://img.kancloud.cn/d4/1d/d41d071ba9d48946f8e4fa1c3b43e789_891x2178.png) * 也是记得关闭防火墙,并且设置重启后也关闭防火墙。 ### 3. 打包本地项目到服务器上跑。 * 到项目的根目录,也就是pom.xml文件所在的目录。执行打包命令`mvn clean package -DskipTests` ![](https://img.kancloud.cn/dc/5a/dc5a81b37ad56a67b9ddf92f09228240_743x290.png) * 进入到target目录,把生成的jar包上传服务器。(我之前居然不知道scp命令。) `scp hadoop-train-v2-1.0-SNAPSHOT.jar bizzbee@192.168.31.249:~/work/` * 然后在服务器上执行运行jar 包命令。(有一些准备,比如测试文件之类的要上传好。) ``` hadoop jar hadoop-train-v2-1.0-SNAPSHOT.jar com.bizzbee.bigdata.hadoop.mr.access.AccessYranApp /bizzbee/input/access.log /bizzbee/output/access.resu ``` * 注意!!有可能出现报错。 ``` 19/10/15 21:38:08 INFO mapreduce.Job: map 0% reduce 0% 19/10/15 21:38:17 INFO mapreduce.Job: map 100% reduce 0% 19/10/15 21:38:19 INFO mapreduce.Job: Task Id : attempt_1571141976287_0003_r_000000_3, Status : FAILED Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#5 at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134) at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:376) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) 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:1924) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out. at org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.checkReducerHealth(ShuffleSchedulerImpl.java:392) at org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.copyFailed(ShuffleSchedulerImpl.java:307) at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:366) at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:198) ``` * 原因和解决办法如下。 ![](https://img.kancloud.cn/6a/e8/6ae8af7e0370f24972b55e227e2d49ee_978x1224.png) * 总结一下是因为`haddop.tmp.dir`是自定义的,而`yarn.nodemanager.local-dirs`的路径应该在`haddop.tmp.dir`里面,如截图所示。如果不添加的话,用系统默认的地址,就不再`haddop.tmp.dir`的里面了。