首页 数据库 mysql教程 Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建

Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建

Jun 07, 2016 pm 04:33 PM
hadoop hdfs 实践 搭建 目录 集群

目录结构 Hadoop集群(CDH4)实践之 (0) 前言 Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建 Hadoop集群(CDH4)实践之 (2) HBaseZookeeper搭建 Hadoop集群(CDH4)实践之 (3) Hive搭建 Hadoop集群(CHD4)实践之 (4) Oozie搭建 Hadoop集群(CHD4)实践之 (5) Sqoop安

目录结构
Hadoop集群(CDH4)实践之 (0) 前言
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
Hadoop集群(CDH4)实践之 (2) HBase&Zookeeper搭建
Hadoop集群(CDH4)实践之 (3) Hive搭建
Hadoop集群(CHD4)实践之 (4) Oozie搭建
Hadoop集群(CHD4)实践之 (5) Sqoop安装

本文内容
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建

参考资料
http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/CDH4-Installation-Guide.html

环境准备
OS: CentOS 6.4 x86_64
Servers:
hadoop-master: 172.17.20.230 内存10G
- namenode

hadoop- secondarynamenode: 172.17.20.234 内存10G
- secondarybackupnamenode,jobtracker

hadoop-node-1: 172.17.20.231 内存10G
- datanode,tasktracker

hadoop-node-2: 172.17.20.232 内存10G
- datanode,tasktracker

hadoop-node-3: 172.17.20.233 内存10G
- datanode,tasktracker

对以上角色做一些简单的介绍:
namenode - 整个HDFS的命名空间管理服务
secondarynamenode - 可以看做是namenode的冗余服务
jobtracker - 并行计算的job管理服务
datanode - HDFS的节点服务
tasktracker - 并行计算的job执行服务

本文定义的规范,避免在配置多台服务器上产生理解上的混乱:
所有直接以 $ 开头,没有跟随主机名的命令,都代表需要在所有的服务器上执行,除非后面有单独的//开头或在标题说明。

1. 选择最好的安装包
为了更方便和更规范的部署Hadoop集群,我们采用Cloudera的集成包。
因为Cloudera对Hadoop相关的系统做了很多优化,避免了很多因各个系统间版本不符产生的很多Bug。
这也是很多资深Hadoop管理员所推荐的。
https://ccp.cloudera.com/display/DOC/Documentation/

2. 安装Java环境
由于整个Hadoop项目主要是通过Java开发完成的,因此需要JVM的支持。
登陆www.oracle.com(需要创建一个ID),从以下地址下载一个64位的JDK,如jdk-7u45-linux-x64.rpm

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

$ sudo rpm -ivh jdk-7u45-linux-x64.rpm
$ sudo vim /etc/profile.d/java.sh

 
export JAVA_HOME=/usr/java/jdk1.7.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
登录后复制

$ sudo chmod +x /etc/profile.d/java.sh
$ source /etc/profile

3. 配置Hadoop安装源
$ sudo rpm --import http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/RPM-GPG-KEY-cloudera
$ cd /etc/yum.repos.d/
$ sudo wget http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/cloudera-cdh4.repo

4. 安装Hadoop相关套件,选择MRv1的框架支持
$ sudo yum install hadoop-hdfs-namenode //仅在hadoop-master上安装

$ sudo yum install hadoop-hdfs-secondarynamenode //仅在hadoop-secondary上安装
$ sudo yum install hadoop-0.20-mapreduce-jobtracker //仅在hadoop-secondary上安装

$ sudo yum install hadoop-hdfs-datanode //仅在hadoop-node上安装
$ sudo yum install hadoop-0.20-mapreduce-tasktracker //仅在hadoop-node上安装

$ sudo yum install hadoop-client

5. 创建Hadoop配置文件
$ sudo cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster

6. 激活新的配置文件
$ sudo alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
$ sudo alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
$ cd /etc/hadoop/conf

7. 添加hosts记录并修改对应的主机名
$ sudo vim /etc/hosts

 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.20.230 hadoop-master
172.17.20.234 hadoop-secondary
172.17.20.231 hadoop-node-1
172.17.20.232 hadoop-node-2
172.17.20.233 hadoop-node-3
登录后复制

8. 安装LZO支持
$ cd /etc/yum.repos.d
$ sudo wget http://archive.cloudera.com/gplextras/redhat/6/x86_64/gplextras/cloudera-gplextras4.repo
$ sudo yum install hadoop-lzo-cdh4

9. 配置hadoop/conf下的文件
$ sudo vim /etc/hadoop/conf/masters

 
hadoop-master
登录后复制

