部署Hadoop高性能集群

部署Hadoop高性能集群

服务器概述

1)Hadoop是什么

Hadoop是Lucene创始人Doug Cutting,根据Google的相关内容山寨出来的分布式文件系统和对海量数据进行分析计算的基础框架系统,其中包含MapReduce程序,hdfs系统等。

Hadoop包括两大核心,分布式存储系统和分布式计算系统。

2)分布式存储

为什么数据需要存储在分布式的系统中哪,难道单一的计算机存储不了吗,难道现在的几个TB的硬盘装不下这些数据吗?事实上,确实装不下。比如,很多的电信通话记彔就存储在很多台服务器的很多硬盘中。那么,要处理这么多数据,必须从一台一台服务器分别读取数据和写入数据,太麻烦了! 我们希望有一种文件系统,可以管辖很多服务器用于存储数据。通过这个文件系统存储数据时,感觉不到是存储到不同的服务器上的。当读取数据时,感觉不到是从不同的服务器上读取。

3)如图:这就是分布式文件系统。

分布式文件系统管理的是一个服务器集群。在这个集群中,数据存储在集群的节点(即集群中的服务器)中,但是该文件系统把服务器的差异屏蔽了。那么,我们就可以像使用普通的文件系统一样使用,但是数据却分散在不同的服务器中。

4)命名空间(namespace):

在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,文件夹可以一级一级的包含。我们把这种组织形式称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。命名空间的职责与存储真实数据的职责是不一样的。负责命名空间职责的节点称为主节点(master node),负责存储真实数据职责的节点称为从节点(slave node)。

5)节点:

主节点负责管理文件系统的文件结构,从节点负责存储真实的数据,称为主从式结构(master-slaves)。

用户操作时,也应该先和主节点打交道,查询数据在哪些从节点上存储,然后再从从节点读取。在主节点,为了加快用户访问的速度,会把整个命名空间信息都放在内存中,当存储的文件越多时,那么主节点就需要越多的内存空间。

1block:在从节点存储数据时,有的原始数据文件可能很大,有的可能很小,大小不一的文件不容易管理,那么可以抽象出一个独立的存储文件单位,称为块(block)。

2容灾:数据存放在集群中,可能因为网络原因或者服务器硬件原因造成访问失败,最好采用副本(replication)机制,把数据同时备份到多台服务器中,这样数据就安全了,数据丢失或者访问失败的概率就小了。

3工作流程图:  

6)总结:

在以上的主从式结构中,由于主节点含有整个文件系统的目彔结构信息,因为非常重要。另外,由于主节点运行时会把命名空间信息都放到内存中,因此存储的文件越多,主节点的内存就需要的越多。

在hadoop中,分布式存储系统称为HDFS(hadoop distributed file system)。其中,主节点称为名字节点(namenode),从节点称为数据节点(datanode)。

7)分布式计算:

对数据进行处理时,我们会把数据读取到内存中进行处理。如果我们对海量数据进行处理,比如数据大小是100GB,我们要统计文件中一共有多少个单词。要想把数据都加载到内存中几乎是不可能的,称为移动数据。

那么是否可以把程序代码放到存放数据的服务器上哪?因为程序代码与原始数据相比,一般很小,几乎可以忽略的,所以省下了原始数据传输的时间了。现在,数据是存放在分布式文件系统中,100GB的数据可能存放在很多的服务器上,那么就可以把程序代码分发到这些服务器上,在这些服务器上同时执行,也就是并行计算,也是分布式计算。这就大大缩短了程序的执行时间。我们把程序代码移动到数据节点的机器上执行的计算方式称为移动计算。

分布式计算需要的是最终的结果,程序代码在很多机器上并行执行后会产生很多的结果,因此需要有一段代码对这些中间结果进行汇总。Hadoop中的分布式计算一般是由两阶段完成的。第一阶段负责读取各数据节点中的原始数据,进行初步处理,对各个节点中的数据求单词数。然后把处理结果传输到第二个阶段,对中间结果进行汇总,产生最终结果,求出100GB文件总共有多少个单词,如图所示:

