虚拟机环境:

  • os:Linux
  • JDK:1.8 或 1.7

下载hadoop-2.7.3
配置好环境变量

  1. # 第2行这里设置为<你的JDK路径,不知道的去查一下就行>
  2. export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
  3. export HADOOP_HOME="/home/parallels/Desktop/hadoop-2.7.3"
  4. export HADOOP_INSTALL=$HADOOP_HOME
  5. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  6. export HADOOP_COMMON_HOME=$HADOOP_HOME
  7. export HADOOP_HDFS_HOME=$HADOOP_HOME
  8. export YARN_HOME=$HADOOP_HOME
  9. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  10. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  11. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

设置core-site.xml

  1. cd $HADOOP_HOME
  2. vim etc/hadoop/core-site.xml

倒数第二行添加

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>file://localhost:9000</value>
  4. </property>

截图
image.png
测试运行

hadoop fs -ls /

该命名等同于命令行直接输入

ls /

image.png
第一行有一个WARN,忽略之

调试方法

下面的调试建议在本机进行,这样idea快一些,虚拟机里慢 也可以虚拟机里进行

命令行输入(其实是设置环境变量,不在命令行输入而是直接设置为永久的环境变量或者将下面的命令添加到etc/hadoop/hadoop-env.sh中的任一位置都可以)

export HADOOP_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888"

然后再命令行输入

hadoop fs -ls /

image.png
看到该结果进行下一步

下载源码https://github.com/apache/hadoop/tree/branch-2.7.3

用IDEA打开(不用进行设置,不用操作maven)
点击Edit configuration
image.png
image.png
设置host和port

虚拟机里运行ifconfig -a能看到host image.png

image.png
右下角保存
然后可以开始Debug了

开始

提前加一下断点,org/apache/hadoop/fs/FsShell.java:340
image.png
点击debug按钮,开始调试
image.png

其他命令同理