实验性操作是在虚拟机里进行的,除了搭建hadoop本身的操作之外,遇到的其它问题总结如下:
1. 虚拟机挂载windows磁盘: 添加硬件,要保证该硬件此时没有被读写访问等,因为挂载后,该磁盘在宿主机上就不能用了。启动虚拟机linux,执行 fdisk –l 查看windows磁盘的分区,如/dev/sdb2,然后执行挂载命令: mount /dev/sdb2 /mnt/win/ 然后就可以到/mnt/win目录下访问磁盘上的内容了
2. hadoop启动时如果报错,提示JAVA_HOME is not set,请设置好java的环境变量,如果设置了还有提示,那么注意把$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件中的JAVA_HOME=${JAVA_HOME}替换成绝对路径即可
3. 永久修改linux主机名的方式为,编辑/etc/hostname文件,直接修改,然后将/etc/hosts文件(注意是hosts文件不是host文件)中对应的主机名也改成目标名称,最后重启系统即可。此后为了在浏览器中方便查看虚拟机中集群的hadoop及yarn后台的web页面,建议把新主机名与对应的局域网ip在windows的system32/drivers/etc/host文件中作一份映射
4. 在生成免密登录的ssh_key时,需要在~/.ssh/目录下创建一个名为“authorized_keys”的文件,然后将密钥文件(id_rsa.pub)中的内容复制到authorized_keys文件中以进行授权
5. ubuntu中启用超级用户的方式是为root用户分配一个有效的密码: sudo passwd root
6. 创建用户
sudo useradd -m s2 -s /bin/bash
usermod -G root s2
adduser s2 sudo
7. 删除用户
userdel s1
cd /home & rm -rf s1
8. 网卡配置
(1).在windows中将宿主机网卡启用共享,共享给vmnet8虚拟网卡,手动指定ip,如:192.168.10.1
(2).选中虚拟客户机——设置网络——选择NAT
(3). vmware编辑-虚拟网络编辑器-选择VMnet8(分配固定ip,不选择dhcp),可手动指定子网地址和掩码,如:192.168.10.0/255.255.255.0。点击“NAT设置”,记住网关或手动分配网关如:192.168.10.2
(4). 启动客户机,ping 192.168.10.2(网关),此时无法ping通。分配永久静态ip:
sudo vim /etc/network/interfaces
文件中,除了lo网卡外,下面的那个一般就是是你当前网卡,如eth0,可做如下配置:
1 auto eth0 2 iface eth0 inet static 3 address 192.168.10.11 4 gateway 192.168.10.2 5 netmask 255.255.255.0
6 dns-nameservers 114.114.114.114然后,使网卡配置生效:
sudo /etc/init.d/networking restart
再ping网关:ping 192.168.10.2,此时就可以ping通了,当前主机也被分配了192.168.10.11的固定ip地址,可使用ifconfig查看
9. 注意ubuntu server中master节点及slave节点间如果有防火墙导致无法telnet,则防火墙也需要关闭: 参考 linux防火墙,此外,要保证telnet服务是正常启动的,可以用telnet localhost 23 来测试telnet服务是否正常,若不正常,请参考:linux开启telnet服务
如果datanode节点无法连接master主机的9000端口,请在master主机上,使用netstat –apn | grep 9000 命令检查该端口是否处于监听状态,以及对应的ip地址是不是master的ip地址(有可能被hosts文件改了)
详细搭建步骤参考:
Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
安装vmtools及设置共享目录,参考: 在VMWare上搭建centos虚拟机集群