在hadoop中,分布式计算部分称为MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

在分布式计算过程中有以下角色:

主节点称为作业节点(jobtracker),

从节点称为任务节点(tasktracker)。

在任务节点中,运行第一阶段的代码称为map任务(map task),运行第二阶段的代码称为reduce任务(reduce task)。task : 任务 , tracker ,跟踪器

8)关于hadoop的名词解释

(1)Hadoop:Apache开源的分布式框架。

(2)HDFS:Hadoop的分布式文件系统。

(3)NameNode:Hadoop HDFS元数据主节点服务器,负责保存DataNode 文件存储元数据信息,这个服务器是单点的。

(4)JobTracker:Hadoop的Map/Reduce调度器,负责与TaskTracker通信分配计算任务并跟踪任务进度,这个服务器也是单点的。

(5)DataNode:Hadoop数据节点,负责存储数据。

(6)TaskTracker:Hadoop调度程序,负责Map,Reduce任务的启动和执行。

注:Namenode记录着每个文件中各个块所在的数据节点的位置信息

一:实验拓扑

 

二:实验目标

:搭建Hadoop集群:

 

三:实验环境

xuegod63.cn   192.168.1.63  NameNode

xuegod64.cn   192.168.1.64  DataNode1

xuegod62.cn   192.168.1.62  DataNode2

四:实验代码

1:基本环境配置如下

1)三台机器上配置hosts文件,如下:

[[email protected] ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63   xuegod63.cn

192.168.1.64   xuegod64.cn

192.168.1.62   xuegod62.cn

复制hosts到其它两机器:

[[email protected] ~]# scp /etc/hosts [email protected]:/etc/

[[email protected] ~]# scp /etc/hosts [email protected]:/etc/

注意:在/etc/hosts中,不要把机器名字,同时对应到127.0.0.1这个地址,否则会导致数据节点连接不上

namenode,报错如下:

org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:9000

2)无秘钥登录

配置在xuegod63上,可以ssh无密码登录机器xuegod63,xuegod64,xuegod62 ,方便后期复制文件和启动服务。因为namenode启动时,会连接到datanode上启动对应的服务。

(1)生成公钥和私钥

[[email protected] ~]# ssh-keygen

(2)导入公钥到其他datanode节点认证文件

[[email protected] ~]# ssh-copy-id [email protected]

[[email protected] ~]# ssh-copy-id [email protected]

 

2:三台机器上都要配置安装Java环境JDK:

1安装及配置Java运行环境—jdk。升级了jdk的版本

[[email protected] ~]# rpm -ivh jdk-7u71-linux-x64.rpm

[[email protected] ~]#rpm -pql /root/jdk-7u71-linux-x64.rpm#通过查看jdk的信息可以知道jdk的安装目录在/usr/java

[[email protected] ~]#vim/etc/profile#在文件的最后添加以下内容:

export JAVA_HOME=/usr/java/jdk1.7.0_71

export JAVA_BIN=/usr/java/jdk1.7.0_71/bin

export PATH=${JAVA_HOME}/bin:$PATH

export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

2)使配置文件生效

[[email protected] ~]#source /etc/profile

3)验证java运行环境是否安装成功:

[[email protected] ~]#  java -version

java version "1.7.0_71"

Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

如果出现安装的对应版本,说明java运行环境已经安装成功。

注:这里只是升级了jdk的版本,因为在我安装的系统中已经安装了jdk。

4)将jdk部署到其它两台机器上:

[[email protected] ~]# scp jdk-7u71-linux-x64.rpm [email protected]:/root

[[email protected] ~]# scp jdk-7u71-linux-x64.rpm [email protected]:/root

[[email protected] ~]# scp /etc/profile 192.168.1.62:/etc/profile

