hadoop 3.2.2 Cluster Setup | hadoop 3.2.2 的集群启动

这学期上了一门关于数据处理的课程,需要使用hadoop,版本为3.2.2(一个在hadoop官网下载链接里面都没有的的旧版本。
但是在我们组的电脑上(manjaro + WSL + VM ware + Virtual box 各种东西齐了)根据官方的教程没有能够成功开启多机的集群(不过启动了单机的伪集群),经过一些分析和上网的查询,发现是自带的bash脚本存在问题,导致启动失败,使用完脚本之后,jps显示并没有启动任务。

换用hdfsyarn 直接启动可以避免这个问题。

在namenode上,使用以下命令:

1
2
3
4
5
6
7
8
9
# 第一行是前台运行,第二行是后台启动,第三行是停止后台的任务。
hdfs namenode
hdfs --daemon start namenode
hdfs --daemon stop namenode

# 第一行是前台运行,第二行是后台启动,第三行是停止后台的任务。
yarn resourcemanager
yarn --daemon start resourcemanager
yarn --daemon stop resourcemanager

在datanode上,使用以下命令:

1
2
3
4
5
6
7
8
9
# 第一行是前台运行,第二行是后台启动,第三行是停止后台的任务。
hdfs datanode
hdfs --daemon start datanode
hdfs --daemon stop datanode

# 第一行是前台运行,第二行是后台启动,第三行是停止后台的任务。
yarn nodemanager
yarn --daemon start nodemanager
yarn --daemon stop nodemanager

个人感觉可以先多开终端前台运行,方便及时看到出现的各种问题:

  1. format格式化出现问题,解决方法:重新format(根据网上的资料,好像要使用Y,而不能是y,必须大写)。这种情况可能在多次失败重启之后发生。
  2. 提示hdfs的文件夹访问失败,解决方法:删除对应的文件夹,然后重新启动。这种情况可能在多次失败重启之后发生。

注意使用虚拟机时,注意对应的IP,端口,hostname的对应关系,如果出现了提示链接失败,无法连接服务器的日志,有可能就是这些地方有问题导致无法访问,当然也可能是对吗服务器的node炸了。可以使用lsof -i 去确认网络连接情况,确认是否端口在listen,对面机器是否有成功连接过。当然,还有可能是防火墙之类的阻断了连接。