一、环境介绍

     IP       host JDK linux版本 hadop版本
192.168.0.1 master 1.8.0_111 centos7.2.1511 hadoop-2.7.3
192.168.0.2 slave1 1.8.0_111 centos7.2.1511 hadoop-2.7.3
192.168.0.3 slave1 1.8.0_111 centos7.2.1511 hadoop-2.7.3

二、系统环境配置

1.  安装JDK

tar –zvxf jdk-8u111-linux-x64.tar.gz –C /usr/local/

2.  配置系统级的JDK环境变量(root权限)

vi  /etc/profile,增加如下配置

export JAVA_HOME=/usr/local/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3.  安装hadoop

tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local/

4.  配置hadoop的系统变量(非必须)

在/etc/profile中增加HADOOP_HOME

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/local/jdk1.8.0_111
export HADOOP_HOME=/usr/local/hadoop-2.7.3
export PATH=$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/bin

5. 环境配置生效

source /etc/profile

6. 配置host

vi  /etc/hosts

192.168.0.1 master
192.168.0.2 salve1
192.168.0.3 salve2

7. 修改hostname(非必须)

vi  /etc/sysconfig/network,将HOSTNAME改成相应的host

8.  配置ssh免密码登录

ssh-keygen -t dsa,回车三次(三个节点都执行),会在/home/<用户>下面新建一个.ssh文件夹,.ssh中有两个文件。

id_dsa
id_dsa.pub

在.ssh中touch  authorzied_keys,将其他两台机器中的id_dsa.pub追加到authorzied_keys中,然后修改authorzied_keys和.ssh的权限,chmod 600 authorzied_keys,chmod 700 .ssh

9.  关闭防火墙

1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off 2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

10.  集群时钟同步(时间一致则省去这步)

ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate time.nist.gov

三、hadoop配置

1.  hadoop环境变量配置涉及etc/hadoop目录下的三个文件:hadoop-env.sh,mapred-env.sh,yarn-env.sh,将这些文件中的JAVA_HOME改为JAVA_HOME=/usr/local/jdk1.8.0_111

2.  修改hadoop的配置文件

2.1.  core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<description>主节点namenode的host和端口</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>hdfs中namenode和datanode数据的默认存放目录,可在hdfs中分别配置其目录</description>
</property>
</configuration>

2.2.  hdfs-site.xml

<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
<description>namenode数据的存放目录</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
<description>datanode数据的存放目录</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
<description>secondarynamenode的web地址</description>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
<description>提供web访问hdfs的权限</description>
</property>
</configuration>

注:访问namenode的hdfs使用50070端口,访问datanode的webhdfs使用50075端口。要想不区分端口,直接使用namenode的IP和端口进行所有的webhdfs操作,就需要在所有的datanode上都设置hdfs-site.xml中的dfs.webhdfs.enabled为true。

2.3.  mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
<description>jobhistory是Hadoop自带了一个历史服务器,记录Mapreduce历史作业</description>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
<description>jobhistory的http地址</description>
</property>
</configuration>

jobhistory是Hadoop自带了一个历史服务器,记录Mapreduce历史作业。默认情况下,jobhistory没有启动,可用以下命令启动:

sbin/mr-jobhistory-daemon.sh start historyserver 

2.4.  yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.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>
<description>yarn资源管理的http地址</description>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>

2.5  编辑slaves

master
slave1
slave2

2.6  同步配置

将hadoop配置同步到其他节点

