解压,配置环境变量(/etc/profile):
export HADOOP_HOME=/opt/hadoop-dir
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
(非分布式,即单 Java 进程,方便进行调试):
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'word'
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
$HADOOP_HOME/bin/hdfs namenode -format
(启动后可访问 http://localhost:50070 查看)
$HADOOP_HOME/sbin/start-dfs.sh
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下三个进程:
如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh
关闭进程,然后再次尝试启动尝试。
如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
日志位于(具体文件名取决于哪一个进程没有启动成功,就查看哪个进程名相关的log文件。)
$HADOOP_HOME/logs/*.log
默认不存在,这个目录相当于当前目录.
$HADOOP_HOME/bin/hdfs dfs -mkdir -p /user/root
接下来再执行的hadoop任务就会从hdfs文件系统里存取文件:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar \
grep ./input ./output 'word'
$HADOOP_HOME/bin/hdfs dfs -cat output/*
mv $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
和yarn-site.xml(位于相同目录)
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(启动后可访问 http://localhost:8088/cluster 查看 )
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况
开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程。
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver
如果不想启动 YARN,务必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用时改回来就行。
否则在该配置文件存在,而未开启 YARN 的情况下,运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,这也是为何该配置文件初始文件名为 mapred-site.xml.template。
详情:http://www.powerxing.com/install-hadoop/
在平时的学习中,我们使用伪分布式就足够了。如果需要安装 Hadoop 集群,请查看Hadoop集群安装配置教程:
http://www.powerxing.com/install-hadoop-cluster/