0

我刚刚设置了一个新的 Ubuntu 12.04 VM(Virtualbox)并想在其上测试 Hadoop。我正在关注本指南:http ://hadoop.apache.org/docs/r0.20.2/quickstart.html

我认为我在 java 安装和 JAVA_HOME 路径上做错了......现在 bin/hadoop 总是只返回“找不到命令”

我必须在哪里提取 hadoop 文件夹?

我需要先设置 SSH 吗?SSHD呢?

安装正确的 java 版本的命令是什么?

我必须在 hadoop-env.sh 文件中输入什么?

谢谢!

4

3 回答 3

2

我使用了这个很棒的教程。唯一的改变是我安装了一个默认的 Java6 ...

Michael Noll Hadoop 设置教程

于 2012-11-23T12:33:25.817 回答
1
  • 运行 hadoop 时出现的“command not found”错误应该与 JAVA_HOME 无关。我相信您没有从 hadoop 主目录运行此命令(另一种选择是将hadoop/bin的完整路径添加到您的 PATH 中)。

  • 您可以在任何您喜欢的地方提取 hadoop 文件夹

  • 对于 hadoop-env.sh,您应该将 JAVA_HOME 变量设置为指向您的 Java 安装主目录,例如export JAVA_HOME=/home/jdk1.6.0/ 更改此路径以反映您的环境

  • 您将需要 SSH 和 SSHD,特别是如果您将在分布式或伪分布式环境中运行 Hadoop。

  • Hadoop 需要 Java 1.6+,只需从这里下载 jdk-7u9-linux-i586.tar.gz并按照安装指南进行操作(它应该只需要解压缩即可)

于 2012-11-12T05:48:15.177 回答
0

安装 Hadoop Hive Scoop 和 PIG

按照步骤安装上述应用程序。注意:不需要额外的用户,您可以在现有系统上工作。

  1. 下载 Haddop 2.7.1、PIG、Sqoop、Hive

     http://www.us.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz   
    
     http://www.us.apache.org/dist/pig/pig-0.13.0/pig-0.13.0.tar.gz      
    
     http://www.us.apache.org/dist/sqoop/1.4.6/ sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz   
    
     http://www.eu.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz    
    
  2. 在文件夹中提取说 /home/mypc/hadoop-soft --> cd hadoop-soft

    hive -->  /home/mypc/hadoop-soft/hive
    sqoop --> /home/mypc/hadoop-soft/sqoop
    pig   --> /home/mypc/hadoop-soft/pig
    hadoop --> /home/mypc/hadoop-soft/hadoop
    

确保您没有在这些文件夹中创建任何子文件夹,并且能够看到相应的 bin 文件夹。

  1. 现在让我们将这些文件夹移动到 /usr/lib

     sudo mkdir /usr/lib/hadoop
    
     sudo mv sqoop/ /usr/lib/hadoop/
     sudo mv pig/ /usr/lib/hadoop/
     sudo mv hive/ /usr/lib/hadoop/
     sudo mv hadoop-2.6/ /usr/lib/hadoop/
    
  2. 编辑 .bashrc 文件以添加路径:在文件末尾添加以下行

    删除 Java_path 状态,如果有的话,因为我们在这里更新它。

    检查 Java 是否已安装并存在于下面提到的位置。如果是那么很好,如果不是那么你需要谷歌安装java n ubuntu

     sudo gedit ~/.bashrc
    

将以下行添加到 .bashrc 的末尾

     export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
     export HADOOP_HOME=/usr/lib/hadoop/hadoop-2.6
     export HIVE_HOME=/usr/lib/hadoop/hive
     export PIG_HOME=/usr/lib/hadoop/pig
     export SQOOP_HOME=/usr/lib/hadoop/sqoop

    export HADOOP_MAPRED_HOME=/usr/lib/hadoop/hadoop
    export HADOOP_COMMON_HOME=/usr/lib/hadoop/hadoop
    export HADOOP_HDFS_HOME=/usr/lib/hadoop/hadoop
    export HADOOP_YARN_HOME=/usr/lib/hadoop/hadoop  
    export HADOOP_CONF_DIR=/usr/lib/hadoop/hadoop/etc/hadoop

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin::$PIG_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin
  1. 保存此文件并关闭它。现在您可能想要运行它以反映更新。

    source ~/.bashrc 
    

6.创建两个目录namenode和datanode

cd /usr/lib
sudo mkdir hdfs
cd hdfs
sudo mkdir namenode
sudo mkdir datanode
sudo chmod 777 -R namenode
sudo chmod 777 -R datanode 
  1. 转到 $HADOOP_HOME 并编辑一些文件。

    cd $HADOOP_HOME
    cd etc/hadoop/
    

    A. sudo gedit yarn-site.xml : 在 <configuration> </configuration> 里面添加这些行

    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    
    • 保存文件并关闭

    B. sudo gedit core-site.xml : 在 <configuration> </configuration> 里面添加这些行

    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    </property>
    
    • 保存文件并关闭。

C. sudo gedit hdfs-site.xml :在 <~configuration> <~/configuration> 中添加这些行

    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/lib/hdfs/namenode</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/lib/hdfs/datanode</value>
    </property>
  • 保存文件并关闭

D. sudo gedit mapred-site.xml :添加这些行

     <?xml version="1.0"?>
      <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
     </property> 
    </configuration>

注意:这将是一个新文件。- 保存并关闭。

  1. 格式化名称节点 hdfs namenode -format

  2. 转到 /usr/lib/hdfs 并创建启动和停止脚本

    cd /usr/lib/hdfs
    sudo mkdir scripts
    sudo chmod 777 -R scripts
    cd scripts
    sudo gedit hadoopstart.sh
    

写下这些行

    /usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh start namenode
    /usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh start datanode
    /usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh start resourcemanager
    /usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh start nodemanager
    /usr/lib/hadoop/hadoop-2.6/sbin/mr-jobhistory-daemon.sh start historyserver
  • 保存并关闭。

    sudo gedit hadoopstop.sh
    

写下这些行

    /usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh stop namenode
    /usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh stop datanode
    /usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh stop resourcemanager
    /usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh stop nodemanager
    /usr/lib/hadoop/hadoop-2.6/sbin/mr-jobhistory-daemon.sh stop historyserver

- 保存并关闭它。

  1. 运行这些文件以在本地模式下启动和停止 hadoop

开始

     sh /usr/lib/hdfs/scripts/hadoopstart.sh 

停止

     sh /usr/lib/hdfs/scripts/hadoopstop.sh 
  1. 检查 hadoop 是否正在运行:运行启动脚本后

    hadoop version
    hadoopp fs -ls /
    
    Open http://localhost:50070 to see if name node is running.
    
  2. 使用:在终端上运行各种服务

    Pig
    sqoop
    hive
    
于 2015-10-13T12:48:27.927 回答