一.Hadoop

hadoop集群:通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个hadoop分布式集群。可以通过虚拟机来实施集群环境来模拟物理节点。

二.前提条件

电脑配置:需在4G,最好8G、16G。

前提条件:安装Vmware,并安装三台linux系统(可通过复制实现安装)。

三个结点:按照hadoop集群的基本要求,其中一个是master结点,主要是用于运行hadoop程序中的namenode、secondorynamenode和jobtracker任务。用外两个结点均为slave结点,其中一个是用于冗余目的,如果没有冗余,就不能称之为hadoop了,所以模拟hadoop集群至少要有3个结点,如果电脑配置非常高,可以考虑增加一些其它的结点。slave结点主要将运行hadoop程序中的datanode和tasktracker任务。

三.安装Hadoop

1. 为三个结点主机重命名(因为,若系统是复制的,那么它们会有相同的名字,所以要重命名)

文件系统->etc/sysconfig/中的network文件打开,修改其中的HOSTNAME,如:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_hadoop

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_hadoop_02

重启电脑即可(可分别命名为master、salve1、salve2)。

2、ip地址的配置,以便能够访问。

右键网络连接->属性:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_hadoop_03

配置->配置:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_04

双击第二个:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_05

对“静态设置的IP地址”中的d/s进行配置。修改保存后,激活即可(重启)。

3. 建立hadoop组和zhm用户(三个结点上建立相同的用户名,并设计zhm密码)

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_06

普通用户如何具有admin的权限?

4. 配置SSH免密码连接

       SSH主要通过RSA算法来产生公钥与私钥,在数据传输过程中对数据进行加密来保障数

据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,私钥主要用于对数据进行加密,以防他人盗取数据。总而言之,这是一种非对称算法,想要破解还是非常有难度的。Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然,如果hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。

Step1:

首先,master结点上产生公私密钥:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_结点_07

 回车(三四个回车)后:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_结点_08

以上命令是产生公私密钥,产生目录在用户主目录下的.ssh目录中,如下:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_09

Id_rsa.pub为公钥,id_rsa为私钥(rsa或dsa),紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_10

其次,在其它两个结点上,也做上述操作。

Step2:单击回环SSH免密码登陆测试

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_11

显示信息可能不同,一般有|“Last login”等信息。能不输密码就登陆说明到目前位置是成功的。

Step3:master通过SSH免密码登录其它结点。

为实现该功能,需要将master结点的公钥信息复制到slave结点的公钥文件中。首先,slave1系统中终端,进入.ssh文件下:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_结点_12

然后,salve1通过scp命令远程登陆master结点, 复制master的公钥文件到当前目录下,即:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_13

接着,将master结点的公钥文件追加到authorized_keys文件中,即:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_hadoop_14

接下来,测试。master结点中做如下操作:

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_Hadoop_15

再执行一次“ssh node1”或“ssh salve1”,若不要求输入“yes”,直接显示“last login”等信息,说明配置成功。

下一步,对salve2结点进行上述同样的操作,并测试,master是否能免密码登陆到salve2。

最后,对master结点也做上述操作。据说是真实物理结点时需要做这项工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。

Spark集群 小型HAdoop 节点数量 hadoop的节点个数_hadoop_16

测试,OK。