1.环境准备
hadoop版本:hadoop-2.8.5,下载路径:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
修改服务器hostname,修改一下两个文件,hostname不包含着‘.’ '/' '_'等非法字符:
vi /etc/hosts
vi /etc/hostname
2.本地模式
本地模式是最简单的模式,所有模块都运行与一个JVM进程中,使用的本地文件系统,而不是HDFS,本地模式主要是用于本地开发过程中的运行调试用。下载 hadoop 安装包后不用任何设置,默认的就是本地模式。
解压hadoop后就是直接可以使用
2.1 创建一个存放本地模式hadoop的目录
mkdir /opt/modules
将hadoop的压缩包拷贝到该目录下,解压:tar -zxvf hadoop-2.8.5.tar.gz
解压后的目录如下:
在/etc/profile中添加hadoop环境变量:
添加后执行命令:source /etc/profile
2.2 运行MapReduce程序,验证
我们这里用hadoop自带的wordcount例子来在本地模式下测试跑mapreduce。
2.2.1 准备mapreduce输入文件wc.input,在/opt/data下创建wc.input文件,在其中输入如下内容:
2.2.2 运行 hadoop 自带的 mapreduce Demo
hadoop jar /opt/modules/hadoop-2.8.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /opt/data/wc.input output
这里可以看到 job ID 中有 local 字样,说明是运行在本地模式下的。
2.2.3 查看输出文件
本地模式下,mapreduce 的输出是输出到本地。
输出目录中有 _SUCCESS 文件说明 JOB 运行成功,part-r-00000 是输出结果文件。
3.伪分布式模式
3.1 设置Hadoop配置文件
需要修改/opt/modules/hadoop-2.8.5/etc/hadoop目录下的如下几个文件:
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml(mapred-site.xml.template重命名)
- slaves
3.1.1 hadoop-env.sh添加jdk环境变量,修改如下几行:
3.1.2 core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.8.5/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://EddieCentOS130:9000</value>
</property>
</configuration>
3.1.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/modules/hadoop-2.8.5/dfsdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/modules/hadoop-2.8.5/dfsdata/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3.1.4 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>EddieCentOS130</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3.1.5 mapred-site.xml(mapred-site.xml.template重命名),通过如下命令:cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.1.6 slaves(此文件中即为hostname)
3.2 格式化namenode
上述文件全部修改完,保存,然后格式化namenode:
hdfs namenode -format
3.3 启动服务
start-dfs.sh
start-yarn.sh
等待启动完成后,使用jps命令查看启动结果:
至此,伪分布式模式安装完成。