$ sudo vim /etc/hadoop/conf/slaves

 
hadoop-node-1
hadoop-node-2
hadoop-node-3
登录后复制

10. 创建hadoop的HDFS目录
$ sudo mkdir -p /data/{1,2,3,4}/mapred/local
$ sudo chown -R mapred:hadoop /data/{1,2,3,4}/mapred/local

$ sudo mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn
$ sudo chown -R hdfs:hdfs /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn
$ sudo chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn

$ sudo mkdir /data/tmp
$ sudo chmod 1777 /data/tmp

11. 配置core-site.xml
$ sudo vim /etc/hadoop/conf/core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?>
 fs.defaultFS
 hdfs://hadoop-master:8020
 hadoop.tmp.dir
 /data/tmp/hadoop-${user.name}
  hadoop.proxyuser.oozie.hosts
  *
  hadoop.proxyuser.oozie.groups
  *
  hadoop.proxyuser.hive.hosts
  *
  hadoop.proxyuser.hive.groups
  *
登录后复制

12. 配置hdfs-site.xml
$ sudo vim /etc/hadoop/conf/hdfs-site.xml

 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?>
 dfs.namenode.name.dir
 /data/1/dfs/nn,/nfsmount/dfs/nn
  dfs.namenode.http-address
  hadoop-master:50070
  fs.namenode.checkpoint.period
  3600
  fs.namenode.checkpoint.dir
  /data/1/dfs/ns
  dfs.namenode.secondary.http-address
  hadoop-secondary:50090
  dfs.replication
  3
 dfs.permissions.superusergroup
 supergroup
 dfs.datanode.data.dir
 /data/1/dfs/dn,/data/2/dfs/dn,/data/3/dfs/dn
  dfs.datanode.max.xcievers
  4096
登录后复制


13. 配置mapred-site.xml
$ sudo vim /etc/hadoop/conf/mapred-site.xml

 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?>
 mapred.job.tracker
 hadoop-secondary:8021
 mapred.local.dir
 /data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local
登录后复制

14. 格式化HDFS分布式文件系统
$ sudo -u hdfs hadoop namenode -format //仅在hadoop-master上执行一次

15. 启动Hadoop进程
在hadoop-master上启动namenode
$ sudo /etc/init.d//etc/init.d/hadoop-hdfs-namenode start

在hadoop-secondary上启动secondarynamenode,jobtracker
$ sudo /etc/init.d/hadoop-hdfs-secondarynamenode start
$ sudo /etc/init.d/hadoop-0.20-mapreduce-jobtracker start

在hadoop-node上启动datanode,tasktracker
$ sudo /etc/init.d/hadoop-hdfs-datanode start
$ sudo /etc/init.d/hadoop-0.20-mapreduce-tasktracker start

16. 创建mapred.system.dir以及/tmp HDFS目录
以下HDFS操作仅需在任意一台主机上执行一次
$ sudo -u hdfs hadoop fs -mkdir /tmp
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
$ sudo -u hdfs hadoop fs -mkdir -p /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
$ sudo -u hdfs hadoop fs -chmod 1777 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
$ sudo -u hdfs hadoop fs -chown -R mapred /var/lib/hadoop-hdfs/cache/mapred
$ sudo -u hdfs hadoop fs -ls -R /
$ sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system
$ sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system

17. 配置HADOOP_MAPRED_HOME
$ sudo vim /etc/profile.d/hadoop.sh

 
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce
登录后复制

$ source /etc/profile

18. 查看整个集群的状态
通过网页进行查看:http://hadoop-master:50070

19. 至此,Hadoop(HDFS)的搭建就已经完成。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何阻止Outlook自动将事件添加到我的日历 如何阻止Outlook自动将事件添加到我的日历 Feb 26, 2024 am 09:49 AM

作为一款电子邮件管理器应用程序,MicrosoftOutlook允许我们安排活动和约会。它通过提供在Outlook应用程序中创建、管理和跟踪这些活动(也称为事件)的工具,使我们能够保持有序。然而,有时会将不需要的事件添加到Outlook中的日历中,这会给用户造成混乱,并向日历发送垃圾邮件。在本文中,我们将探讨可帮助我们防止Outlook自动将事件添加到我的日历中的各种方案和步骤。Outlook活动-简要概述Outlook事件具有多种用途,并具有许多有用的功能,具体如下:日历集成:在Outlook

织梦CMS站群实践分享 织梦CMS站群实践分享 Mar 18, 2024 am 10:18 AM

