本文只是介绍apache hadoop完全分布式的最简化部署配置 没有对性能进行优化
实际生产环境hadoop的调优参数有几十个
Hadoop简介
Hadoop的框架最核心组成结构就是:HDFS和MapReduce。
HDFS是海量数据的分布式存储方案
MapReduce为海量的数据提供了计算
部署环境
-
centos 7 3台或者4台 如果需要secondarynamenode的情况
分别是namenode datanode0 datanode1 secondarynamenode暂时不配置
- hadoop 2.7.5
部署步骤
- 去官网下载apache hadoop2.7.5的binaray包,是tar.gz格式。直接使用wget或者curl下载到namenode即可。
- 解压tar.gz包 使用命令tar xf xxxxxxx-hadoop-xxxx.tar.gz 解压之后会看到当前目录下有一个hadoop的目录
- 将解压后的目录复制到相应的文件 如:有人习惯放在/opt下,有人习惯在/usr/local下,这个因人而异吧,目前我的做法是创建一个如/app的目录,然后将hadoop的目录复制到这个目录下,操作如下:mkdir /app 创建一个app目录 然后使用cp -r hadoop-xxxx /app/ 将hadoop-xxxx的目录复制到/app/下,这里注意 -r参数
- 配置ssh免密登录权限,也就是要让namenode可以无密码登录其他的节点
- 配置etc/hadoop/core-site.xml
指定namenode
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode/</value>
</property>
- 配置etc/hadoop/hdfs-site.xml
指定副本数量
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 配置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>
-
配置etc/hadoop/mapred-site.xml
指定mapreduce框架
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-
配置etc/hadoop/slave文件,将datanode添加进去,本文环境就是datanode0和datanode1
-
从namenode将hadoop的目录复制到其他节点,包括所有的binary,脚本,配置文件,默认其他节点的目录位置和结构与namenode一致
-
格式化hdfs
hdfs namenode -format
- 使用sbin/start-all.sh启动集群即可