前面先把host 、ssh 信任 都弄好 html
3、下载并解压hadoop安装包,配置hadoopjava
一、 关于安装包的下载就很少说了,不过能够提一下目前我使用的版本为hadoop-2.7.1node
二、 配置namenode,修改site文件web
下面开始修改hadoop的配置文件了,即各类site文件,文件存放在etc/Hadoop/下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml这三个文件。apache
这里我只把个人实例贴出来,经供参考,更多详细配置请参照官方文档服务器
core-site.xml:app
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>ssh
hdfs-site.xml:webapp
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> </configuration>分布式
mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
yarn-site.xml:
<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> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> </configuration>
三、 配置namenode,修改env环境变量文件
配置以前要说的话:你必须确保你已经安装了java6或者java7,而且java的环境变量已经配置好,因为本文的重点不在此,故不详细说明,我系统java的环境变量为/usr/java/jdk1.7.0_71
因此讲hadoop-env.sh、mapred-env.sh、yarn-env.sh这几个文件中的JAVA_HOME改成/usr/java/jdk1.7.0_71,以下图所示:
文件中的其余一些配置项,请参考官方文档
四、 slaves文件配置,增长以下两行内容:
node1 node2
4、向节点服务器node一、node2复制咱们刚刚在master服务器上配置好的hadoop
scp–r hadoop root@node1:/usr/local/hadoop scp–r hadoop root@node2:/usr/local/hadoop
5、格式化namenode,在master节点上执行以下命令:
bin/hdfs namenode-format
只要出现“successfully formatted”就表示成功了。
6、启动hadoop
这一步也在主结点master上进行操做:
7、用jps检验各后台进程是否成功启动
master
node1
node2
8、向hadoop集群系统提交第一个mapreduce任务
到这里为止咱们已经完成了一个真正意义上的hadoop彻底分布式环境搭建,下面咱们要像这个集群系统提交第一个mapreduce任务
一、 bin/hdfs dfs -mkdir /tmp 在虚拟分布式文件系统上建立一个测试目录tmp
二、 bin/hdfs dfs -copyFromLocal ./ LICENSE.txt /tmp 将当前目录下的LICENSE文件复制到虚拟分布式文件系统中
三、bin/hdfs dfs-ls /tmp查看文件系统中是否存在咱们所复制的文件
下面这张图显示了一系列的操做过程
三、 运行以下命令向hadoop提交单词统计任务
bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount/tmp/LICENSE.txt /tmp-output
最后会显示一个运算结果: