zeromax 发表于 2017-12-18 14:55:14

使用zookeeper 配置HDFS(hadoop 分布式文件系统)高可用(三)

  1.安装启动zookeeper
  a)上传解压zookeeper包
  b)# cp zoo_sample.cfg zoo.cfg
  c) # vim zoo.cfg
  dataDir=/opt/data/zookeeper
  server.1=node1:2888:3888
  server.2=node2:2888:3888
  server.3=node3:2888:3888
  这里的node1是自己主机名,可以写ip
  d)分别在node1 node2 node3 的数据目录/opt/data/zookeeper下面创建myid文件,里面写对应server.后面的数字
  # mkdir /opt/data/zookeeper
  # cd /opt/data/zookeeper
  # vim myid
  # cd /opt/soft
  # scp -r zookeeper-3.4.6 root@node2:/opt/soft
  # scp -r zookeeper-3.4.6 root@node3:/opt/soft
  e)配置环境变量并source生效
  # vim /etc/profile
  export ZK_HOME=/opt/soft/zookeeper-3.4.6
  export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin
  # source profile
  2.配置hadoop配置文件(3个节点一致)
  vim etc/hadoop/hdfs-site.xml
  #原来的保留
  <property>
  <name>dfs.nameservices</name>
  <value>sxt</value>
  </property>
  <property>
  <name>dfs.ha.namenodes.sxt</name>
  <value>nn1,nn2</value>
  </property>
  <property>
  <name>dfs.namenode.rpc-address.sxt.nn1</name>
  <value>node1:8020</value>
  </property>
  <property>
  <name>dfs.namenode.rpc-address.sxt.nn2</name>
  <value>node2:8020</value>
  </property>
  <property>
  <name>dfs.namenode.http-address.sxt.nn1</name>
  <value>node1:50070</value>
  </property>
  <property>
  <name>dfs.namenode.http-address.sxt.nn2</name>
  <value>node2:50070</value>
  </property>
  <property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node1:8485;node2:8485;node3:8485/sxt</value>
  </property>
  <property>
  <name>dfs.client.failover.proxy.provider.sxt</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_rsa</value>
  </property>
  <property>
  <name>dfs.ha.automatic-failover.enabled</name>
  <value>true</value>
  </property>
  配置core-site.xml
  vim etc/hadoop/core-site.xml
  #原来的删除
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://sxt</value>
  </property>
  <property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/opt/data/journal</value>
  </property>
  <property>
  <name>ha.zookeeper.quorum</name>
  <value>node1:2181,node2:2181,node3:2181</value>
  </property>
  # scp -r ./* root@cai2:`pwd`
  # scp -r ./* root@cai3:`pwd`
  3.启动所有journalnode
  hadoop-daemon.sh start journalnode
  4.其中一个namenode节点执行格式化
  # 先删除 /opt/data 下的dfs 和data文件
  # hdfs namenode -format
  5.另外一个namenode节点格式化拷贝
  首先要将刚才格式化之后的namenode启动起来
  hadoop-daemon.sh start namenode
  hdfs namenode -bootstrapStandby
  6.上传配置到zookeeper集群
  hdfs zkfc -formatZK
  stop-dfs.sh
  --------------------------------目前已经安装完毕----------------------------------
  以后正常启动顺序如下:
  # zkServer.sh start (所有几点)
  # start-all.sh
  等1分钟
  # jps(所有节点)
  在主从节点中如果namenode或resourcemanager没起来,执行如下命令
  # hadoop-daemon.sh start namenode
  # yarn-daemon.sh start resourcemanager
页: [1]
查看完整版本: 使用zookeeper 配置HDFS(hadoop 分布式文件系统)高可用(三)