我们以单节点集群为例,演示如何安装在安装Hadoop2.6.0。ssh和jdk的安装在上一篇已介绍,这里不再赘述。
安装步骤:
(1)将下载的Hadoop安装包放到指定的目录,比如放到您当前用户的home目录。执行以下命令解压安装包:
tar xzf hadoop-2.6.0.tar.gz
(2)编辑home目录下的.bashrc,添加以下项:
# set Hadoop Enivorment for version 2.6.0 #export HADOOP=/Users/bowen/Software/hadoop-1.2.1 export HADOOP_HOME=/Users/bowen/Software/hadoop-2.6.0 export PATH=$PATH:$HADOOP_HOME/bin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_HOME=$HADOOP_HOME
这个配置也是参照网上来的,Hadoop2.x相比Hadoop1.x差别还是比较大的。
(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.6.0/nodemanager-local-dirs 这个目录。
(5)编辑core-site.xml,添加以下配置:
<property> <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=/Library/Java/JavaVirtualMachines/jdk1.6.0.jdk/Contents/Home
注:请确定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)在浏览器中输入如下网址,可以查看各服务状态:
12)如果需要停止以上服务,可依次运行以下命令:
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
注:可以将以上多条命令放到一个脚本文件中,以方便执行。
13)测试
运行以下命令创建数据文件并复制到dfs中:
touch in
nano in
Hadoop is fast
Hadoop is cool
bin/hadoop fs -copyFromLocal in/ /in
用Hadoop自带的wordcount进行测试:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /in /out
如果安装正确,您将可以在屏幕上看到任务调用后的各项处理信息。
如果再次调用该任务,可能会出现/out目录已存在的错误信息,此时您可以调用以下命令清除对应的目录,比如:
bin/hadoop fs -rm -r /out