搭建hadoop集群注意事项

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

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

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

电脑配置:ubuntu

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

虚拟机的选择windows

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

linux系统的选择:ssh

我选择的是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。

若是有错误,欢迎你们指出~