Ubuntu下安装Hadoop详解(单机模式+伪分布模式)(2)

设定hadoop-env.sh(Java 安装路径)
进入./etc/hadoop目录,打开hadoop-env.sh,添加以下信息:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 (openjdk的默认安装路径) export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:/usr/local/hadoop/bin

Hadoop单机配置(非分布式)

Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单Java进程,方便进行调试。

现在我们可以执行例子来感受下Hadoop的运行。Hadoop 附带了丰富的例子(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。

在此我们选择运行 wordcount例子,我们将input文件夹中的所有文件作为输入,筛选当中单词并统计出现的次数,最后输出结果到output文件夹中。

hadoop@hadoop1:/usr/local/hadoop$ cd /usr/local/hadoop hadoop@hadoop1:/usr/local/hadoop$ mkdir ./input hadoop@hadoop1:/usr/local/hadoop$ cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件 hadoop@hadoop1:/usr/local/hadoop$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output hadoop@hadoop1:/usr/local/hadoop$ cat ./output/* # 查看运行结果

解释命令:

bin/hadoop jar(使用hadoop运行jar包)hadoop-mapreduce-examples..jar(代表版本号)wordcount(要使用的类,后边的是参数)input output‘dfs[a-z.]+’整个就是运行hadoop示例程序中的wordcount,对应的hdfs上的输入目录为input、输出目录为output。

==注意:Hadoop默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。==

hadoop@hadoop1:/usr/local/hadoop$ rm -r ./output

Hadoop伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的Java进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是HDFS 中的文件。

Hadoop 的配置文件位于/usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件core-site.xml 和 hdfs-site.xml。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件core-site.xml (通过 gedit 编辑会比较方便:gedit ./etc/hadoop/core-site.xml)

<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>

修改配置文件 hdfs-site.xml

<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配置文件说明

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/79efb682a30d753c0a5e1aa2e671e1d2.html