Hadoop HA集群增加journalnode节点

Hadoop HA集群增加journalnode节点,第1张

客户要求要回收一批hadoop集群的一批服务器,万幸namenode和resourcemanager服务没有安装在这批服务器上,但不巧的是3个journalnode节点都在这批服务器上,所以暂时先增加3个journalnode节点,等到回收服务器的时候,再把原来的journalnode节点下线,记录一下操作

1修改hdfs-sitexml配置文件

原配置为:

修改为:

2分发hdfs-sitexml文件到各节点

3将原journalnode上的edits文件scp到新的journalnode节点

从hdfs-sitexml文件中的dfsjournalnodeeditsdir配置项得到edits文件存储路径,scp到新节点的相同路径,注意权限和属主要相同,可以用scp -rp来复制

4新journalnode节点启动journalnode进程

jps检查是否启动成功,如果失败就去看$HADOOP_HOME/logs下的journalnode相关的日志,讲道理应该没什么问题

5把standby(nn2)节点的namenode重启一下

6切换standby节点为active

7重启standby(nn1)节点的namenode

操作同5,完成后web界面应该可以看到NameNode Journal Status的journalnode已扩展完成

1)将虚拟机A1和B1的网络连接设置成桥接(估计你目前是NAT模式),2)在A1下配置网络,配置可参考A(Win7),除IP不同,其它如子网掩码,

默认网关或者DNS服务器都相同,

在B1下配置网络,配置可参考B(Win7),除IP不同,其它如子网掩码,

默认网关或者DNS服务器都相同,

(1)journalnode:使两个namenode之间的数据实现共享(hadoop层面的)。系统层面的是NFS。

(2)zookeeper:实现namenode的切换,确保集群只有一个active

(3)格式化zkfc,让在zookeeper中生成ha节点

 (4)格式化nn:就是格式化hdfs

与普通文件系统一样,HDFS文件系统必须要先格式化,创建元数据数据结构以后才能使用。

(5)conf下的一些配置文件的作用

hadoop-envsh:用于定义hadoop运行环境相关的配置信息,比如配置JAVA_HOME环境变量、为hadoop的JVM指定特定的选项、指定日志文件所在的目录路径以及master和slave文件的位置等;

core-sitexml: 用于定义系统级别的参数,它作用于全部进程及客户端,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等,此中的参数定义会覆盖core-defaultxml文件中的默认配置;

hdfs-sitexml: HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等,此中的参数定义会覆盖hdfs-defaultxml文件中的默认配置;

mapred-sitexml:mapreduce的相关设定,如reduce任务的默认个数、任务所能够使用内存的默认上下限等,此中的参数定义会覆盖mapred-defaultxml文件中的默认配置;

masters: hadoop的secondary-masters主机列表,当启动Hadoop时,其会在当前主机上启动NameNode和JobTracker,然后通过SSH连接此文件中的主机以作为备用NameNode;

slaves:Hadoop集群的slave(datanode)和tasktracker的主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和taskTracker进程;

Hadoop-metrics2properties:控制metrics在hadoop上如何发布属性

Log4jproperties:系统日志文件、namenode审计日志、tarsktracker子进程的任务日志属性

(6)hadooptmpdir属性用于定义Hadoop的临时目录,其默认为/tmp/hadoop-${username}。HDFS进程的许多目录默认都在此目录中,/hadoop/tmp目录,需要注意的是,要保证运行Hadoop进程的用户对其具有全部访问权限。

fsdefaultname属性用于定义HDFS的名称节点和其默认的文件系统,其值是一个URI,即NameNode的RPC服务器监听的地址(可以是主机名)和端口(默认为8020)。其默认值为file:///,即本地文件系统。

dfsnamedir属性定义的HDFS元数据持久存储路径,默认为${hadooptmpdir}/dfs/name

dfsreplication属性定义保存副本的数量,默认是保存3份,由于这里只有两台slave。所以设置2。

(7)可以通过修改下面几个参数对集群读写性能进行优化

dfsdatanodehandlercount(加大)DN的服务线程数。这些线程仅用于接收请求,处理业务命令

dfsnamenodehandlercount(加大)  NN的服务线程数。用于处理RPC请求

dfsnamenodeavoidreadstaledatanode(true)决定是否避开从脏DN上读数据。脏DN指在一个指定的时间间隔内没有收到心跳信息。脏DN将被移到可以读取(写入)节点列表的尾端。尝试开启

dfsnamenodeavoidwritestaledatanode(true)  和上面相似,是为了避免向脏DN写数据

如果要做Apache Hadoop集群,需要4-6个1TB的硬盘去支撑I\O读写,2-4个2-25Ghz的处理器,处理数据更快,最好用英特尔E3\5服务器专用处理器,内存越大越好,起步64GB,千兆或万兆的以太网,有保障额哦,吞吐量随着储存而变化,需要的以太网越高,就这些,希望可以采纳我的答案

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Hadoop HA集群增加journalnode节点

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情