码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop

时间:2019-01-17 19:52:08      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:虚拟机   功能   上传   监视   创建   span   取数   erp   环境   

 

 Hadoop组成

技术分享图片

 

HDFS(Hadoop Distributed File System)架构概述

  NameNode目录--主刀医生(nn);  DataNode(dn)数据; Secondary NameCode(2nn)助手;

技术分享图片

YARN框架  常驻 + 临时

ResourceManager(RM) 组长;

NodeManager 组员;

Client客户;Job Submission来任务了  ---->> ApplicationMaster,任务结束它就卸任了;   

ApplicationMaster(AM)临时项目任务负责人,由RM任命监视等;

容器Container:底层没有虚拟,只虚拟了应用层,但仍可以隔离cup和内存;(与虚拟机的区别);可以在一个机器里开3个容器(都要是一样的如3个window,因为系统底层没变;)
占cpu内存用来运行任务如APP Mster;

技术分享图片

 

 

 MapReduce架构概述  计算引擎

技术分享图片

 

 

大数据生态体系

技术分享图片

 

 

 

查看Hadoop目录结构
[atguigu@hadoop101 hadoop-2.7.2]$ ll
总用量 52
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share
重要目录1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5share目录:存放Hadoop的依赖jar包、文档、和官方案例

 

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。

本地式

可运行的程序只有MapReduce(程序);而yarn(内存和cup),HDFS(硬盘)是给MapReduce提供运行的环境;

本地式用的不是hdfs,而是本地的硬盘;而调度的资源也不是来自yarn而是本地的操作系统;

.xml文件就是输入;grep是执行jar包的哪个主类,一个jar包可以有多个主类和主方法;输入文件夹--输出文件夹(起始没有这个文件夹,否则会报错)--‘ 模板正则等 ‘

wordcount是一个主类

伪分布式:一台电脑搭出一个集群;HDFS分3个组建NameNode、DataNode、Secondary NameNode;  yarn是分4个组建,实际只搭2个ResourceManage和NodeManager,

既是NameNode也是DataNode;既是ResourceManager也是NodeManager,这些进程都跑在一台机器上;

hadoop-env.sh、mapred-env.sh、yarn-env.sh三个配置java_home
core-site.xml 指定HDFS中NameNode的地址;定Hadoop运行时产生文件的存储目录
hdfs-site.xml 指定HDFS副本的数量 为1,就1台机器; 这些副本肯定分布在不同的服务器上;
mapred-site.xml 指定MR运行在YARN上
yarn-site.xml   Reducer获取数据的方式;指定YARN的ResourceManager的地址(服务器)

hdfs namenode -format格式化HDFS

hadoop-daemon.sh start namenode 启动NameNode

hadoop-daemon.sh start datanode 启动DataNode

启动前必须保证NameNode和DataNode已经启动

启动ResourceManager;

启动NodeManager

hadoop fs -put wcinput/ /  往集群的跟目录中上传一个wcinput文件
158 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wcinput /output

 

