本文只是介绍apache hadoop完全分布式的最简化部署配置 没有对性能进行优化
实际生产环境hadoop的调优参数有几十个

Hadoop简介

Hadoop的框架最核心组成结构就是:HDFS和MapReduce。
HDFS是海量数据的分布式存储方案
MapReduce为海量的数据提供了计算

部署环境

  1. centos 7 3台或者4台 如果需要secondarynamenode的情况
    分别是namenode datanode0 datanode1 secondarynamenode暂时不配置

  2. hadoop 2.7.5

部署步骤

  1. 去官网下载apache hadoop2.7.5的binaray包,是tar.gz格式。直接使用wget或者curl下载到namenode即可。
  2. 解压tar.gz包 使用命令tar xf xxxxxxx-hadoop-xxxx.tar.gz 解压之后会看到当前目录下有一个hadoop的目录
  3. 将解压后的目录复制到相应的文件 如:有人习惯放在/opt下,有人习惯在/usr/local下,这个因人而异吧,目前我的做法是创建一个如/app的目录,然后将hadoop的目录复制到这个目录下,操作如下:mkdir /app 创建一个app目录 然后使用cp -r hadoop-xxxx /app/ 将hadoop-xxxx的目录复制到/app/下,这里注意 -r参数
  4. 配置ssh免密登录权限,也就是要让namenode可以无密码登录其他的节点
  5. 配置etc/hadoop/core-site.xml
    指定namenode
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode/</value>
    </property>
  6. 配置etc/hadoop/hdfs-site.xml
    指定副本数量
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
  7. 配置etc/hadoop/yarn.xml
    指定资源管理器的主机
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
    </property>
    指定节点管理器的主机
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
  8. 配置etc/hadoop/mapred-site.xml
    指定mapreduce框架
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>

  9. 配置etc/hadoop/slave文件,将datanode添加进去,本文环境就是datanode0和datanode1

  10. 从namenode将hadoop的目录复制到其他节点,包括所有的binary,脚本,配置文件,默认其他节点的目录位置和结构与namenode一致

  11. 格式化hdfs
    hdfs namenode -format

  12. 使用sbin/start-all.sh启动集群即可