[[email protected] ~]# scp /etc/profile 192.168.1.64:/etc/profile

5)安装:

[[email protected] ~]# rpm -ivh jdk-7u71-linux-x64.rpm

[[email protected]~]# rpm -ivh jdk-7u71-linux-x64.rpm

6)重新加载java运行环境:

[[email protected] ~]# source /etc/profile

[[email protected] ~]# source /etc/profile

7)测试:

[[email protected]~]# java -version

java version "1.7.0_71"

Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

[[email protected] ~]# java -version

java version "1.7.0_71"

Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

3:创建运行hadoop用户账号和Hadoop目录。

[[email protected] ~]# useradd -u 8000 hadoop#为了保障,在其它服务器上创建的hadoop用户ID保持一致,创建时,尽量把UID调大

[[email protected] ~]# echo 123456 | passwd --stdin hadoop

[[email protected]~]# useradd -u 8000 hadoop

[[email protected]~]# echo 123456 | passwd --stdin hadoop

[[email protected]~]# useradd -u 8000 hadoop

[[email protected]~]# echo 123456 | passwd --stdin hadoop

注:创建用户hadoop时,不能使用参数-s /sbin/nologin  ,因为稍后我们要su -hadoop 切换用户

4:在xuegod63安装Hadoop并配置成name node主节点

Hadoop安装目录:/home/hadoop/hadoop-2.2.0使用root帐号将hadoop-2.2.0.tar.gz上传到服务器

1)创建hadoop相关的工作目录:

[[email protected] ~]# cp hadoop-2.2.0.tar.gz /home/hadoop/

[[email protected] ~]# chown -R hadoop:hadoop /home/hadoop/hadoop-2.2.0.tar.gz

[[email protected] ~]# su - hadoop

[[email protected]3 ~]$ mkdir -p /home/hadoop/dfs/name /home/hadoop/dfs/data /home/hadoop/tmp

[[email protected] ~]$ tar zxvf hadoop-2.2.0.tar.gz

[[email protected]3 ~]$ ls

dfs  hadoop-2.2.0  hadoop-2.2.0.tar.gz  tmp

2)配置Hadoop:需要修改7个配置文件。

文件位置:/home/hadoop/hadoop-2.2.0/etc/hadoop/

文件名称:hadoop-env.sh、yarn-evn.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

1配置文件hadoop-env.sh,指定hadoop的java运行环境

该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。

[[email protected]]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

改:27 export JAVA_HOME=${JAVA_HOME}

为:export JAVA_HOME=/usr/java/jdk1.7.0_71

注:指定java运行环境变量,注意Java版本要对应

2配置文件yarn-env.sh,指定yarn框架的java运行环境

该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。

yarn :Hadoop 的新MapReduce 框架Yarn是Hadoop 自0.23.0 版本后新的map-reduce 框架(Yarn) 原理。

[[email protected] hadoop-2.2.0]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/yarn-env.sh

改:26   JAVA_HOME=$JAVA_HOME

为:26   JAVA_HOME=/usr/java/jdk1.7.0_71

3配置文件slaves,指定datanode 数据存储服务器

将所有DataNode的机器名字写入此文件中,每个主机名一行,配置如下:

[[email protected] hadoop-2.2.0]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/slaves

改:localhost

为:

xuegod64.cn

xuegod62.cn

4配置文件core-site.xml,指定访问hadoop web界面访问路径

这个是hadoop的核心配置文件,这里需要配置的就这两个属性,fs.default.name配置了hadoop的HDFS系统的命名,位置为主机的9000端口;hadoop.tmp.dir配置了hadoop的tmp目录的根位置。这里使用了一个文件系统中没有的位置,所以要先用mkdir命令新建一下。

[[email protected] hadoop-2.2.0]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/core-site.xml

改:

19 <configuration>

20 </configuration>

