如果是基于学习的目的而需要使用Hadoop,建议下载Linux虚拟机,比如Ubuntu,然后在虚拟机中安装Hadoop。


可以Google一下VMWare Player和Ubuntu,并下载安装到本地。你也可以下载其他一些工具以方便您操作虚拟机,比如Putty。请参考各自相关文档。


如果不具备操作Linux的基本知识,建议先熟悉Linux的基本操作。(本人也不是Linux高手,但是可以进行基本操作,比如复制文件、安装程序之类的)




本文写作时,Hadoop 2.2已经发布,您可以访问以下地址获取最新的安装包:


http://mirror.esocc.com/apache/hadoop/common/ 下载hadoop-2.2.0.tar.gz




hadoop 单节点伪分布式是什么意思_hadoop 单节点伪分布式是什么意思




安装前提:


以下两个软件是在Linux下必须安装的。如果没有安装,可以分别执行以下命令进行安装:


$ sudo apt-get install ssh


$ sudo apt-get install rsync




我们以单节点集群为例,演示如何安装在Ubuntu上安装Hadoop2.2.0。



安装步骤:


1)将下载的Hadoop安装包放到指定的目录,比如放到您当前用户的home目录。执行以下命令解压安装包:


tar xzf hadoop-2.2.0.tar.gz




2)编辑home目录下的.bashrc,添加以下项:


# add for hadoop 2.2


export HADOOP_HOME=/home/user/hadoop-2.2.0


export HADOOP_MAPRED_HOME=$HADOOP_HOME


export HADOOP_COMMON_HOME=$HADOOP_HOME


export HADOOP_HDFS_HOME=$HADOOP_HOME


export YARN_HOME=$HADOOP_HOME


export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop




3)添加namenode和datanode目录


mkdir -p $HADOOP_HOME/yarn/yarn_data/hdfs/namenode


mkdir -p $HADOOP_HOME/yarn/yarn_data/hdfs/datanode


注:请将$HADOOP_HOME替换成hadoop的安装目录




4)编辑yarn-site.xml,加入以下配置:


<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>




注:根据需要,可以更改端口号以及本地文件目录。如果使用了本地文件目录,最好事先创建好这些对应的目录。比如上面的配置文件中,我们使用了/home/user/hadoop-2.2.0/nodemanager-local-dirs 这个目录。




5)编辑core-site.xml,添加以下配置:


 <name>fs.defaultFS</name>


    <value>hdfs://localhost:9000</value>


  </property>




6)编辑hdfs-site.xml,添加以下配置:


  <property>


    <name>dfs.replication</name>


    <value>1</value>


  </property>


  <property>


    <name>dfs.namenode.name.dir</name>


    <value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/namenode</value>


  </property>


  <property>


    <name>dfs.datanode.data.dir</name>


    <value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/datanode</value>


  </property>




7)编辑mapred-site.xml,添加以下配置:


  <property>


<name>mapreduce.cluster.temp.dir</name>


<value></value>


<description>No description</description>


<final>true</final>


  </property>


  <property>


<name>mapreduce.cluster.local.dir</name>


<value></value>


<description>No description</description>


<final>true</final>


  </property>


注:如果该文件不存在,可通过复制mapred-site.xml.template文件而得。




8)编辑hodoop-env.sh,修改以下对应行为:


export JAVA_HOME=/usr/lib/jvm/java-6-sun


注:请确定JAVA已正确安装。如果没有,你可以参照相关文档进行JAVA的安装。




9)初始化noamenode


bin/hadoop namenode -format




10)启动hadoop守护进程。依次执行以下命令:


sbin/hadoop-daemon.sh start namenode


sbin/hadoop-daemon.sh start datanode


sbin/hadoop-daemon.sh start secondarynamenode


sbin/yarn-daemon.sh start resourcemanager


sbin/yarn-daemon.sh start nodemanager


sbin/mr-jobhistory-daemon.sh start historyserver




11)运行以下命令可以查看各服务状态:


http://localhost:50070


http://localhost:8088


http://localhost:19888










hadoop 单节点伪分布式是什么意思_hadoop_02




如果需要停止以上服务,可依次运行以下命令:


sbin/hadoop-daemon.sh stop namenode


sbin/hadoop-daemon.sh stop datanode


sbin/hadoop-daemon.sh stop secondarynamenode


sbin/yarn-daemon.sh stop resourcemanager


sbin/yarn-daemon.sh stop nodemanager


sbin/mr-jobhistory-daemon.sh stop historyserver



注:可以将以上多条命令放到一个脚本文件中,以方便执行。



12)测试


运行以下命令创建数据文件并复制到dfs中:


mkdir in 


vi in/file


Hadoop is fast


Hadoop is cool 


bin/hadoop fs -copyFromLocal in/ /in




用Hadoop自带的wordcount进行测试:


bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /in /out



如果安装正确,您将可以在屏幕上看到任务调用后的各项处理信息。


如果你再次调用该任务,可能会出现/out目录已存在的错误信息,此时您可以调用以下命令清除对应的目录,比如:


bin/hadoop fs -rm -r /out