一、Hadoop1.X全分布式搭建

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

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

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

3、core-site.xml修改下目录(自定义即可与之前的分开,避免数据冲突)学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

4、hdfs-site.xml 修改。修改副本数量和SecondaryNameNode地址:学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

5、修改slaves,将DataNode的别名分行放入学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

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

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

  启动Hadoop,start-dfs.

1.X全分布式完成。

二、Hadoop2.X

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

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

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

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

2.X只有两个节点HA。3.x实现一主多从。学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

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

学习Hadoop(二)全分布式Hadoop1.X搭建及2.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-****** -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.

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建主备NameNode服务名。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建在服务名下配置主备NameNode别名。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建主备NameNode别名映射到实际服务器(IP+端口)。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建http请求访问的通讯端口和地址

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建此处配置JN集群地址及接口。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建JN集群数据产生位置。

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

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

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建配置隔离。当备切换为主后,原来的主NameNode还原,此会将原来的主进程杀死。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建设置自动故障转移。

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

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建这里的默认主节点配置为主备NameNode的服务名。

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建配置zookeeper位置。(此时还没有安装,稍后安装)

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建数据产生位置。

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

4、安装zookeeper集群。

    1)、先上传并解压至node02,然后配置/etc/profile,node02配置完成分发给Node03、node04.学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建

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

且内容中学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建自定义文件目录,默认目录在/tmp中所以修改,

学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建将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.学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建代表zookeeper启动了。

6、启动jouralnode集群:hadoop-daemon.sh start journalnode。分别在jn集群每一个种都执行。学习Hadoop(二)全分布式Hadoop1.X搭建及2.X介绍及搭建代表启动了。

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。为了明确配置,一定要找机会不重用虚拟机重新部署一遍。

 

 

 

 

 

 

 

相关文章:

  • 2021-11-19
  • 2022-12-23
  • 2021-10-09
  • 2022-01-18
  • 2021-12-01
  • 2022-03-09
  • 2021-11-28
猜你喜欢
  • 2022-12-23
  • 2021-10-29
  • 2021-11-19
  • 2021-09-30
  • 2021-07-04
  • 2021-05-09
  • 2021-06-28
相关资源
相似解决方案