注:在<configuration>和</configuration>中间插入以一下红色和蓝色标记内容:

为:

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://xuegod63.cn: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>

<description>Abase for other temporary directories.</description>

</property>

</configuration>

注:property 财产

5配置文件hdfs-site.xml

这个是hdfs的配置文件,dfs.http.address配置了hdfs的http的访问位置;

dfs.replication配置了文件块的副本数,一般不大于从机的个数。

[[email protected] ~]# vim /home/hadoop/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

改:19 <configuration>

20

21 </configuration>

注:在<configuration>和</configuration>中间插入以一下红色和蓝色标记内容:

为:

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>xuegod63.cn:9001</value># 通过web界面来查看HDFS状态

</property>

<property>

<name>dfs.namenode.name.dir</na

<value>file:/home/hadoop/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>#每个Block有2个备份。

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

注:

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>xuegod63.cn:9001</value># 通过web界面来查看HDFS状态

</property>

<property>

<name>dfs.replication</name>

<value>2</value>#每个Block有2个备份。

</property>

6配置文件mapred-site.xml,

   这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn。mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数,同时指定:Hadoop的历史服务器historyserver

Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器

$ sbin/mr-jobhistory-daemon.shstart historyserver

这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况,生成mapred-site.xml。

[[email protected] hadoop-2.2.0]$ cp/home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml.template /home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml

[[email protected]]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml

改:19 <configuration>

20

21 </configuration>

注:在<configuration>和</configuration>中间插入以一下红色和蓝色标记内容:

为:

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>xuegod63.cn:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>xuegod63:19888</value>

</property>

</configuration>

7配置节点yarn-site.xml

该文件为yarn框架的配置,主要是一些任务的启动位置

[[email protected] hadoop-2.2.0]$ vim /home/hadoop/hadoop-2.2.0/etc/hadoop/yarn-site.xml

# 修改configuration内容如下:

改:

<configuration>

<!--Site specific YARN configuration properties -->

</configuration>

注:在<configuration>和</configuration>中间插入以一下红色和蓝色标记内容:

为:

<configuration>

<!--Site specific YARN configuration properties -->

<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>

<property>

<name>yarn.resourcemanager.address</name>

<value>xuegod63.cn:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>xuegod63.cn:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>xuegod63.cn:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>xuegod63.cn:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>xuegod63.cn:8088</value>

</property>

</configuration>

8复制到其他datanode节点:xuegod64和xuegod62

[[email protected] hadoop-2.2.0]$ scp -r /home/hadoop/hadoop-2.2.0 [email protected]:~/

[[email protected] hadoop-2.2.0]$ scp -r /home/hadoop/hadoop-2.2.0 [email protected]:~/

5:格式化

1)在xuegod63上启动Hadoop切换到hadoop用户

hadoop namenode的初始化,只需要第一次的时候初始化,之后就不需要了

[[email protected] hadoop-2.2.0]$ /home/hadoop/hadoop-2.2.0/bin/hdfs namenode -format

15/08/03 22:35:21 INFO common.Storage: Storage directory /home/hadoop/dfs/name has been successfully formatted.

。。。

15/08/03 22:35:21 INFO util.ExitUtil: Exiting with status 0

15/08/03 22:35:21 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at xuegod63.cn/192.168.1.63

************************************************************/

[[email protected] hadoop-2.2.0]# echo $?

0

2)查看格式化后,生成的文件:

[[email protected] hadoop]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm

[[email protected] ~]$ tree  /home/hadoop/dfs/

/home/hadoop/dfs/

├──data

└──name

└──current

├──fsimage_0000000000000000000

├──fsimage_0000000000000000000.md5

├──seen_txid

└──VERSION

生成基于hadoop用户的不输入密码登录:因为后期使用hadoop用户启动datanode节点使用需要直接登录到对应的服务器上启动datanode相关服务。

3)无秘钥登录

[[email protected] hadoop-2.2.0]$ ssh-keygen

