Spark on YARN环境搭建 联系客服

发布时间 : 星期三 文章Spark on YARN环境搭建更新完毕开始阅读33adada6b1717fd5360cba1aa8114431b90d8e0a

NameNode

NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。 DataNode

DataNode 也是一个通常在 HDFS实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。

DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除和复制块的命令。NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。

2、Namenode的HA 2.1 HDFS的高可用性

HDFSHA的解决方案可谓百花齐放,Linux HA, VMware FT, sharedNAS+NFS, QJM/Quorum Journal Manager, BackupNode等等。目前普遍采用的是shard NAS+NFS,因为简单易用,但是需要提供一个HA的共享存储设备。

Clouera为解决这个问题提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案。 QJM的基本原理就是用2N+1台JournalNode存储EditLog,每次写数据操作有大多数(>=N+1)返回成功时即认为该次写成功,数据不会丢失了。当然这个算法所能容忍的是最多有N台机器挂掉,如果多于N台挂掉,这个算法就失效了。这个原理是基于Paxos算法的,参考http://en.wikipedia.org/wiki/Paxos_(computer_science)。

所以,本HADOOP系统的HA方案采用QJM,基于以上原理,JournalName至少应该为3,这样任意JournalNode的宕机,都不会影响。但是因为当前环境仅有两台服务器,所以两台服务器既做NameNode、也做DataNode、同时还需要做JournalNode,两个NameNode和DataNode停掉任意一个,服务仍然可用,但是JournalNode宕掉任意一台都不行。除非增加JournalNode。

3、hadoop2.6.4完全分布式的安装部署

Centos6.5系统: 64位

3.1修改主机名和/etc/hosts文件

1)修改主机名(非必要)

vi /etc/sysconfig/network

HOSTNAME=master

重启后生效。输入指令hostname 可查看当前主机的名字

2)/etc/hosts是ip地址和其对应主机名文件,使机器知道ip和主机名对应关系,格式如下:

#IPAddress HostName

192.168.1.170master

192.168.1.171slave1

192.168.1.172slave2

注:每台机器都如上操作。

3.2配置免密码登陆SSH

1)生成密钥:在root@master根目录下执行如下语句:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

以上是两个单引号。

2)将id_dsa.pub(公钥)追加到授权的key中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

3)将认证文件复制到其它节点上:

scp ~/.ssh/authorized_keys 用户@主机名:~/.ssh/

例如:scp ~/.ssh/authorized_keys root@slave1:~/.ssh/

时间等效性同步

ssh master date; ssh slave1 date;ssh slave2 date;

4)测试:

ssh 主机名(如:ssh ongmefex54vm12)

第一次要确认连接,输入yes即可。

3.3各节点上安装jdk

注:(如果已经安装jdk请跳过)

1)选择的版本是jdk-8u45-linux-x64.gz 2)上传到root用户目录下,

3)解压:tar vxf jdk-8u45-linux-x64.gz–C/usr/ (解压到usr目录下)

4)配置环境变量:vi /etc/profile加入以下三行