为了提升动手能力,这学期选了一门课,大数据实践。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。
若是有错误,欢迎你们指出~