[[email protected] hadoop-2.2.0]$ ssh-copy-id 192.168.1.64

[[email protected] hadoop-2.2.0]$ ssh-copy-id 192.168.1.62

[[email protected] hadoop-2.2.0]$ ssh-copy-id 192.168.1.63

6、启动hdfs: ./sbin/start-dfs.sh,即启动HDFS分布式存储

1)启动start-dfs.sh

[[email protected] hadoop-2.2.0]# /home/hadoop/hadoop-2.2.0/sbin/start-dfs.sh

Starting namenodes on [xuegod63.cn]

xuegod63.cn: starting namenode,logging to /home/hadoop/hadoop-2.2.0/logs/hadoop-root-namenode-xuegod63.cn.out

xuegod64.cn: starting datanode,logging to /home/hadoop/hadoop-2.2.0/logs/hadoop-root-datanode-xuegod64.cn.out

xuegod62.cn: starting datanode,logging to /home/hadoop/hadoop-2.2.0/logs/hadoop-root-datanode-xuegod62.cn.out

Starting secondary namenodes [xuegod63.cn]

xuegod63.cn: starting secondarynamenode, logging to /home/hadoop/hadoop-2.2.0/logs/hadoop-root-secondarynamenode-xuegod63.cn.out

2)注:如果报错,如:

xuegod64.cn: Host key verification failed.

解决:

[[email protected] ~]$ ssh 192.168.1.64#确认可以不输入密码直接连接上xuegod64

关闭后再重启:

[[email protected] hadoop-2.2.0]# /home/hadoop/hadoop-2.2.0/sbin/stop-dfs.sh

[[email protected] hadoop-2.2.0]# /home/hadoop/hadoop-2.2.0/sbin/start-dfs.sh

3)查看进程,

(1)此时master有进程:namenode和secondarynamenode进程:

[[email protected] ~]# ps -axu | grep namenode --color

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

root      8214  4.1  9.5 1882176 110804 ?      Sl   17:39   0:17 /usr/java/jdk1.7.0_71/bin/java -Dproc_namenode-Xmx1000m

。。。

-Dhadoop.log.dir=/home/hadoop/hadoop-2.2.0/logs -Dhadoop.log.file=hadoop-root-secondarynamenode-xuegod63.cn.log

(2)xuegod64和xuegod62上有进程:DataNode

[[email protected] ~]# ps -axu | grep datanode --color

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

root      5749  8.8  5.2 1851956 60656 ?       Sl   17:55   0:06 /usr/java/jdk1.7.0_71/bin/java -Dproc_datanode-Xmx1000m

。。。

 

7、在xuegod63上启动yarn: ./sbin/start-yarn.sh即,启动分布式计算

1)启动start-yarn.sh

[[email protected] hadoop-2.2.0]# /home/hadoop/hadoop-2.2.0/sbin/start-yarn.sh

starting yarn daemons

starting resourcemanager,logging to /home/hadoop/hadoop-2.2.0/logs/yarn-root-resourcemanager-xuegod63.cn.out学

xuegod62.cn: starting nodemanager,logging to /home/hadoop/hadoop-2.2.0/logs/yarn-root-nodemanager-xuegod62.cn.out

xuegod64.cn: starting nodemanager,logging to /home/hadoop/hadoop-2.2.0/logs/yarn-root-nodemanager-xuegod64.cn.out

2)查看进程:

查看xuegod63上的ResourceManager进程,xuegod62和xuegod64上的进程:DataNode NodeManager

[[email protected] ~]#  ps -axu | grep resourcemanager --color

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

root      9664  0.2 11.0 2044624 128724 pts/3  Sl   17:58   0:27 /usr/java/jdk1.7.0_71/bin/java -Dproc_resourcemanager-Xmx1000m

.............

[[email protected]~]#  ps -axu | grep nodemanager --color

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

