1.停掉HDFS,备份关键数据
2.需要备份的数据主要包括
配置文件:${hadoop_home}/conf目录下的所有配置文件
元数据文件:配置文件hdfs-site.xml中的属性“dfs.name.dir”指定的目录下的文件
3.下载最新稳定版的hadoop 2.4.1版本,并解压到与现有hadoop同级的目录下。
说明:旧版的配置文件备份成功后,就不再需要和旧版的hadoop打交道了,下面的所有操作都是在新版的hadoop目录下进行的。
4. 修改配置文件:
core-site.xml
fs.default.name
hdfs://192.168.16.241:9000
hadoop.tmp.dir
/disk_c1/hadoop_base2/tmp
true
fs.trash.root
/disk_c1/hadoop_base2/tmp/Trash
io.compression.codecs
org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzopCodec
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
hdfs-site.xml
dfs.replication
1
dfs.name.dir
/disk_c1/hadoop_base2/hdfs/name
true
dfs.data.dir
/disk_c1/hadoop_base2/hdfs/data
true
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
mapred-site.xml
mapreduce.framework.name
yarn
设定hadoop-env.sh中的JAVA_HOME变量
5.进行HDFS升级:sbin/start-dfs.sh –upgrade
6.确定升级成功,可以使用:bin/hadoop dfsadmin –finalizeUpgrade 最终提交升级
7.至此HDFS升级已经完成,MapReduce无需升级,只需要将原有的代码用2.4.1版本重新编译即可。
8.启动Yarn服务: sbin/start-yarn.sh
9.下面可以通过hadoop自带的例子验证安装是否正确。
10.在hadoop-2.4.1的根目录下执行:
$mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
$ cat output/* //如果文件中有内容,则认为升级成功.