在Ubuntu 12.04上安装Hadoop的问题

时间:2012-11-12 00:39:54

标签: ubuntu hadoop mapreduce hdfs

我刚刚建立了一个新的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文件吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

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

Michael Noll Tutorial for setting up Hadoop

答案 1 :(得分:1)

  • 运行hadoop时出现“command not found”错误,与JAVA_HOME无关。我相信你没有从hadoop主目录运行这个命令(另一种方法是将完整路径添加到你的PATH中的hadoop / bin)。

  • 您可以随心所欲地提取hadoop文件夹

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

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

  • Hadoop需要Java 1.6+,只需下载jdk-7u9-linux-i586.tar.gz from here并按照installation guide(它不应该只需要解压缩)< / p>

答案 2 :(得分: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 - &gt; 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
    
  3. 确保您不在这些文件夹中创建任何子文件夹,并且能够看到相应的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 Statment,如果有的话,我们在这里更新它。

      检查Java是否已安装且位于下述位置。如果是,那么很好,如果没有,那么你需要谷歌安装java n ubuntu

       sudo gedit ~/.bashrc
      
    3. 将以下行添加到.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 
        
      2. 6.创建两个dirctor of 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/
          

          一个。 sudo gedit yarn-site.xml:在&lt;中添加这些行结构&gt; &LT; /结构&gt;

          <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:在&lt;中添加这些行结构&gt; &LT; /结构&gt;

          <property>
          <name>fs.default.name</name>
          <value>hdfs://localhost:9000</value>
          </property>
          
          • 保存文件并关闭。
        2. ℃。 sudo gedit hdfs-site.xml:在&lt; ~configuration&gt;中添加这些行。 &LT;〜/结构&gt;

              <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. 格式化namenode 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
            
          3. 写下这些行

                /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
            2. 开始

                   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