共计 5226 个字符,预计需要花费 14 分钟才能阅读完成。
1.Hadoop 介绍
Hadoop 是 Apache 软件基金会旗下的一个开源分布式计算平台。以 Hadoop 分布式文件系统(HDFS,Hadoop Distributed Filesystem)和 MapReduce(Google MapReduce 的开源实现)为核心的 Hadoop 为用户提供了系统底层细节透明的分布式基础架构。
对于 Hadoop 的集群来讲,可以分成两大类角色:Master 和 Salve。一个 HDFS 集群是由一个 NameNode 和若干个 DataNode 组成的。其中 NameNode 作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的 DataNode 管理存储的数据。MapReduce 框架是由一个单独运行在主节点上的 JobTracker 和运行在每个集群从节点的 TaskTracker 共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个 Job 被提交时,JobTracker 接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控 TaskTracker 的执行。
从上面的介绍可以看出,HDFS 和 MapReduce 共同组成了 Hadoop 分布式系统体系结构的核心。HDFS 在集群上实现分布式文件系统,MapReduce 在集群上实现了分布式计算和任务处理。HDFS 在 MapReduce 任务处理过程中提供了文件操作和存储等支持,MapReduce 在 HDFS 的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了 Hadoop 分布式集群的主要任务。
1.2 环境说明
master 192.168.0.201
slave 192.168.0.220
两个节点都是 CentOS 7
1.3 环境准备
永久关闭防火墙和 selinux
systemctl disable firewalld
systemctl stop firewalld
setenforce 0
1.4 网络配置
两台修改主机名:master/salve
设置 hosts,能互相解析
1.5 配置 ssh 互信
master
yum -y install sshpass
ssh-keygen 一路回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.220
slave
yum -y install sshpass
ssh-keygen 一路回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.201
测试 ssh 对方主机,不提示输入密码则 OK
2. 安装 JDK
两台机器都装
tar zxvf jdk-8u65-linux-x64.tar.gz
mv jdk1.8.0_65 /usr/jdk
2.1 设置环境变量
两台机器都设置
export JAVA_HOME=/usr/jdk
export JRE_HOME=/usr/jdk/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
执行 source /etc/profile
3. 测试 JDK
java -version
3.1 安装 Hadoop
官方网站下载 CDH-2.6-hadoop:archive.cloudera.com/cdh5
tar zxvf hadoop-2.6.0-cdh5.4.8.tar.gz
mv hadoop-2.6.0-cdh5.4.8 /usr/hadoop
cd /usr/hadoop
mkdir -p dfs/name
mkdir -p dfs/data
mkdir -p tmp
3.2 添加 slave
cd /usr/hadoop/etc/hadoop
vim slaves
192.168.0.220 #添加 slaveIP
3.3 修改 hadoop-env.sh 和 yarn.env.sh
vim hadoop-env.sh / vim yarn-env.sh
export export JAVA_HOME=/usr/jdk #加入 java 变量
3.4 修改 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.201:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
3.5 修改 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>:/usr/hadoopdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>:/sur/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.0.201:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
3.6 修改 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.0.201:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.0.201:19888</value>
</property>
</configuration>
3.7 修改 yarn-site.xml
<configuration>
<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>192.168.0.201:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.0.201:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.0.201:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.0.201:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.0.201:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
4. 把配置文件拷贝到 slave 端
scp -r /usr/hadoop root@192.168.0.220:/usr/
5. 格式化 nanenode
./bin/hdfs namenode -format
5.1 启动 hdfs
./sbin/start-dfs.sh$ ./sbin/start-yarn.sh
5.2 检查启动情况
输入 192.168.0.201:8088
输入网址:192.168.0.201:9001
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/124909.htm