[kris@hadoop100 hadoop-2.7.2]$ dirname /opt/module/hadoop-2.7.2/
/opt/module
[kris@hadoop100 hadoop-2.7.2]$ dirname hadoop-2.7.2
.
[kris@hadoop100 hadoop-2.7.2]$ cd -P .
[kris@hadoop100 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2

遍历所有的主机名

##########集群分发脚本
#!/bin/bash
#xxx /opt/module
if (($#<1))  
then 
        echo 参数不足
        exit
fi
fl=$(basename $1)  #文件名 basename /opt/module/hadoop-2.7.2/-->>hadoop-2.7.2
pdir=$(cd -P $(dirname $1); pwd)  父目录 dirname /opt/module/hadoop-2.7.2/  --->> /opt/module
for host in hadoop102 hadoop103 hadoop104
do
        rsync -av $pdir/$fl $host:$pdir
done

 

 

 



用scp发送
scp -r hadoop100:/opt/module/jdk1.8.0_144 hadoop102:/opt/module/

用rsync发送
[kris@hadoop100 module]$ rsync -av hadoop-2.7.2/ hadoop102:/opt/module/ 把当前目录下的全发过去了
[kris@hadoop102 module]$ ls
bin  include  jdk1.8.0_144  libexec      NOTICE.txt  README.txt  share
etc  input    lib           LICENSE.txt  output      sbin        wcinput
[kris@hadoop102 module]$ ls | grep -v jdk
过滤删除只剩jdk的
[kris@hadoop102 module]$ ls | grep -v jdk | xargs rm -rf 


[kris@hadoop100 module]$ ll 总用量
12 drwxr-xr-x. 12 kris kris 4096 1月 15 14:55 hadoop-2.7.2 drwxr-xr-x. 8 kris kris 4096 7月 22 2017 jdk1.8.0_144 -rw-rw-r--. 1 kris kris 223 1月 15 17:13 xsync [kris@hadoop100 module]$ chmod +x xsync [kris@hadoop100 module]$ ll 总用量 12 drwxr-xr-x. 12 kris kris 4096 1月 15 14:55 hadoop-2.7.2 drwxr-xr-x. 8 kris kris 4096 7月 22 2017 jdk1.8.0_144 -rwxrwxr-x. 1 kris kris 223 1月 15 17:13 xsync [kris@hadoop100 module]$ [kris@hadoop100 module]$ ./xsync /opt/module/jdk1.8.0_144

 

 

[kris@hadoop100 module]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kris/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/kris/.ssh/id_rsa.
Your public key has been saved in /home/kris/.ssh/id_rsa.pub.
The key fingerprint is:
fd:15:a4:68:6e:88:c3:a1:f4:64:1b:aa:95:12:02:4a kris@hadoop100
The keys randomart image is:
+--[ RSA 2048]----+
|.E            .  |
|+          . o   |
|o . . =   o . .  |
| . o O = =     . |
|  . = * S +   .  |
|   +   . . . .   |
|  .         .    |
|                 |
|                 |
+-----------------+
[kris@hadoop100 module]$ ssh-copy-id hadoop100 #给自己也发一份
[kris@hadoop100 module]$ ssh-copy-id hadoop101
[kris@hadoop100 module]$ ssh-copy-id hadoop102
[kris@hadoop100 module]$ ssh-copy-id hadoop103
[kris@hadoop100 module]$ ssh-copy-id hadoop104

100给100、101、102、103、104都赋权了;100<==>100双向通道已经建立,我能到自己了;可以把这个双向通道copy给其他的;

[kris@hadoop100 .ssh]$ ll
总用量 16
-rw-------. 1 kris kris 396 1月 15 18:45 authorized_keys  把公钥放在已授权的keys里边,它跟公钥里边内容是一样的;
-rw-------. 1 kris kris 1675 1月 15 18:01 id_rsa  秘钥
-rw-r--r--. 1 kris kris 396 1月 15 18:01 id_rsa.pub 公钥
-rw-r--r--. 1 kris kris 2025 1月 15 17:37 known_hosts 


[kris@hadoop102 .ssh]$ ll
总用量 4
-rw-------. 1 kris kris 396 1月  15 18:04 authorized_keys


[kris@hadoop100 module]$ ./xsync /home/kris/.ssh     #给其他账户发送.ssh 
sending incremental file list
.ssh/
.ssh/id_rsa
.ssh/id_rsa.pub
.ssh/known_hosts

sent 4334 bytes  received 73 bytes  8814.00 bytes/sec
total size is 4096  speedup is 0.93


sudo cp xsync /bin #copy到bin目录,就可全局使用;
[kris@hadoop100 module]$ xsync /opt/module/hadoop-2.7.2/ 

 

6 NN      RM    2NN 
  DN|NM  DN|NM  DN|NM

101                102                103                    
NameNode   ResourceManager  SecondaryNameNode
104               105            106
DataNode     DateNode     DateNode
NodeManager  NodeManager  NodeManager




slave 104| 105 | 106

HDFS: NameNode| DataNode | SecondaryNameNode
YARN: ResourceManager | NodeManager
清理数据(每一台):
 [kris@hadoop100 ~]$ cd $HADOOP_HOME
 [kris@hadoop100 hadoop-2.7.2]$ rm -rf data logs
101           102               103
NameNode    ResourceManager  SecondaryNameNode
DataNode    DataNode            DataNode
NodeManager NodeManager         NodeManager


pwd $JAVA_HOME
$HADOOP_HOME/etc/hadoop
 (对mapred-site.xml.template重新命名为) mapred-site.xml
配置hadoop-env.sh,yarn-env.sh,mapred-env.sh文件,配置Java_HOME

配置Core-site.xml--->>指定HDFS中NameNode的地址 hdfs://hadoop101:9000 ; 指定Hadoop运行时产生文件的存储目录 /opt/module/hadoop-2.7.2/data/tmp
配置hdfs-site.xml-->>数据的副本数量 ; 指定Hadoop辅助名称节点主机配置 hadoop103:50090
配置yarn-site.xml-->>Reducer获取数据的方式  指定YARN的ResourceManager的地址:hadoop102;  日志聚集功能使能; 日志保留时间设置7天
配置mapred-site.xml-->>历史服务器端地址:adoop103:10020 ;历史服务器web端地址:hadoop103:19888
配置Slaves  hadoop101 hadoop102 hadoop103

格式化创建namenode                   hdfs namenode -format
在101上启动HDFS:   start-dfs.sh   (101namenode)
在Hadoop102上启动  start-yarn.sh
关闭:
[kris@hadoop101 hadoop-2.7.2]$ stop-dfs.sh 
Stopping namenodes on [hadoop101]
hadoop101: stopping namenode
hadoop101: stopping datanode
hadoop102: stopping datanode
hadoop103: stopping datanode
Stopping secondary namenodes [hadoop103]
hadoop103: stopping secondarynamenode

[kris@hadoop102 hadoop-2.7.2]$ stop-yarn.sh 
stopping yarn daemons
stopping resourcemanager
hadoop102: stopping nodemanager
hadoop103: stopping nodemanager
hadoop101: stopping nodemanager
no proxyserver to stop


jpsall脚本:
#!/bin/bash
for i in hadoop101 hadoop102 hadoop103
do
        echo "-------$i-------"
        ssh $i "source /etc/profile && jps" | grep -v jps
done
                                                                                                            
~                                                                                                                    
"jpsall" 6L, 135C 已写入                                                                           
[kris@hadoop101 hadoop-2.7.2]$ sh jpsall 
-------hadoop101-------
3377 DataNode
4099 Jps
3238 NameNode
3676 NodeManager
-------hadoop102-------
4160 Jps
3476 NodeManager
3177 DataNode
3359 ResourceManager
-------hadoop103-------
3976 Jps
3449 NodeManager
3209 DataNode
3279 SecondaryNameNode

 

Hadoop

标签:虚拟机   功能   上传   监视   创建   span   取数   erp   环境   

原文地址:https://www.cnblogs.com/shengyang17/p/10274391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!