文档章节

hadoop完全分布式集群搭建

迪allen
 迪allen
发布于 2014/03/21 20:01
字数 1175
阅读 999
收藏 12

                hadoop分布式集群搭搭建(环境:linux虚拟机上)

1.准备工作:(规划主机名,ip及用途,先搭建三台,第四台动态的添加

            用途栏中,也可以把namenode,secondaryNamenode及jobTracker

            分开部署,看实际需求,不唯一)

  主机名        机器ip        用途

  cloud01    192.168.1.101    namenode/secondaryNamenode/jobTracker

  cloud02    192.168.1.102    datanode/taskTracker

  cloud03    192.168.1.103    datanode/taskTracker

  cloud04    192.168.1.104    datanode/taskTracker

2.配置linux环境(以下参照伪分布式的搭建)

    2.1修改主机名(cloud01,cloud02,cloud03)

    2.2修改每台机器的ip(按照自己分配的)

    2.3修改主机名与ip的映射关系

       (只在cloud01上修改,改完后拷贝到其它机器上就行,指令:

        scp /etc/profile cloud02:/etc/

        scp /etc/profile cloud03:/etc/)

    2.4关闭防火墙

    2.5重启

3.安装jdk(参照伪分布式的搭建,版本以jdk1.6.0_45为例)

  只需要在一台机器上安装,然后拷贝到其他机器上(软件最好统一管理)

  例如在cloud01上jdk安装在/soft/java下

  (使用指令:scp -r /soft/java/ cloud02:/soft/

            scp -r /soft/java/ cloud03:/soft/

  就可以把jdk拷贝过去了.但是我们暂时不拷贝过去,等下面hadoop安装好后,一起拷过去)

4.安装hadoop集群(hadoop版本以hadoop-1.1.2为例)

    4.1上传hadoop压缩包到/soft目录下,并解压到该目录下(参照伪分布式的搭建)

    4.2配置hadoop(这次需要配置6个文件)

    4.21hadoop-env.sh

        在第九行

        export JAVA_HOME=/soft/java/jdk1.6.0_45 (注意把前面的#号去掉)

    4.22core-site.xml

        <!-- 指定HDFS的namenode的通信地址 -->

        <property>

            <name>fs.default.name</name>

            <value>hdfs://cloud01:9000</value>

        </property>

        <!-- 指定hadoop运行时产生文件的存放目录 -->

        <property>

            <name>hadoop.tmp.dir</name>

            <value>/soft/hadoop-1.1.2/tmp</value>

        </property>

    4.23hdfs-site.xml

        <!-- 配置HDFS副本的数量(根据需求,实际情况自己定义,默认为3份) -->

        <property>

            <name>dfs.replication</name>

            <value>3</value>

        </property>

    4.24mapred-site.xml

        <!-- 指定jobtracker地址 -->

        <property>

            <name>mapred.job.tracker</name>

            <value>cloud01:9001</value>

        </property>

    4.25masters(指定secondarynamenode地址)

        cloud01

    4.26slaves(指定子节点)

        cloud02

        cloud03

    4.3将配置好的hadoop拷贝到其他两台机器上

        直接将soft那个文件夹都拷贝过去(里面包含了jdk和hadoop,所以强烈建议

        文件要统一管理)

        指令:

        scp -r /soft/ cloud02:/

        scp -r /soft/ cloud03:/

    4.4配置ssh免登

        是主节点到子节点的免登陆

        即cloud01到cloud02和cloud03的免登陆

        在cloud01上生成即可

        指令:ssh-keygen -t rsa

        然后拷贝到其它两台机器上

        指令:ssh-copy-id -i cloud02

         ssh-copy-id -i cloud03

    4.5格式化hadoop

        只需要在cloud01(主节点namenode)上格式化就行

        指令:hadoop namenode -format

    4.6验证

        启动集群 指令:start-all.sh

        如果启动过程,报错safemode相关的Exception

        执行命令:hadoop dfsadmin -safemode leave(退出安全模式)

        再次启动hadoop

        然后jps一下,查看各台机器,看是否和规划好的用途一样即可)

        OK,如果和规划好的一样,就大功告成了.

5.动态添加一台节点

        (在实际生产过程中,很常见,很实用)

        cloud04    192.168.1.104    datanode/taskTracker

    5.1通过clone的方式添加一台linux(以clone cloud01为例.实际生产过程中不会这样,

       因为实际生产过程中很少用虚拟机,都是直接服务器.注意,clone时,

       得先把要clone的机器给停掉)

    5.2修改主机名,ip地址,配置映射文件,关闭防火墙,再hadoop配置

        文件slaves中添加cloud04,设置免登陆,重启

       (clone的话,就无需再配置映射文件,和关闭防火墙了.因为

        你clone的那台机器已经配置好了)

    5.3重启机器后,分别启动datanode和taskTracker

        指令:hadoop-daemon.sh start datanode

         hadoop-daemon.sh start tasktracker

    5.4在cloud01上即namenode所在节点上运行命令刷新

       hadoop dfsadmin -refreshNodes

    5.5验证

        http://linux的ip:50070(hdfs管理界面)

        看是否多了一个节点,如果多了一个,则大功告成了!

6.删除一台节点(此处为收集)

    6.1在cloud01上修改/soft/hadoop-1.1.2/conf/hdfs-site.xml文件

        添加配置信息:

        <property>

            <name>dfs.hosts.exclude</name>

            <value>/soft/hadoop-1.1.2/conf/excludes</value>

        </property>

    6.2确定要下架的机器

        dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。

    6.3强制重新加载配置

        指令:hadoop dfsadmin  -refreshNodes

    6.4关闭节点

        指令:hadoop dfsadmin -report 

        可以查看到现在集群上连接的节点

        正在执行Decommission,会显示: 

        Decommission Status : Decommission in progress   

        执行完毕后,会显示: 

        Decommission Status : Decommissioned 

    6.5再次编辑excludes文件

        一旦完成了机器下架,它们就可以从excludes文件移除了

        登录要下架的机器,会发现DataNode进程没有了,但是TaskTracker依然存在,

        需要手工处理一下



© 著作权归作者所有

迪allen
粉丝 28
博文 14
码字总数 11554
作品 0
程序员
私信 提问
hbase分布式集群搭建

hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。 hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环...

纯洁的虫纸
2017/08/11
0
0
大数据教程(一)—— Hadoop集群坏境搭建配置

前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到...

biubiubiu!
2017/05/02
0
0
好程序员大数据笔记之:Hadoop集群搭建

在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天集中总结以下笔记,希望对各位同学...

好程序员IT
05/21
17
0
Hadoop单机模式部署

一、Hadoop部署模式 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的J...

结束的伤感
2016/04/20
0
0
【Hadoop】- Hadoop1.x 伪分布式环境搭建

Hadoop体系的主要组件:HDFS/MapReduce HDFS: Hadoop Distribution File System NameNode、SecondNameNode:名称节点 作用:维护Hadoop中存储数据块的相关信息,例如记录hadoop集群中某个数...

ZeroneLove
02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
3分钟前
2
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
31分钟前
2
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
32分钟前
4
0
Netty整合Protobuffer

现在我们都知道,rpc的三要素:IO模型,线程模型,然后就是数据交互模型,即我们说的序列化和反序列化,现在我们来看一下压缩比率最大的二进制序列化方式——Protobuffer,而且该方式是可以跨...

算法之名
37分钟前
17
0
如何用C++实现栈

栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压...

BWH_Steven
56分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部