阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

完全分布式Hadoop集群安装与配置

113次阅读
没有评论

共计 9642 个字符,预计需要花费 25 分钟才能阅读完成。

一、Hadoop 基本介绍
Hadoop 优点
1. 高可靠性:Hadoop 按位存储和处理数据
2. 高扩展性:Hadoop 是在计算机集群中完成计算任务,这个集群可以方便的扩展到几千台
3. 高效性:Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度快
4. 高容错性:Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配
5. 低成本:Hadoop 是开源的,集群是由廉价的 PC 机组成
Hadoop 架构和组件
Hadoop 是一个分布式系统基础架构,底层是 HDFS(Hadoop Distributed File System)分布式文件系统,它存储 Hadoop 集群中所有存储节点上的文件(64MB 块),HDFS 上一层是 MapReduce 引擎(分布式计算框架),对分布式文件系统中的数据进行分布式计算。
1.HDFS 架构
NameNode:Hadoop 集群中只有一个 NameNode,它负责管理 HDFS 的目录树和相关文件的元数据信息
Sencondary NameNode:有两个作用,一是镜像备份,二是日志与镜像定期合并,并传输给 NameNode
DataNode:负责实际的数据存储,并将信息定期传输给 NameNode
2.MapReduce 架构(Hadoop0.23 以后采用 MapReduce v2.0 或 Yarn)
Yarn 主要是把 jobtracker 的任务分为两个基本功能:资源管理和任务调度与监控,ResourceManager 和每个节点(NodeManager)组成了新处理数据的框架。
ResourceManager:负责集群中的所有资源的统一管理和分配,接受来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各种应用程序(ApplicationMaster)。
NodeManager:与 ApplicationMaster 承担了 MR1 框架中的 tasktracker 角色,负责将本节点上的资源使用情况和任务运行进度汇报给 ResourceManager。

完全分布式 Hadoop 集群安装与配置

MapReduce v1.0 框架(图 1)

完全分布式 Hadoop 集群安装与配置

MapReduce v2.0 框架(图 2)

环境介绍:
master-hadoop 192.168.0.201
slave1-hadoop 192.168.0.202
slave2-hadoop 192.168.0.203
最新稳定版:http://www.apache.org/dist/hadoop/core/hadoop-2.3.0/
JDK 下载:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html
参考官方文档:http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-common/ClusterSetup.html
Hadoop 三种运行方式:单节点方式(单台)、单机伪分布方式(一个节点的集群)与完全分布式(多台组成集群)

二、准备环境
1.Hadoop 是用 Java 开发的,必须要安装 JDK1.6 或更高版本
2.Hadoop 是通过 SSH 来启动 slave 主机中的守护进程,必须安装 OpenSSH
3.Hadoop 更新比较快,我们采用最新版 hadoop2.3 来安装
4.配置对应 Hosts 记录,关闭 iptables 和 selinux(过程略)
5.创建相同用户及配置无密码认证

三、安装环境(注:三台配置基本相同)
1.安装 JDK1.7
[root@master-hadoop ~]# tar zxvf jdk-7u17-linux-x64.tar.gz
[root@master-hadoop ~]# mv jdk1.7.0_17/ /usr/local/jdk1.7
[root@slave1-hadoop ~]# vi/etc/profile    #末尾添加变量
JAVA_HOME=/usr/local/jdk1.7
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME CLASSPATHPATH
[root@slave1-hadoop ~]#source /etc/profile 
[root@slave1-hadoop ~]# java-version      #显示版本说明配置成功
java version”1.7.0_17″
Java(TM) SE RuntimeEnvironment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-BitServer VM (build 23.7-b01, mixed mode)

2.创建 hadoop 用户,指定相同 UID
[root@master-hadoop ~]#useradd -u 600 hadoop
[root@master-hadoop ~]#passwd hadoop
Changing password for userhadoop.
New password:
Retype new password:
passwd: all authenticationtokens updated successfully.