织梦CMS站群实践分享近年来,随着互联网的快速发展,网站建设变得越来越重要。在建设多个网站时,站群技术成为了一个非常有效的方法。而在众多网站建设工具中,织梦CMS凭借其灵活性和易用性成为了不少站群爱好者的首选。本文将分享一些关于织梦CMS站群的实践经验,以及一些具体的代码示例,希望能为正在探索站群技术的读者提供一些帮助。1.什么是织梦CMS站群?织梦CMS

PHP编码实践:拒绝使用goto语句的替代方案 PHP编码实践:拒绝使用goto语句的替代方案 Mar 28, 2024 pm 09:24 PM

PHP编码实践:拒绝使用goto语句的替代方案近年来,随着编程语言的不断更新和迭代,程序员们开始更加注重编码规范和最佳实践。在PHP编程中,goto语句作为一种控制流语句存在已久,但在实际应用中往往会导致代码的可读性和可维护性下降。本文将分享一些替代方案,帮助开发人员拒绝使用goto语句,提高代码质量。一、为什么拒绝使用goto语句?首先,让我们来思考一下为

节点从Proxmox VE彻底撤离及再次加入集群 节点从Proxmox VE彻底撤离及再次加入集群 Feb 21, 2024 pm 12:40 PM

节点从ProxmoxVE彻底撤离及再次加入集群场景描述当ProxmoxVE集群中有节点损坏无法快速修复时,需要将故障节点干净的从集群踢出,并把残留信息清理干净。否则,新的节点用故障节点曾使用用的IP的地址将不能正常加入集群;同样,从集群中脱离出来的故障节点修复后,虽然与集群已经毫无关系,但访问此单节点的Web管理后台,将出现原ProxmoxVE集群其它节点的信息,非常恼火。从集群中驱逐节点如果ProxmoxVE是Ceph超融合集群,需要登录集群任意节点(欲删除节点除外)宿主系统Debian,命令

雾锁王国能野地搭建筑吗 雾锁王国能野地搭建筑吗 Mar 07, 2024 pm 08:28 PM

玩家在雾锁王国中进行游戏时可以收集不同的材料用来建造建筑,有很多玩家想知道野地搭建筑吗,雾锁王国能野地是不能搭建筑的,必须要在祭坛的范围内才可以搭建。雾锁王国能野地搭建筑吗答:不能。1、雾锁王国能野地是不能搭建筑的。2、建筑必须要在祭坛的范围内才可以搭建。3、玩家可以自行放置灵火祭坛,但一旦离开了范围,将无法进行建筑搭建。4、我们也可以直接在山上挖个洞当做我们的家,这样不用耗建筑材料。5、玩家自己搭建的建筑中,存在舒适度机制,也就是说,内饰越好,舒适度越高。6、高舒适度将为玩家带来属性加成,例如

目录怎么自动生成 自动生成目录格式怎么设置 目录怎么自动生成 自动生成目录格式怎么设置 Feb 22, 2024 pm 03:30 PM

在word中挑选目录的款式,操作完成就可以自动生成了。解析1进到电脑的word,点一下引入。2进去后,点一下文件目录。3接着挑选文件目录的款式。4操作完成,就可以看到文件目录自动生成了。补充:总结/注意事项文章的目录自动生成,其中包括一级标题、二级标题和三级标题,通常不超过三级标题。

使用Golang进行流量管理的最佳实践 使用Golang进行流量管理的最佳实践 Mar 07, 2024 am 08:27 AM

Golang是一种强大且高效的编程语言,广泛应用于构建网络服务和应用程序。在网络服务中,流量管理是至关重要的一环,它可以帮助我们控制和优化网络上的数据传输,保障服务的稳定性和性能。本文将介绍使用Golang进行流量管理的最佳实践,并提供具体的代码示例。1.使用Golang的net包进行基本的流量管理Golang的net包提供了处理网络数

微信读书怎么看目录 查看目录的方法 微信读书怎么看目录 查看目录的方法 Mar 30, 2024 pm 05:56 PM

  微信读书app手机版是一款非常不错的阅读软件,这款软件内提供的书籍作品非常多,随时随地想看就看一键搜索在线阅读,且都是官方正版授权的,不同类型的书籍整齐排序,享受舒适轻松的阅读氛围。切换不同情景的阅读模式,每天不间断更新最新的书籍章节,支持多端设备在线登录,批量下载到书架上,有无网络情况下一样能看,让大家从中发现更多知识,现在小编在线详细为微信读书伙伴们推送查看目录的方法。  1.打开需要查看目录的书籍,点击书籍中间位置。  2.点击左下方的三条线图标。  3.在弹出的窗口中,查看书籍目录即

See all articles