赞
踩
Hadoop是一个分布式计算框架,适用于离线的海量信息批处理,大文件日志分析等,可以在大量廉价硬件设备组成的集群上运行应用程序,并未应用程序提供一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。Hadoop的核心是HDFS(Hadoop Distributed File System),Mapreduce和Hbase,他们分别是Google云计算核心技术GFS,Mapreduce和Bigtable的开源实现,这三篇论文可以看之前的三篇博客,加深一下理论基础。
单机版的搭建要求不高,内存有个4G都够用了。本人电脑配置(16G是为集群版准备的,到时候还要开idea写代码,加上开VMware等软件,差不多够用。):
1.2软件准备
centos 6.5 64位节点一个,Hadoop-2.8.4.tar.gz(64位), jdk-xxxx-x64.tar.gz
这个配置好了java_home。具体的配置之前的博客里有,网上搜也有一大堆,就是1、解压JDK的tar包;2、在/etc/profile里最末尾添加三行配置记录就行了;3、用source /etc/profile,使配置生效。 4、使用java --version检查是否配置成功。
2.1 解压Hadoop安装包
tar -zxvf hadoop-2.8.4.tar.gz -C /usr/local/app
2.2 修改配置文件
一共要修改5个文件,分别为 mapred-site.xml 、core-site.xml 、hdfs-site.xml 、yarn-site.xml 、slaves
2.2.1 mapred-site.xml 可能没有,但是有一个模板文件(执行命令:cp mapred-site.xml.template mapred-site.xml)
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
2.2.2 core-site.xml sigle是我的主机名,我在/etc/hosts里做了映射,这里可以换成本机ip或127.0.0.1
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://single:8020</value>
- </property>
- </configuration>
2.2.3 hdfs-site.xml 指定副本数、namenode和datanode的存储位置
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/home/hadoop/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/home/hadoop/dfs/data</value>
- </property>
- </configuration>
2.2.4 yarn-site.xml
- <configuration>
-
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
-
- </configuration>
2.2.5 slaves 这个是写datanode的ip地址的,由于是单节点的,所以写本机就行了
localhost
3.1格式化元数据 (执行完后,去hdfs-site.xml 文件指定的目录位置,看看是否有文件生成)
- [root@single hadoop-2.8.4]# ls
- bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
- [root@single hadoop-2.8.4]# ./bin/hadoop namenode -format
3.2 启动namenode(可以使用jps命令,或者查看./logs目录下的日志文件--无异常信息)
- [root@single hadoop-2.8.4]# ls
- bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
- [root@single hadoop-2.8.4]# ./sbin/hadoop-daemon.sh start namenode
3.3 启动datanode
- [root@single hadoop-2.8.4]# ./sbin/hadoop-daemon.sh start datanode
- starting datanode, logging to /usr/local/app/hadoop-2.8.4/logs/hadoop-root-datanode-single.out
到这里hdfs就启动好了,可以通过浏览器访问:服务器的IP:50070
如果访问不了,需注意看是不是自己配置文件有误,或者启动的时候有异常信息(logs目录下查看)。还有可能是防火墙没有关闭,或者50070端口没有开放之类的(service iptables status 查看是否有50070端口)。
3.4启动yarn(整体启动,不在分resourcemanager之类的逐个启动了)
- [root@single hadoop-2.8.4]# ./sbin/start-yarn.sh
- starting yarn daemons
- starting resourcemanager, logging to /usr/local/app/hadoop-2.8.4/logs/yarn-root-resourcemanager-single.out
- The authenticity of host 'localhost (::1)' can't be established.
- RSA key fingerprint is 47:18:cf:b6:6f:54:cf:cc:3b:f1:8a:18:e2:4f:ee:c5.
- Are you sure you want to continue connecting (yes/no)? yes
- localhost: Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
- root@localhost's password:
- localhost: starting nodemanager, logging to /usr/local/app/hadoop-2.8.4/logs/yarn-root-nodemanager-single.out
本机没有做ssh免密码登录,所以让我输入密码了。
这里可以查看yarn 服务ip:8088
单机模式是Hadoop的默认模式,在该模式下无需任何守护进程,所有程序都在单个JVM上运行,该模式主要用于开发和调试mapreduce的应用逻辑。
单机模式作为入门,学习mapreduce的编写,搞清楚mapreduce各个组件间的关系。为后面的集群模式,HA模式, Federation模式,HA-Federation模式打基础。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。