折腾了一天,
装0.23的hdfs。
版本是0.23.1
官方文档写的这个是alpha,折腾了一下午,这个尼玛果然是alpha,一堆东西有问题。
废话少说,直入主题。
首先是下载官网上的安装包。
官网上也推荐把hdfs、mapred、yarn三个帐号分开。
配置ssh这里就不说了。
0.23的目录结构跟0.20.2比改动很大,这里大概说明下:
1,首先所有的配置文件都在HADOOP_HOME/etc/hadoop下。
2,原来的bin目录拆成了bin和sbin两个。
3,这个版本里面HADOOP_HOME/etc/hadoop下只有yarn-env.sh,而没有hadoop-env.sh,
需要拷贝yarn-env.sh成hadoop-env.sh,要不然起不来,这个应该是bug吧。
主要问题集中在配置文件上。
1,在自己建的hadoop_env.sh中配置JAVA_HOME环境变量。
2,配置hdfs-site.sh
刚开始思路有点混乱,总的来说配置可以分为1+n块。
首先配置所有公用的参数,
我配置了这三个:
dfs.federation.nameservices
dfs.namenode.name.dir
dfs.datanode.data.dir
然后针对每个namespace配置独有的参数。
dfs.namenode.rpc-address.<clusterId> 指定nn用的。值的格式host:port
dfs.namenode.http-address.<clusterId> 指定nn用的。值的格式host:port
dfs.namenode.secondary.http-address.<clusterId> 指定snn用的。值的格式host:port
dfs.namenode.checkpoint.dir.<clusterId> 指定checkpoint的保存路径用的,snn用。值的格式:绝对路径
dfs.namenode.checkpoint.edits.dir.<clusterId> 指定checkpoint的edits保存路径用的,snn用。值的格式:绝对路径
dfs.namenode.backup.address.<clusterId> backup node用。值的格式host:port
然后就没有然后了。
如果第一次安装,hadoop,就先格式化namenode,然后启动。
我是从cdh3u3升级上来的,
执行命令./start-dfs.sh -upgrade -clusterId <new_clusterID>.
然后nn、dn、snn就起来了。
要启动backupNode,需要到backupNode上去执行命令:nohup ./hdfs namenode -backup > backupNode.out &
好吧,这回真没有然后了。
backupNode在0.20时代没有,所以这个东西到底干嘛的,怎么干,尚不清楚。
参考链接:
http://hadoop.apache.org/common/docs/r0.23.1/hadoop-yarn/hadoop-yarn-site/Federation.html
http://eryk.iteye.com/blog/1291303
http://rq2-79.iteye.com/blog/1308245
http://www.blogjava.net/shenh062326/archive/2011/11/23/363472.html
http://www.blogjava.net/shenh062326/archive/2011/11/11/yuling_hadoop_0-23_hdfs_backup.html
装0.23的hdfs。
版本是0.23.1
官方文档写的这个是alpha,折腾了一下午,这个尼玛果然是alpha,一堆东西有问题。
废话少说,直入主题。
首先是下载官网上的安装包。
官网上也推荐把hdfs、mapred、yarn三个帐号分开。
配置ssh这里就不说了。
0.23的目录结构跟0.20.2比改动很大,这里大概说明下:
1,首先所有的配置文件都在HADOOP_HOME/etc/hadoop下。
2,原来的bin目录拆成了bin和sbin两个。
3,这个版本里面HADOOP_HOME/etc/hadoop下只有yarn-env.sh,而没有hadoop-env.sh,
需要拷贝yarn-env.sh成hadoop-env.sh,要不然起不来,这个应该是bug吧。
主要问题集中在配置文件上。
1,在自己建的hadoop_env.sh中配置JAVA_HOME环境变量。
2,配置hdfs-site.sh
刚开始思路有点混乱,总的来说配置可以分为1+n块。
首先配置所有公用的参数,
我配置了这三个:
dfs.federation.nameservices
dfs.namenode.name.dir
dfs.datanode.data.dir
然后针对每个namespace配置独有的参数。
dfs.namenode.rpc-address.<clusterId> 指定nn用的。值的格式host:port
dfs.namenode.http-address.<clusterId> 指定nn用的。值的格式host:port
dfs.namenode.secondary.http-address.<clusterId> 指定snn用的。值的格式host:port
dfs.namenode.checkpoint.dir.<clusterId> 指定checkpoint的保存路径用的,snn用。值的格式:绝对路径
dfs.namenode.checkpoint.edits.dir.<clusterId> 指定checkpoint的edits保存路径用的,snn用。值的格式:绝对路径
dfs.namenode.backup.address.<clusterId> backup node用。值的格式host:port
然后就没有然后了。
如果第一次安装,hadoop,就先格式化namenode,然后启动。
我是从cdh3u3升级上来的,
执行命令./start-dfs.sh -upgrade -clusterId <new_clusterID>.
然后nn、dn、snn就起来了。
要启动backupNode,需要到backupNode上去执行命令:nohup ./hdfs namenode -backup > backupNode.out &
好吧,这回真没有然后了。
backupNode在0.20时代没有,所以这个东西到底干嘛的,怎么干,尚不清楚。
参考链接:
http://hadoop.apache.org/common/docs/r0.23.1/hadoop-yarn/hadoop-yarn-site/Federation.html
http://eryk.iteye.com/blog/1291303
http://rq2-79.iteye.com/blog/1308245
http://www.blogjava.net/shenh062326/archive/2011/11/23/363472.html
http://www.blogjava.net/shenh062326/archive/2011/11/11/yuling_hadoop_0-23_hdfs_backup.html