学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

一、Hadoop1.X全分布式搭建

首先还是防火墙、域名映射、JDK检查好。

1、时间同步:date -s "时间"

2、节点间免秘钥。scp id_dsa.pub node04:`pwd`/node01.pub

3、core-site.xml修改下目录(自定义即可与之前的分开,避免数据冲突)

4、hdfs-site.xml 修改。修改副本数量和SecondaryNameNode地址:

5、修改slaves,将DataNode的别名分行放入

6、其他节点如此配置。直接分发过去:scp -r soft node04:`pwd`。

7、NameNode节点格式化:hdfs namenode -format

  启动Hadoop,start-dfs.

1.X全分布式完成。

二、Hadoop2.X

我们依然发现Hadoop1.x存在问题:

hdfs:NameNode有单点故障,难以应用于在线场景。且容易压力过大、内存受限影响扩展性(单点瓶颈)。

map-reduce:

2.X通过两个技术解决上诉hdfs的两个问题。HA解决单点故障,F(federation联邦)解决单点瓶颈。

2.X只有两个节点HA。3.x实现一主多从。

Zookeeper:分布式协调系统。通过zookeeper实现NameNode的主备间的切换。zookeeper给每个namenode都有zkfc进程,监控节点的健康状态。同时进程给zookeeper通讯,刚开始通过注册来获得节点信息并决定主备,zookeeper通过zkfc发现主服务器挂掉,会触发事件并通知从服务器 回调执行client的函数callback 进而完成备-》主切换。

JN:JournalNodes  主NN数据变化后日志产生在JN中,备NN读取JN日志执行,从而保证主从数据一致。JN集群内部数据必须一致。遵循过半原则。

搭建Hadoop2.X流程:

ps,明天搞,睡觉。

1、主备NameNode互相免秘钥:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa产生秘钥。追加到自身验证文件cat id_dsa.pub >> authorized_keys。传送给目标scp id_dsa.pub node01:`pwd`/node02.pub。将秘钥追加至验证文件cat node02.pub >> authorized_keys

2、在/opt/hadoop/etc/hadoop中,修改hdfs-site.xml.

主备NameNode服务名。

在服务名下配置主备NameNode别名。

主备NameNode别名映射到实际服务器(IP+端口)。

http请求访问的通讯端口和地址

此处配置JN集群地址及接口。

JN集群数据产生位置。

此为设置故障转移代理类。

配置隔离。当备切换为主后,原来的主NameNode还原,此会将原来的主进程杀死。

设置自动故障转移。

3、修改core-site.xml文件。

这里的默认主节点配置为主备NameNode的服务名。

配置zookeeper位置。(此时还没有安装,稍后安装)

数据产生位置。

将此配置文件分发给其他三个节点,以分发给node02为例:scp hdfs-site.xml core-site.xml node02:`pwd`

4、安装zookeeper集群。

    1)、先上传并解压至node02,然后配置/etc/profile,node02配置完成分发给Node03、node04.

           2)、将zookeeper安装目录下的conf中的zoo_simple.cfg修改为zoo.cfg.mv zoo_simple.cfg zoo.cfg

且内容中自定义文件目录,默认目录在/tmp中所以修改,

将zookeeper集群配置放入配置文件。2888、与3888分别为zk发送数据与接收数据所用接口。

          3)、node01的zookeeper完成 ,分发给zookeeper集群其他节点。scp -r zookeeper-3.4.6/ node04:`pwd`

       4)、注意,第二点钟配置的目录如果没有记得添加。添加后在zk目录下创建文件并加入对应的server值。与第二点中定义的server值一致, 如node02中,echo 1 > /var/soft/zk/myid

 

 5、启动zookeeper,zkServer.sh start.代表zookeeper启动了。

6、启动jouralnode集群:hadoop-daemon.sh start journalnode。分别在jn集群每一个种都执行。代表启动了。

7、第一次启动Hadoop要进行格式化。hdfs namenode -format

8、在格式化的NameNode中执行。hadoop-daemon.sh start namenode  开启namenode.

9、确保上诉命令启动后,在另一个Namenode(备)执行:hadoop namenode -bootstrapStandby。同步成功,会发现同步另一个nn节点的clusterID 不是秘钥分发,而是同步过来的

10、执行: hdfs zkfc -formatZK  NN向zookeeper集群注册。产生mycluster目录,nn的元数据信息亦通过hadoop-ha/cluster下创建完成。

11、主节点启动:start-dfs.sh.

Hadoop2.X分布式集群完成。关闭:stop-dfs.sh  后关闭zookeeper:zkServer.sh stop.

 

ps:虽然完成,但是很多几点都是重复使用的,如nn、dn、jn、zk。为了明确配置,一定要找机会不重用虚拟机重新部署一遍。

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值