速查:搭建hadoop集群,遇到问题怎么解决(一)。

时间:2022-09-05 11:08:25

为了提高动手能力,这学期选了一门课,大数据实践。

从装虚拟机,到配置集群,到装hadoop,到跑通第一个小程序WordCount,遇到不少大大小小的坑,特别写下一篇博客,记录这些问题以及解决办法,希望能帮助到大家。

首先,整体流程是这样的,需要在windows上下载一个虚拟机VMware,然后在虚拟机里装linux系统,为了搭建集群,我装了3台虚拟机,一个master,两个slave。接着就开始三个虚拟机上的各种配置,装hadoop及配置,尝试跑一个小程序。

电脑配置:

这里主要指内存,为了3台虚拟机都跑起来,至少要8G,不够的可以尝试加个内存条,我就是这么干的。。

虚拟机的选择

一开始,我从官网上选择了VMware Workstation play 12,发现在配置网络时,找不到【虚拟机网络编辑器】。关于这个问题,网上有说需要下载什么插件才能显示。怎么能那么麻烦呢!卸!重新选择了VMware Workstation 11,一路顺畅的不得了。有人说出现了卸载不干净的问题,可以下载一个vmware_install_cleaner帮助删除虚拟机。

linux系统的选择:

我选择的是CentOS7,也有很多人有ubuntu,这个看个人喜好,有些命令会些许不同,没有什么大影响。

安装过程:

1.  安装CentOS时,尽量选择窗口界面,对新手来说,方便操作。

2.  安装samba,这样在windows上通过\\192.168.***.***(虚拟机上Linux系统的IP地址)可直接操作linuxsir。

3.  安装ssh,无密码登陆,这样可以利用远程的工具如putty、xshell等直接对虚拟机进行操作。

4.  如果遇到No Route To Host这样的错误提示,一般是防火墙没有关,master和2个slave的防火墙都需要关闭,CentOS7关闭防火墙的命令是:systemctl stop firewalld.service,如果是查看防火墙状态,用:firewall -cmd --state,如果出现not running,就代表防火墙已经关闭。或者查看/etc/hosts和/etc/hostname里主机IP地址和主机名是否写正确。

5.  启动hadoop集群时,如果slave上没有datanode进程,可以这么做:

    首先停止hadoop,执行命令./stop-yarn.sh和./stop-dfs.sh;

    接着把3台机器/tmp下所有文件都删除,按照我的路径执行的命令是:rm -rf /opt/linuxsir/hadoop/tmp/*;

    接着格式化HDFS文件系统:cd /opt/linuxsir/hadoop/bin  ./hdfs namenode -format;

    记得把msater上的配置文件一有任何修改,都要传到slave1和slave2上:

            scp -r /opt/linuxsir/hadoop/etc/hadoop/* hd-slave1:/opt/linuxsir/hadoop/etc/hadoop

            scp -r /opt/linuxsir/hadoop/etc/hadoop/* hd-slave2:/opt/linuxsir/hadoop/etc/hadoop;

    接着启动hadoop:

             cd /opt/linuxsir/hadoop/sbin 

             ./start-dfs.sh  

            ./start-yarn.sh;

    再查看各节点jps,就可以看见datanode进程了。

暂时解决的问题就这么多,还有的问题还没被解决。。

后面会继续更新遇到的问题,以及如何跑通WordCount。

如果有错误,欢迎大家指出~