centos Hadoop 1.2.1 配置安装
最近想找互联网 方面的工作,准备学点大数据处理方面的东西,综合 查询资料和 稳定性考虑,准备学习目前最新版本1.21
首先到 官网下载 hadoop-1.2.1.tar.gz 不要下载 rpm的 rpm 解压后目录不好控制,而且执行文件和 运行目录在两个地方.
。----------------------------------------单机模式-----------------------------------------
下载:hadoop-1.2.1.tar.gz
解压:
- tar -xzvf hadoop-1.2.1.tar.gz
- mv hadoop-1.2.1/ /opt
让环境变量配置生效source,是source,不是sh,补充下sh和.的区别,参考
- source hadoop-env.sh
检测是否安装成功
单机版hadoop安装成功,测试一下
- mkdir input
- cp -R conf input/
运行wordcount程序并将结果保存到output
hadoop hadoop-examples-1.2.1.jar
错误: 找不到或无法加载主类 hadoop-examples-1.2.1.jar
单机模式成功, 接下来搭建伪分布式
-------------------------------------------华丽的分割线 伪分布式-----------------------------------------
hadoop目录下创建以下目录:
- dat@dat-HP:/opt/hadoop-1.2.1$ mkdir tmp
- dat@dat-HP:/opt/hadoop-1.2.1$ mkdir hdfs
- dat@dat-HP:/opt/hadoop-1.2.1$ mkdir hdfs/name
- dat@dat-HP:/opt/hadoop-1.2.1$ mkdir hafs/data
编辑core-site.xml
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/opt/hadoop-1.2.1/tmp</value>
- </property>
- </configuration>
hdfs-site.xml:
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/opt/hadoop-1.2.1/hdfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/opt/hadoop-1.2.1/hdfs/data</value>
- </property>
- </configuration>
mapred-site.xml:
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
格式化HDFS(建议只格式化一次,多次格式化据传后边会引起问题,本人没有尝试...):
- dat@dat-HP:/opt/hadoop-1.2.1/conf$ source hadoop-env.sh
- dat@dat-HP:/opt/hadoop-1.2.1/conf$ hadoop namenode -format
启动Hadoop:
执行执行bin/start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程
- dat@dat-HP:/opt/hadoop-1.2.1/bin$ start-all.sh
用java的jps命令验证是否安装成功:
- dat@dat-HP:/opt/hadoop-1.2.1$ jps
少一个DataNode进程没有启动,通过查看上边现实的路径下的日志发现:
很明显,data文件夹的权限不对,修改权限:
- dat@dat-HP:/opt/hadoop-1.2.1/hdfs$ chmod 755 data
关闭hadoop,重新启动:
- dat@dat-HP:/opt/hadoop-1.2.1/bin$ stop-all.sh
- dat@dat-HP:/opt/hadoop-1.2.1/bin$ start-all.sh
- dat@dat-HP:/opt/hadoop-1.2.1/bin$ jps
6个进程全部启动了,此时安装正常,可以进行Hadoop的相关操作了。
检查运行状态:可以通过下面的操作来查看服务是否正常,在Hadoop中用于监控集群健康状态的Web界面
http://localhost:50030/ - Hadoop 管理介面
http://localhost:50060/ - Hadoop Task Tracker 状态
http://localhost:50070/ - Hadoop DFS 状态
hadoop的伪分布模式已经安装成功,再次在伪分布模式下运行一下WordCount来感受MapReduce过程:
这时注意程序是在文件系统dfs运行的,创建的文件也都基于文件系统:
首先在dfs中创建input目录
- dat@dat-HP:/opt/hadoop-1.2.1/conf$ hadoop dfs -mkdir input
- Warning: $HADOOP_HOME is deprecated.
将conf中的文件拷贝到dfs中的input
- dat@dat-HP:/opt/hadoop-1.2.1$ hadoop dfs -copyFromLocal conf/* input
在伪分布式模式下运行WordCount
- hadoop dfs -rmr output/
- hadoop jar hadoop-examples-1.2.1.jar wordcount input output
oK!!看见没有,你成功了!!!!!!
检测一下输出信息:
- dat@dat-HP:/opt/hadoop-1.2.1$ hadoop dfs -cat output/*
ok!!此时伪分布式系统环境已可以正常使用~~~!
YOU GET YOUR FOOT IN THE DOOR!
在做实例时 遇到namenode 无法启动的情况 需要 格式化一下 如果提示失败 先删除 /hdfs/name 文件夹 再尝试 成功
参考 http://blog.csdn.net/wyswlp/article/details/10564847