hadoop    5486 31.8  7.8 1913012 91692 ?       Sl   23:01   0:20 /usr/java/jdk1.7.0_71/bin/java -Dproc_nodemanager-Xmx1000m -Dhadoop.log.dir=/home/hadoop/hadoop-2.2.0/logs

..........

[[email protected] ~]#  ps -axu | grep nodemanager --color

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

hadoop    2872 20.8  7.9 1913144 92860 ?       Sl   21:42   0:15 /usr/java/jdk1.7.0_71/bin/java -Dproc_nodemanager-Xmx1000m

.........

3)注:start-dfs.sh和start-yarn.sh这两个脚本可用start-all.sh代替。

[[email protected] ~]$ /home/hadoop/hadoop-2.2.0/sbin/start-all.sh

关闭:

[[email protected] ~]$ /home/hadoop/hadoop-2.2.0/sbin/stop-all.sh

8、启动:jobhistory服务,查看mapreduce运行状态

[[email protected] hadoop-2.2.0]# /home/hadoop/hadoop-2.2.0/sbin/mr-jobhistory-daemon.sh start historyserver

starting historyserver, logging to /home/hadoop/hadoop-2.2.0/logs/mapred-root-historyserver-xuegod63.cn.out

9、查看HDFS分布式文件系统状态:

1)启动hdfs dfsadmin -report

[[email protected] hadoop-2.2.0]$ /home/hadoop/hadoop-2.2.0/bin/hdfs dfsadmin -report

Datanodes available: 1(1 total, 0 dead)

Live datanodes:

Name:192.168.1.62:50010 (xuegod62.cn)

Hostname: xuegod62.cn

Decommission Status : Normal

Configured Capacity: 10320982016 (9.61 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 4737789952 (4.41 GB)

DFS Remaining: 5583167488 (5.20 GB)

DFS Used%: 0.00%

DFS Remaining%: 54.10%

Last contact: Sun May 31 21:58:00 CST 2015

Name: 192.168.1.64:50010 (xuegod64.cn)

Hostname: xuegod64.cn

Decommission Status : Normal

Configured Capacity: 10320982016 (9.61 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 5014945792 (4.67 GB)

DFS Remaining: 5306011648 (4.94 GB)

DFS Used%: 0.00%

DFS Remaining%: 51.41%

Last contact: Mon Aug 03 23:00:03 CST 2015

 

10:查看文件块组成:一个文件由哪些块组成

[email protected] ~]$ /home/hadoop/hadoop-2.2.0/bin/hdfs fsck / -files -blocks

Connecting to namenode via http://xuegod63.cn:50070

FSCK started by hadoop (auth:SIMPLE) from /192.168.1.63 for path / at Tue May 09 15:03:23 CST 2017

/ <dir>

/tmp <dir>

/tmp/hadoop-yarn <dir>

/tmp/hadoop-yarn/staging <dir>

/tmp/hadoop-yarn/staging/history <dir>

/tmp/hadoop-yarn/staging/history/done <dir>

/tmp/hadoop-yarn/staging/history/done_intermediate <dir>

Status: HEALTHY

Total size:0 B

Total dirs:7

Total files:0

Total symlinks:0

Total blocks (validated):0

Minimally replicated blocks:0

Over-replicated blocks:0

Under-replicated blocks:0

Mis-replicated blocks:0

Default replication factor:2

Average block replication:0.0

Corrupt blocks:0

Missing replicas:0

Number of data-nodes:1

Number of racks:1

FSCK ended at Tue May 09 15:03:23 CST 2017 in 17 milliseconds

The filesystem under path ‘/‘ is HEALTHY

测试:

(1)Web查看HDFS: http://192.168.1.63:50070

(2)通过Web查看hadoop集群状态: http://192.168.1.63:8088

时间: 2024-10-24 16:26:11

部署Hadoop高性能集群的相关文章

Hadoop集群部署-Hadoop 运行集群后Live Nodes显示0

可以尝试以下步骤解决: 1 ,分别删除:主节点从节点的  /usr/local/hadoop-2.6.2/etc/tmp   下得所有文件; 2: 编辑cd usr/local/hadoop-2.6.2/etc/hadoop/    vi slaves 删除slaves里面的 localhost 3:然后 hadoop namenode -format 4: 重新启动  start-all.sh

windows下hadoop的集群分布式部署

下面我们进行说明一下hadoop集群的搭建配置. 本文假设读者具有hadoop单机配置的基础,相同的部分不在重述. 以三台测试机为例搭建一个小集群,三台机器的ip分别为 192.168.200.1;192.168.200.2;192.168.200.3 cygwin,jdk的安装同windows下hadoop的单机伪分布式部署(1),这里略过. 1.配置 hosts 在三台机子的hosts文件中加入如下记录: 192.168.200.1 hadoop1  #master namenode 192

LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor=50 worker.tomcat.cachesize=10 worker.tomcat.cache_timeout=600 worker.tomcat.socket_keepalive=1 worker.tomcat.socket_timeout=300 Linux内核优化: vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容net.

Hadoop记录-Apache hadoop+spark集群部署

Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 CentOS 7.2Slave1 centos2 192.168.0.2 CentOS 7.2Slave2 centos2 192.168.0.3 Centos 7.22.基础环境配置2.1 hostname配置1)修改主机名在192.168.0.1 root用户下执行:hostnamectl set