scp -r /usr/local/hadoop-2.7.3/etc/* slav1:/usr/local/hadoop-2.7.3/etc/
scp -r /usr/local/hadoop-2.7.3/etc/* slav2:/usr/local/hadoop-2.7.3/etc/

四、启动hadoop集群

1.  格式化namenode(初次启动执行)

bin/hdfs namenode –format    

2.  启动hdfs

sbin/start-dfs.sh

3.  启动yarn

start-yarn.sh 

4.  jps查看进程

4.1  master进程

ResourceManager
JobHistoryServer
NameNode
SecondaryNameNode
DataNode
Jps

4.2  slave进程

DataNode
Jps

五、通过浏览器查看集群运行状态

1.http://master:50070                   namenode的hdfs页面地址
2.http://master:8088/cluster/cluster yarn资源的页面地址

hadoop-2.7.3完全分布式部署的更多相关文章

  1. Apache Hadoop 2.9.2 完全分布式部署

    Apache Hadoop 2.9.2 完全分布式部署(HDFS) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备 1>.操作平台 [root@node101.y ...

  2. Hadoop生态圈-Kafka的完全分布式部署

    Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...

  3. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

  4. hadoop 2.6.0 伪分布式部署安装遇到的问题

    之前读到了一篇关于配置安装hadoop的博文(地址:http://www.powerxing.com/install-hadoop/)能正确安装和运行,但是在网页进行Jobtracker监控时,输入l ...

  5. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  6. Hadoop 2.6.0分布式部署參考手冊

    Hadoop 2.6.0分布式部署參考手冊 关于本參考手冊的word文档.能够到例如以下地址下载:http://download.csdn.net/detail/u012875880/8291493 ...

  7. Hadoop生态圈-zookeeper完全分布式部署

    Hadoop生态圈-zookeeper完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客部署是建立在Hadoop高可用基础之上的,关于Hadoop高可用部署请参 ...

  8. Hadoop 完全分布式部署

    完全分布式部署Hadoop 分析: 1)准备3台客户机(关闭防火墙.静态ip.主机名称) 2)安装jdk 3)配置环境变量 4)安装hadoop 5)配置环境变量 6)安装ssh 7)集群时间同步 7 ...

  9. Hadoop生态圈-flume日志收集工具完全分布式部署

    Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...

  10. Hadoop生态圈-phoenix完全分布式部署以及常用命令介绍

    Hadoop生态圈-phoenix完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. phoenix只是一个插件,我们可以用hive给hbase套上一个JDBC壳,但是你 ...

随机推荐

  1. oracle执行update时卡死问题的解决办法

    原因: 由于在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以下办法解决: 先查询锁定记录 Sql代码 SELECT s.sid, s.se ...

  2. flask表单标签

    环境:python2.7+flask+flask_wtf 内容:flask的部分常用表单标签 test.py # -*- coding: utf-8 -*- # flask web_form 表单控件 ...

  3. Solr使用in语法查询

    Solr可以用AND.||  布尔操作符 表示查询的并且, 用OR.&&  布尔操作符 表示或者 用NOT.!.-(排除操作符不能单独与项使用构成查询)表示非 如果要用在查询的时候使用 ...

  4. es6(13)--Promise

    //Promise { //原始方法 let ajax=function(callback){ console.log('执行') setTimeout(function(){ callback&am ...

  5. Python的字典类型

    Python的字典类型为dict,用{}来表示,字典存放键值对数据,每个键值对用:号分隔,每个键值对之间用,号分隔,其基本格式如下: d = {key1 : value1, key2 : value2 ...

  6. 理解 with递归调用 Sqlserver 树查询

    --with用法 --可以这么理解 with SQL语句变量或者叫临时表名 as( SQL语句 ) select * from SQL语句变量或者叫临时表名 --递归调用 with CTE as( s ...

  7. java 创建简单工厂模式

    1.抽象类 package com.zpark.service; /** * 定义一个环境接口,所有省治理环境的方式都实现这个接口,并重写治理环境的方法 * @author tong * */ pub ...

  8. 21.xpath定位中id 、starts-with、contains、text()和last() 的用法

    xpath语法:id .starts-with.contains.text()和last() 的用法 <input id="su" class="bg s_btn ...

  9. Python学习笔记_week1

    一.编程语言的分类 编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言,Python是一门动态解释型的强类型定义语言. Python的优缺点 Python解释器:CPython.IPy ...

  10. 交叉编译zookeeper的C库

    原创文章,转载请正确注明本文原始URL及作者. 今天要编译一个zookeeper的C接口,要编译一个TK1版本. 事情经过这这样的:原来用的是zookeeper-3.4.6版本,但是源码中有个函数是汇 ...