hdfs HA配置整理


三台机器,每台机器1G内存,1个核,20G硬盘
配置有点菜,将就着练习用吧

core-site.xml

<configuration>
<!-- uri的权限用于确定文件系统的主机、端口等 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://my-xiaohai</value>
</property>
<!-- 其他临时目录的基础 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/bigdata/hadoop-2.7.5/data/tmp</value>
</property>
<!-- 以分钟为单位的垃圾回收时间24*60*3 -->
<property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>
<!-- zk集群 -->
<property>
    <name>ha.zookeeper.quorum</name>
    <value>Master:2181,Slave1:2181,Slave2:2181</value>
</property>
<!-- 用于浏览hdfs web UI的用户 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>luohaifang</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.hue.hosts</name>
    <value>*</value>
</property>
<!--  -->
<property>
    <name>hadoop.proxyuser.hue.groups</name>
    <value>*</value>
</property>

</configuration>

hdfs-site.xml

<configuration>
<!-- 用逗号分隔的名称服务列表 -->
<property>
    <name>dfs.nameservices</name>
    <value>my-xiaohai</value>
</property>
<!-- 使用“mycluster”作为nameservice ID,并且希望使用“nn1”和“nn2”作为namenode的单独ID,那么您需要配置一个属性dfs.ha.namenode .mycluster,以及它的值“nn1,nn2” -->
<property>
    <name>dfs.ha.namenodes.my-xiaohai</name>
    <value>nn1,nn2</value>
</property>
<!-- NameNode要监听的辅助端口列表,以逗号分隔。这允许向客户端公开多个NN地址。特别是,它用于在不同的端口上强制执行不同的SASL级别。空列表表示辅助端口被禁用,分别配置两个高可用节点,包括rpc和http
RPC是基于TCP/IP协议的,RPC(远程服务调用).8020是namenode节点active状态下的端口号 -->
<property>
    <name>dfs.namenode.rpc-address.my-xiaohai.nn1</name>
    <value>Master:8020</value>
</property>
<!--  -->
<property>
    <name>dfs.namenode.rpc-address.my-xiaohai.nn2</name>
    <value>Slave1:8020</value>
</property>
<!-- HTTP服务是基于HTTP协议的,50070是访问hadoop集群文件系统的web端口 -->
<property>
    <name>dfs.namenode.http-address.my-xiaohai.nn1</name>
    <value>Master:50070</value>
</property>
<!--  -->
<property>
    <name>dfs.namenode.http-address.my-xiaohai.nn2</name>
    <value>Slave1:50070</value>
</property>
<!-- HA集群中多个namenode之间共享存储上的一个目录。该目录将由活动服务器写入,由备用服务器读取,以保持名称空间的同步。这个目录不需要在上面的dfs.namenode.edit .dir中列出。在非ha集群中,它应该是空的 -->
<property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://Master:8485;Slave1:8485;Slave2:8485/my-xiaohai</value>
</property>
<!-- 存储日志编辑文件的目录 -->
<property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/bigdata/hadoop-2.7.5/data/jn</value>
</property>
<!-- 当活跃的namenode挂掉时,通过这个方式把备用的namenode启起来 -->
<property>
    <name>dfs.client.failover.proxy.provider.my-xiaohai</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- HDFSHA功能的防脑裂方法。保证NN中仅一个是Active的,如果2者都是Active的,新的会把旧的强制Kill -->
<property>
    <name>dfs.ha.fencing.methods</name>
    <value>sshfence</value>
</property>
<!-- 秘钥存在的文件,当其中一个namenode挂掉时,启动另外一个namenode,需要免密连接 -->
<property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/root/.ssh/id_rsa</value>
</property>
<!-- 故障转移启动,开启自动故障转移 -->
<property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
</property>
<!-- 文件副本数 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- 访问namenode的hdfs使用50070端口,访问datanode的webhdfs使用50075端口。访问文件、文件夹信息使用namenode的IP50070端口,访问文件内容或者进行打开、上传、修改、下载等操作使用datanode的IP50075端口。要想不区分端口,直接使用namenode的IP和端口进行所有的webhdfs操作,就需要在所有的datanode上都设置hefs-site.xml中的dfs.webhdfs.enabled为true -->
<property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>

</configuration>

hdfs启动

1、先启动每台机器的JournalNode

./hadoop-daemon.sh start journalnode

2、格式化hdfs

hdfs namenode -format

3、启动第一台NameNode

./hadoop-daemon.sh start namenode

4、启动第二台NameNode

hdfs namenode -bootstrapStandby

5、启动ZK

./zkServer.sh start

6、格式化ZKFC

hdfs zkfc -formatZK

7、启动hdfs的其他进程

./start-dfs.sh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值