1、配置log的路径(可选)
etc/Hadoop/hadoop-env.sh
export HADOOP_LOG_DIR=/home/ziang/DfsDataDir/hdpcdh4/logs
export JAVA_HOME=/home/ziang/software/jdk1.7.0_05
log=$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-$command.out
2、配置log文件的名字,使其没有hostname字符串。(可选)
sbin/hadoop-daemon.sh
export HADOOP_LOGFILE=hadoop-$HADOOP_IDENT_STRING-$command.log
3、配置etc/hadoop/core-site.xml
<property>
<name>fs.defaUltFS</name>
<value>hdfs://hdpcdh4</value>
</property>
4、配置etc/hadoop/hdfs-site.xml
<description>必须与core-site.xml中的配置一致</description> <name>dfs.nameservices</name> <value>hdpcdh4</value> </property> <property> <description>多个NN</description> <name>dfs.ha.namenodes.hdpcdh4</name> <value>nn1,nn2</value> </property> <property> <description>第一个NN的rpc端口配置</description> <name>dfs.namenode.rpc-address.hdpcdh4.nn1</name> <value>dw13:31313</value> </property> <property> <description>第一个NN的http端口配置</description> <name>dfs.namenode.http-address.hdpcdh4.nn1</name> <value>dw13:31314</value> </property> <property> <description>第二个NN的rpc端口配置</description> <name>dfs.namenode.rpc-address.hdpcdh4.nn2</name> <value>dw23:31313</value> </property> <property> <description>第二个NN的http端口配置</description> <name>dfs.namenode.http-address.hdpcdh4.nn2</name> <value>dw23:31314</value> </property> <property> <description>第一个NN和第二个NN共享的Edit目录</description> <name>dfs.namenode.shared.edits.dir</name> <value>file:///home/ziang/NameNodeEdit</value> </property> |
<property> <description>client的failover代理配置</description> <name>dfs.client.failover.proxy.provider.hdpcdh4</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <description>各个NN独占的Name目录</description> <name>dfs.name.dir</name> <value>file:///home/ziang/DfsDataDir/hdpcdh4/namenode</value> </property> <property> <description>各个DN的数据存放目录</description> <name>dfs.data.dir</name> <value>file:///home/ziang/DfsDataDir/hdpcdh4/datanode</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.handler.count</name> <value>5</value> </property> <property> <name> dfs.ha.fencing.methods</name > <value> sshfence(ziang)</ value> </property> <property> <name> dfs.ha.fencing.ssh.connect-timeout</name > <value> 3</ value> </property> <property> <name> dfs.ha.fencing.ssh.private-key-files </name> <value> d:/home/ziang/ ssh/id_rsa</value > </property> |
5、格式化及同步两个NN的namespace文件
1、在其中一个NN上执行格式化
sh bin/hdfs namenode -format
2、将格式化数据同步到另一个NN
scp ~/DfsDataDir/hdpcdh4/namenode/current/* dw23:~/DfsDataDir/hdpcdh4/namenode/current/
6、启动Hdfs
sh sbin/start-dfs.sh
此时两个NN都是处于stanby状态,无法提供服务,可以通过DFSHAAdmin来将其中转化为active。