3. 配置 SSH 无密码登录(注:master-hadoop 本地也要实现无密码登录)
[root@master-hadoop ~]# su – hadoop
[hadoop@master-hadoop ~]$ ssh-keygen -t rsa    #一直回车生成密钥
[hadoop@master-hadoop ~]$ cd/home/hadoop/.ssh/
[hadoop@master-hadoop .ssh]$ ls
id_rsa  id_rsa.pub
[hadoop@slave1-hadoop ~]$ mkdir /home/hadoop/.ssh  #登录两台创建.ssh 目录
[hadoop@slave2-hadoop ~]$ mkdir /home/hadoop/.ssh
[hadoop@master-hadoop .ssh]$ scp id_rsa.pub hadoop@slave1-hadoop:/home/hadoop/.ssh/
[hadoop@master-hadoop .ssh]$ scp id_rsa.pub hadoop@slave2-hadoop:/home/hadoop/.ssh/
[hadoop@slave1-hadoop ~]$ cd/home/hadoop/.ssh/
[hadoop@slave1-hadoop .ssh]$ cat id_rsa.pub >> authorized_keys
[hadoop@slave1-hadoop .ssh]$ chmod 600 authorized_keys
[hadoop@slave1-hadoop .ssh]$ chmod 700 ../.ssh/  #目录权限必须设置 700
[root@slave1-hadoop ~]# vi /etc/ssh/sshd_config  #开启 RSA 认证
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
[root@slave1-hadoop ~]# service sshd restart

相关阅读

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 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

四、Hadoop 的安装与配置(注:三台服务器配置一样,使用 scp 复制过去)
[root@master-hadoop ~]# tar zxvf hadoop-2.3.0.tar.gz -C /home/hadoop/
[root@master-hadoop ~]# chown hadoop.hadoop -R /home/hadoop/hadoop-2.3.0/
[root@master-hadoop ~]# vi /etc/profile  #添加 hadoop 变量,方便使用
HADOOP_HOME=/home/hadoop/hadoop-2.3.0/
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME PATH
[root@master-hadoop ~]# source /etc/profile

1. hadoop-env.sh 设置 jdk 路径
[hadoop@master-hadoop ~]$ cd hadoop-2.3.0/etc/hadoop/
[hadoop@master-hadoop hadoop]$ vi hadoop-env.sh
export Java_HOME=/usr/local/jdk1.7/

2.slaves 设置从节点
[hadoop@master-hadoophadoop]$ vi slaves
slave1-hadoop
slave2-hadoop

3.core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master-hadoop:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
</property>
</configuration>
4.hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>    #数据副本数量,默认 3,我们是两台设置 2
<value>2</value> 
</property>
</configuration>

6.yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>master-hadoop:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master-hadoop:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master-hadoop:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master-hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master-hadoop:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

7.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master-hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master-hadoop:19888</value>
</property>
</configuration>

五、格式化文件系统并启动
1. 格式化新的分布式文件系统(hdfs namenode -format)

完全分布式 Hadoop 集群安装与配置

2. 启动 HDFS 文件系统并使用 jps 检查守护进程是否启动

完全分布式 Hadoop 集群安装与配置完全分布式 Hadoop 集群安装与配置

可以看到 master-hadoop 已经启动 NameNode 和 SecondaryNameNode 进程,slave-hadoop 已经启动 DataNode 进程说明正常。
3. 启动新 mapreduce 架构(YARN)

完全分布式 Hadoop 集群安装与配置完全分布式 Hadoop 集群安装与配置

可以看到 master-hadoop 已经启动 ResourceManger 进程,slave-hadoop 已经启动 NodeManager 进程说明正常。
4. 查看集群状态

完全分布式 Hadoop 集群安装与配置

