Hadoop集群搭建笔记

首先配置single node,配置如下:

真机操作系统:OS X EI Capitan

虚拟机:VMware Fusion Pro 8.1.0

虚拟机操作系统:CentOS 6.6

JDK:1.8.0_73

Hadoop:2.7.1

1. 安装虚拟机及配置环境

安装完虚拟机,按默认配置即可,因是个人做练习用,选择了直接以root用户(su – root)搭建集群。

安装vim、ssh,service ssh status测试是否ssh服务是否启动。

复制jdk到/usr/java/jvm目录下,并在~/.bashrc中配置java环境变量。

(p.s. 此处踩坑,如果平时开发用root用户,那么在/root/.bashrc中配置java环境变量,如果用其他用户,则在/home//.bashrc中配置。此外,不同于macOS,在~/.bash_profile中配置的话,会出现$JAVA_HOME只在当前session中生效的情况,打开一个新的terminal又需要重新source ~/.bash_profile,目前尚未找到原因。)

完成以上操作后,java -version测试是否配置成功。

配置Hadoop环境,参照Hadoop官网,http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

2. 修改主机名和网络配置

网络连接选择NAT,测试网络是否可用,将虚拟机复制,分别命名为master,host1,host2,host3…

(此处网络配置只以VMware Fusion为例)

回到真机中sudo vim /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf,查看ip range

《Hadoop集群搭建笔记》

然后为几个虚拟机分配固定ip,需在range之外(p.s. 配置时必须保证所有虚拟机处于关机状态,否则不会生效。此外各个虚拟机由于是复制的,因此需要重新生成mac地址。)

《Hadoop集群搭建笔记》

配置完成后重启虚拟机,ifconfig查看ip地址,测试网络连接状态。

打开各个虚拟机terminal,vim /etc/sysconfig/network,配置主机名,如master,host1,host2,host3…….

vim /etc/hosts,填写各个主机和ip的映射。

配置完成后重启虚拟机。

3. 配置ssh

进入master虚拟机,ssh host1,测试是否能否连接。

在master上生成公钥秘钥及authorized_keys,如下图操作:

《Hadoop集群搭建笔记》

在各个host上生成公钥秘钥(只执行第一个命令)。

进入master虚拟机中ssh目录,cd ~/.ssh,sudo scp authorized_keys root@192.163.187.101:~/.ssh/

再执行ssh host1命令,此后不再需要输入密码。

4. 启动所有节点

进入master虚拟机,Hadoop根目录,vim etc/hadoop/slaves,将各个节点填入。

sbin/.stop-all.sh,核对log。

在master虚拟机上通过jps命令查看进程是否启动。

ssh连接各个host从节点,切换到root用户查看进程是否启动。

运行dfs过程中如果出现本地库错误有两种可能的原因:

1. 本地库与操作系统版本不一致

2. glibc版本过低

配置过程中踩到的坑:

1. 切记关闭防火墙

2. hostname和network的配置

3. master和slave互相设置ssh无密码访问,不只是单向设置

4. 三个xml配置文件中要配置路径

    原文作者:LeeOuf
    原文地址: https://www.jianshu.com/p/2721dc1aff7d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