大数据系列之Hadoop分布式集群部署

本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave Ip:10.211.55.4 各虚拟机环境配置好Jdk1.8(1.7+即可) 资料准备 hadoop-2.7.3.tar.gz 虚拟机配置步骤 以下操作都在两台虚拟机 root用户下操作,切换至root用户命令 配置Master hostname 为Master ; vi /etc/sysconfi

使用Docker在本地搭建Hadoop分布式集群

学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟机系统就得搞半天……). 那么,问题来了! 有没有更有可行性的办法? 提到虚拟化,Docker最近很是火热!不妨拿来在本地做虚拟化,搭建Hadoop的伪分布式集群环境.虽然有点大材小用,但是学习学习,练练手也是极好的. 文章比较长,建议先倒杯水,听我慢慢到来…… 先说一下我的思路吧: 先使用Dock

将java开发的wordcount程序部署到spark集群上运行

1 package cn.spark.study.core; 2 3 import java.util.Arrays; 4 5 import org.apache.spark.SparkConf; 6 import org.apache.spark.api.java.JavaPairRDD; 7 import org.apache.spark.api.java.JavaRDD; 8 import org.apache.spark.api.java.JavaSparkContext; 9 impo

高性能集群软件Keepalived之基础知识篇

一.Keepalived介绍 Keepalived是Linux下一个轻量级的高可用解决方案,它与HeartBeat.RoseHA实现的功能类似,都可以实现服务或者网络的高可用,但是又有差别:HeartBeat是一个专业的.功能完善的高可用软件,它提供了HA软件所需的基本功能,比如心跳检测和资源接管,监测集群中的系统服务,在群集节点间转移共享IP地址的所有者等,HeartBeat功能强大,但是部署和使用相对比较麻烦:与HeartBeat相比,Keepalived主要是通过虚拟路由冗余来实现高可用功

LVS高性能集群

LVS高性能集群  ====负载均衡硬件设备 1.什么是LVS?   linux virtual service,linux虚拟服务,使用多台服务器一起工作来提高服务的访问和处理性能   2.lvs的工作模式   (1)nat:通过地址转换访问服务   (2)tun:通过IP隧道访问服务   (3)dr:直接调度访问服务  ====直接路由调度 1.轮寻    2.加权,根据硬件的好坏来设置权值   3.最小连接4. 加权最小连接5. 基于地址的最小连接调度6. 目标7. 源        3.