5. 通过 web 查看资源(http://192.168.0.201:8088)

完全分布式 Hadoop 集群安装与配置

6、查看 HDFS 状态(http://192.168.0.201:50070)

完全分布式 Hadoop 集群安装与配置

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

一、Hadoop 基本介绍
Hadoop 优点
1. 高可靠性:Hadoop 按位存储和处理数据
2. 高扩展性:Hadoop 是在计算机集群中完成计算任务,这个集群可以方便的扩展到几千台
3. 高效性:Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度快
4. 高容错性:Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配
5. 低成本:Hadoop 是开源的,集群是由廉价的 PC 机组成
Hadoop 架构和组件
Hadoop 是一个分布式系统基础架构,底层是 HDFS(Hadoop Distributed File System)分布式文件系统,它存储 Hadoop 集群中所有存储节点上的文件(64MB 块),HDFS 上一层是 MapReduce 引擎(分布式计算框架),对分布式文件系统中的数据进行分布式计算。
1.HDFS 架构
NameNode:Hadoop 集群中只有一个 NameNode,它负责管理 HDFS 的目录树和相关文件的元数据信息
Sencondary NameNode:有两个作用,一是镜像备份,二是日志与镜像定期合并,并传输给 NameNode
DataNode:负责实际的数据存储,并将信息定期传输给 NameNode
2.MapReduce 架构(Hadoop0.23 以后采用 MapReduce v2.0 或 Yarn)
Yarn 主要是把 jobtracker 的任务分为两个基本功能:资源管理和任务调度与监控,ResourceManager 和每个节点(NodeManager)组成了新处理数据的框架。
ResourceManager:负责集群中的所有资源的统一管理和分配,接受来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各种应用程序(ApplicationMaster)。
NodeManager:与 ApplicationMaster 承担了 MR1 框架中的 tasktracker 角色,负责将本节点上的资源使用情况和任务运行进度汇报给 ResourceManager。

完全分布式 Hadoop 集群安装与配置

MapReduce v1.0 框架(图 1)

完全分布式 Hadoop 集群安装与配置

MapReduce v2.0 框架(图 2)

环境介绍:
master-hadoop 192.168.0.201
slave1-hadoop 192.168.0.202
slave2-hadoop 192.168.0.203
最新稳定版:http://www.apache.org/dist/hadoop/core/hadoop-2.3.0/
JDK 下载:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html
参考官方文档:http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-common/ClusterSetup.html
Hadoop 三种运行方式:单节点方式(单台)、单机伪分布方式(一个节点的集群)与完全分布式(多台组成集群)

二、准备环境
1.Hadoop 是用 Java 开发的,必须要安装 JDK1.6 或更高版本
2.Hadoop 是通过 SSH 来启动 slave 主机中的守护进程,必须安装 OpenSSH
3.Hadoop 更新比较快,我们采用最新版 hadoop2.3 来安装
4.配置对应 Hosts 记录,关闭 iptables 和 selinux(过程略)
5.创建相同用户及配置无密码认证

三、安装环境(注:三台配置基本相同)
1.安装 JDK1.7
[root@master-hadoop ~]# tar zxvf jdk-7u17-linux-x64.tar.gz
[root@master-hadoop ~]# mv jdk1.7.0_17/ /usr/local/jdk1.7
[root@slave1-hadoop ~]# vi/etc/profile    #末尾添加变量
JAVA_HOME=/usr/local/jdk1.7
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME CLASSPATHPATH
[root@slave1-hadoop ~]#source /etc/profile 
[root@slave1-hadoop ~]# java-version      #显示版本说明配置成功
java version”1.7.0_17″
Java(TM) SE RuntimeEnvironment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-BitServer VM (build 23.7-b01, mixed mode)

2.创建 hadoop 用户,指定相同 UID
[root@master-hadoop ~]#useradd -u 600 hadoop
[root@master-hadoop ~]#passwd hadoop
Changing password for userhadoop.
New password:
Retype new password:
passwd: all authenticationtokens updated successfully.

3. 配置 SSH 无密码登录(注:master-hadoop 本地也要实现无密码登录)
[root@master-hadoop ~]# su – hadoop
[hadoop@master-hadoop ~]$ ssh-keygen -t rsa    #一直回车生成密钥
[hadoop@master-hadoop ~]$ cd/home/hadoop/.ssh/
[hadoop@master-hadoop .ssh]$ ls
id_rsa  id_rsa.pub
[hadoop@slave1-hadoop ~]$ mkdir /home/hadoop/.ssh  #登录两台创建.ssh 目录
[hadoop@slave2-hadoop ~]$ mkdir /home/hadoop/.ssh
[hadoop@master-hadoop .ssh]$ scp id_rsa.pub hadoop@slave1-hadoop:/home/hadoop/.ssh/
[hadoop@master-hadoop .ssh]$ scp id_rsa.pub hadoop@slave2-hadoop:/home/hadoop/.ssh/
[hadoop@slave1-hadoop ~]$ cd/home/hadoop/.ssh/
[hadoop@slave1-hadoop .ssh]$ cat id_rsa.pub >> authorized_keys
[hadoop@slave1-hadoop .ssh]$ chmod 600 authorized_keys
[hadoop@slave1-hadoop .ssh]$ chmod 700 ../.ssh/  #目录权限必须设置 700
[root@slave1-hadoop ~]# vi /etc/ssh/sshd_config  #开启 RSA 认证
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
[root@slave1-hadoop ~]# service sshd restart

相关阅读

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 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计9642字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中