hadoop-hdfs ha的搭建

最近搭建了一个hadoop-hdfs得高可用集群,想来有必要做一个记录,已被后面查看。

第一、首先要规划网络拓扑图

第二、准备环境

1)由于hdfs是Java编写的,所以需要安装jdk,然后配置环境变量

2)第二,由于高可用需要通过zookeeper进行分配起作用,所以需要安装zookeeper集群来实现

3)两个namenode失效需要通过zkfc进行失效切换,这时候需要两台namenode之间可以进行免密进入到对方得系统中进行操作,所以需要互相配置免密登录

第三、搭建zookeeper集群

安装完zookeeper以后需要,进行配置,首先将cp zoo_example.cfg   zoo.cfg ,然后进行配置

dataDir=/var/sxt/hadoop/zk

server.1=192.168.0.104:2888:3888
server.2=192.168.0.107:2888:3888
server.3=192.168.0.108:2888:3888

然后新建目录

mdkir -p   /var/sxt/hadoop/zk
echo   1   > /var/sxt/hadoop/zk/myid

两外两台也这样操作,搭建好zookeeper以后启动,查看zookeeper集群状态

zkServer.sh   status

第四、安装hadoop并且配置

去到官网下载安装包,并且安装编译,

1)安装步骤

./configurate   --prefix=/opt/sxt/

make && make install

2)修改配置文件

将带有env得配置文件中的jdk路劲都修改为绝对路径,

3)修改主要的配置文件搭建高可用得hadoop-hdfs系统

slaves配置如下(这里表示datanode,namenode服务器中都需要配置)


rs2
rs3
rs4

 

首先hdfs-site.xml配置如下

<property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>rs1:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>rs2:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>rs1:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>rs2:50070</value>
</property>


<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://rs1:8485;rs2:8485;rs3:8485/mycluster</value>
</property>

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/var/sxt/hadoop/ha/jn</value>
</property>

<property>
  <name>dfs.client.failover.proxy.provider.mycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

 <property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property>

<property>
  <name>dfs.ha.fencing.ssh.private-key-files</name>
  <value>/root/.ssh/id_dsa</value>
</property>
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

core-site.xml配置文件如下

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://mycluster</value>
    </property>
   <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/sxt/hadoop/ha</value>
    </property>
 <property>
   <name>ha.zookeeper.quorum</name>
   <value>rs2:2181,rs3:2181,rs4:2181</value>
 </property>

第五、启动的顺序

1、首先需要将zookeeper集群启动起来

2

hadoop-daemon.sh start journalnode 
jps
hdfs namenode -format
hadoop-daemon.sh   start namenode
#在另一台namenode上执行下面的这奥命令进行同步
hdfs  namenode -bootStrapStad=ndby

hdfs zkfs  -formatZK


#最后启动hdfs
start-dfs.sh

如果关掉了zkfc,那么启动命令如下

hadoop-daemon.sh  start zkfc

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值