为了提高动手能力,这学期选了一门课,大数据实践。
从装虚拟机,到配置集群,到装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。
如果有错误,欢迎大家指出~