本文主要详细地描述了hadoop集群的搭建以及一些配置文件的说明,用于自己复习以及供新人学习,若有错误之处还请指出。
前期准备先给出我的集群架构:
到hadoop官网下载好hadoop安装包
装好四台虚拟机(我的四台虚拟机是CentOs6.3系统)
四台虚拟机都装好jdk
四台虚拟机都配好免密登录
四台虚拟机都配置好ip地址和主机名映射关系(以下是我的地址映射关系)
vim /etc/hosts
192.168.25.13 mini1 192.168.25.14 mini2 192.168.25.15 mini3 192.168.25.16 mini4以上步骤有不会的可查看我的其他几篇博客:
Linux下的常用配置
Linux下配置免密登录
1、将hadoop安装包上传到mini1上,解压后改名,并创建目录hadoopdata与hadoop目录平行
tar -zxvf hadoop-2.6.5.tar.gz -C /root/apps/ cd /root/apps/ mv hadoop-2.6.5 hadoop mkdir hadoopdata2、进入hadoop配置文件目录下,可看到以下配置文件
cd hadoop/etc/hadoop/3、修改hadoop-env.sh配置文件
vim hadoop-env.sh #写上自己的JAVA_HOME4、修改core-site.xml配置文件
vim core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://mini1:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/apps/hadoopdata</value> </property> </configuration>配置说明:
fs.defaultFS:hadoop使用什么文件系统 hdfs://mini1:9000:指定hadoop系统使用hdfs文件系统,并指明namenode为mini1,客户端访问端口为9000 hadoop.tmp.dir:hadoop文件存储目录 有2个参数可配置,但一般来说我们不做修改。 fs.checkpoint.period表示多长时间记录一次hdfs的镜像,默认是1小时。 fs.checkpoint.size表示镜像文件快大小,默认64M。 <property> <name>fs.checkpoint.period</name> <value>3600</value> </property> <property> <name>fs.checkpoint.size</name> <value>67108864</value> </property>5、修改hdfs-site.xml(可不做任何配置,使用默认)
vim hdfs-site.xml <configuration> <property> <name>dfs.namenode.name.dir</name> <value>/root/apps/hadoopdata/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/root/apps/hadoopdata/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>配置说明:
dfs.namenode.name.dir:namenode节点的数据存放目录 dfs.datanode.data.dir:datanode节点的数据存放目录 dfs.replication:集群中hdfs保存数据的副本数6、更改mapred-site.xml.template的配置文件名,并进行配置
mv mapred-site.xml.template mapred-site.xml vim mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>配置说明:
mapreduce.framework.name:使用yarn运行mapreduce程序7、修改yarn-site.xml配置文件
vim yarn-site.xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>mini1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>配置说明:
yarn.resourcemanager.hostname:指定YARN的老大(ResourceManager)的地址 yarn.nodemanager.aux-services:指定reducer获取数据的方式8、修改slaves文件
vim slaves # 在此文件下写入需要启动datanode和nodemanager的机器(往往datanode和nodemanager在一台机器上启动),一行代表一台机器。9、将hadoop添加到环境变量,并重新加载环境变量
vim /etc/profile export HADOOP_HOME=http://www.likecs.com/itcast/hadoop-2.4.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile 重要!重要!重要!!!Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己对源码进行编译64位的版本。
自己编译比较麻烦,可以去网站: 下载对应的编译版本。