完全分布式Hadoop2.3安装与配置
一、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。
MapReduce v1.0框架(图1)
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
1
2
3
4
5
6
7
8
9
10
11
12
|
[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
1
2
3
4
5
6
|
[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本地也要实现无密码登录)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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 |
四、Hadoop的安装与配置(注:三台服务器配置一样,使用scp复制过去)
1
2
3
4
5
6
7
|
[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路径
1
2
3
|
[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设置从节点
1
2
3
|
[hadoop@master-hadoophadoop]$ vi slaves slave1-hadoop slave2-hadoop |
3.core-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<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)
2.启动HDFS文件系统并使用jps检查守护进程是否启动
可以看到master-hadoop已经启动NameNode和SecondaryNameNode进程,slave-hadoop已经启动DataNode进程说明正常。
3.启动新mapreduce架构(YARN)
可以看到master-hadoop已经启动ResourceManger进程,slave-hadoop已经启动NodeManager进程说明正常。
4.查看集群状态
5.通过web查看资源(http://192.168.0.201:8088)
6、查看HDFS状态(http://192.168.0.201:50070)
本文出自 ““企鹅”那点事儿” 博客,请务必保留此出处http://going.blog.51cto.com/7876557/1365883
完全分布式Hadoop2.3安装与配置的更多相关文章
- hadoop2.7.7 分布式集群安装与配置
环境准备 服务器四台: 系统信息 角色 hostname IP地址 Centos7.4 Mster hadoop-master-001 10.0.15.100 Centos7.4 Slave hado ...
- zabbix分布式监控服务 安装与配置
zabbix安装与配置 一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- hadoop2.0安装和配置
hadoop2与hadoop1的配置有些许不同,最主要的是hadoop1里的master变成了yarn 这篇文直接从hadoop的配置开始,因为系统环境和jdk和hadoop1都是一样的. hadoo ...
- 分布式管理系统-git安装及配置
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ git config - ...
- hadoop-2.5安装与配置
安装之前准备4台机器:bluejoe0,bluejoe4,bluejoe5,bluejoe9 bluejoe0作为master,bluejoe4,5,9作为slave bluejoe0作为nameno ...
- hadoop完全分布式模式的安装和配置
本文是将三台电脑用路由器搭建本地局域网,系统为centos6.5,已经实验验证,搭建成功. 一.设置静态IP&修改主机名&关闭防火墙(all-root)(对三台电脑都需要进行操作) 0 ...
- 分布式文件系统FastDFS安装与配置(单机)
安装包如下:fastdfs-nginx-module_v1.16.tar.gzFastDFS_v5.05.tar.gzlibfastcommon-master.zipnginx-1.8.0.tar.g ...
- Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置
一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ...
- Hadoop:Hadoop单机伪分布式的安装和配置
http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在doc ...
随机推荐
- Linux的分段和分页机制
1.分段机制 80386的两种工作模式 80386的工作模式包括实地址模式和虚地址模式(保护模式).Linux主要工作在保护模式下. 分段机制 在保护模式下,80386虚地址空间可达16K个段,每 ...
- mysql concat和group_concat
mysql concat(str1,str2...)连接两个字符串,(数字也是可以的,会转成字符串) MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL mys ...
- (组合数学3.1.2.2)POJ 2084 Game of Connections(卡特兰数公示的实现)
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class POJ_2084 ...
- java事务管理(二)
数据库事务和Spring事务是一般面试都会被提到,很多朋友写惯了代码,很少花时间去整理归纳这些东西,结果本来会的东西,居然吞吞吐吐答不上来. 下面是我收集到一些关于Spring事务的问题,希望能帮助大 ...
- JavaScript DOM高级程序设计 4.3控制事件流和注册事件侦听器--我要坚持到底!
一.事件流 我们通过下面一个实例,进行说明. <body> <h1>Event Flow</h1> <ul id="nav"> &l ...
- Spring事务Transaction配置的五种注入方式详解
Spring事务Transaction配置的五种注入方式详解 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学 ...
- C++中巧妙的位运算
位运算要多想到与预算和异或运算,并常常将两个数对应位上相同和不同分开处理 一.x&(x-1)消除x二进制中最右边的一个1. 这个比较厉害,比如统计某个 二.与和异或的巧妙结合的思想 与运算可以 ...
- 宏HASH_INSERT
调用 方法 HASH_INSERT(lock_t, hash, lock_sys->rec_hash,lock_rec_fold(space, page_no), lock); /******* ...
- 推荐:ThoughtWorks(中国)程序员读书雷达
部分转自张逸的博客:http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/ 长久以来一直对程序员 ...
- HDU 4635 Strongly connected(强连通分量,变形)
题意:给出一个有向图(不一定连通),问最多可添加多少条边而该图仍然没有强连通. 思路: 强连通分量必须先求出,每个强连通分量包含有几个点也需要知道,每个点只会属于1个强连通分量. 在使图不强连通的前提 ...