hadoop各个节点角色定义
master 和 slave
name node 和 data node: name node 目录管理者
从map reduce的角度划分
hadoop安装部署
三种运行模式:
- 单机模式
- 伪分布模式
- 完全分布模式
伪分布式安装
- 下载hadoop
url: http://hadoop.apache.org/#Download+Hadoop
http://hadoop.apache.org/releases.html
可以复制要下载的链接,然后再linux命令行下用wget下载
wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.0/hadoop-2.8.0-src.tar.gz
- 安装hadoop
1.将下载下来的 hadoop-2.8.0-src.tar.gz 拷贝到指定目录
2 . tar zxvf hadoop-2.8.0-src.tar.gz
3 . rm hadoop-2.8.0-src.tar.gz
- 配置hadoop
修改 ~/.bashrc, 在底部新增:
export HADOOP_HOME=/opt/hadoop-1.2.1
export PATH=${HADOOP_HOME}/bin:$PATH
保存后
source ~/.bashrc
伪分布式需要操作四个文件: hadoop-env.sh、core-site.xml、mapred-site.xml 以及 hdfs-site.xml
1). 配置 hadoop-env.sh
在配置文件中找到JAVA_HOME关键字所在的行,把前面的#号去掉,然后填写实际的JAVA_HOME地址.
2 ) . 配置core-site.xml
加入如下内容:
<!--指定namenode的地址-->
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
<!--用来指定使用hadoop时产生文件的存放目录, 该目录必须预先手动创建-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/leo/hadoopdata</value>
</property>
3 ). 配置 hdfs-site.xml
<configuration>
<!--指定hdfs保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4 ) . 配置mapred-site.xml
<configuration>
<!--告诉hadoop以后MR运行在YARN上-->
<property>
<name>mapreduce.job.tracker</name>
<value>127.0.0.1:9001</value>
</property>
</configuration>
运行 hadoop version。
leo@ubuntu:~$ hadoop version
Warning: $HADOOP_HOME is deprecated.
Hadoop 1.2.1
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013
From source with checksum 6923c86528809c4e7e6f493b6b413a9a
This command was run using /opt/hadoop-1.2.1/hadoop-core-1.2.1.jar
修改~/.bashrc, 增加
export HADOOP_HOME_WARN_SUPPRESS=1
保存成功后:
source ~/.bashrc
- 启动hadoop
hadoop namenode -format
检查运行结果有没有错误。
如果出现找不到namenode之类的。请使用命令检查
more /etc/hosts
运行 start-all.sh 启动hadoop
使用jps名称检查运行的进程
- 运行hadoop
hadoop fs ls /
hadoop fs -mkdir input
hadoop fs -put /home/leo/file/* input