继 Hadoop2安装——单机模式 http://my.oschina.net/mynote/blog/93340
首先需要安装ssh 安装略
ssh-keygen -t rsa一直按<Enter> 由于不设置密码,所以就一直回车就行。
测试:
ssh localhost其实是否必须使用ssh密码设置?我也不太清楚,很多帖子都需要这步,但官方网上没有这步。如果你有兴趣可以不操着这步试试,可能伪分布模式不需要ssh密码验证。呵呵我也是菜鸟,也不太清楚。但ssh一定是要安的。
修改的文件都在/usr/local/hadoop-2.0.2-alpha/etc/hadoop下:
core-site.xml、hdfs-site.xml、yarn-site.xml 、mapred-site.xml. 四个文件
文件说明(略)
配置文件的添加和修改都在<configuration></configuration> 中
<property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> </property>
添加hdfs的指定URL路径,由于是伪分布模式,所以配置的是本机IP ,可为真实Ip、localhost。
官网上还提到io.file.buffer.size配置,由于默认的比较小只有4096,所以可以安装自己的需求改 131072(官方提供)。由于我这里只是做测试,配置越简单越好。呵呵。
<property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/data</value> </property>主要是对namenode 和 datanode 存储路径的设置。其实默认是存储在file://${hadoop.tmp.dir}/dfs/name和data 下的。所以这里也不需配置的。但默认的是临时文件,重启就没有了,所以我这里还是设置了专门的路径保存。
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
好像hadoop2有了yarn所以原来的mapred配置都转向yarn-site.xml文件中了,这里也就指定yarn。同时这里也可以配置一些mapreduce.map.java.opts、mapreduce.reduce.java.opts等很多,当然我这里还是使用默认的。
为了简单,快速做测试,我还是使用默认的。
启动的文件都是 sbin下,bin下的都是命令。如果你为了方便可以把这两个目录添加到环境变量中去,这样就可以直接运行命令,而不用运行绝对路径。配置环境变量略(我这里还是用绝对路径)。
切换到该安装目录下
首先格式化 namenode
bin/hdfs namenode -format确定不报错,且出现
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at startos/192.168.0.101
************************************************************/
startos/192.168.0.101是我的计算机名和Ip
启动namenode
sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode运行测试
jps出现:
证明启动成功,如果没有出现DataNode或者NameNode,证明启动没有成功,可以查看hadoop安装目录下的logs下的日志记录。
可以使用sbin/hadoop-daemon.sh stop datanode(datanode)来关闭。
启动Manage管理
sbin/yarn-daemon.sh start resourcemanager sbin/yarn-daemon.sh start nodemanager
运行测试
jps出现:
证明启动成功 同时也可以使用yarn-daemon.sh stop resourcemanager(nodemanager)来关闭。
如果没有单独配置yarn-site.xml中的yarn.resourcemanager.webapp.address,默认的端口8088 访问
http://127.0.0.1:8088/ 就可以访问hadoop管理页面
如果没有单独配置 hdfs-site.xml中的dfs.namenode.http-address,默认端口50070
http://127.0.0.1:50070 就可以访问namenode节点信息。
注:网上很多地方都说用start-dfs.sh、 start-yarn.sh可以简略上面的步骤,但我还想没有成功,所以还是老实点,strat-all.sh stop-all.sh都没戏。
还是同单机模式测试一样创建要上传的文件
mkdir input cd input echo "hello world" > test1.txt echo "hello hadoop" > test2.txt cd ..
把input目录中的文件拷贝到dnfs上,并保存在in目录中
bin/hadoop dfs -put input/ /in其中/in 中的/ 是hdfs下的目录,好像不加/ 不能上传。
|
|
bin/hadoop dfs -ls /in
就可以查看到in文件夹下的两个文件,同时也可以通过http://127.0.0.1:50070 查看节点下的文件。
Ok 伪分布式模式就在这里,祝你好运。