Hadooph集群搭建

阅读目录(Content)
一、Hadoop的三种运行模式(启动模式)
1.1、单机模式(独立模式)(Local或Standalone Mode)
1.2、伪分布式模式(Pseudo-Distrubuted Mode)
1.3、全分布式集群模式(Full-Distributed Mode)
二、搭建伪分布式集群的前提条件
2.1、能够正常运行的Ubuntu操作系统
2.2、安装JDK,并配置环境变量
三、搭建伪分布式集群
3.1、安装hadoop
3.2、配置hadoop
3.3、启动集群四、一个问题前言  前面只是大概介绍了一下Hadoop,现在就开始搭建集群了。我们下尝试一下搭建一个最简单的集群。之后为什么要这样搭建会慢慢的分享,先要看一下效果吧!回到顶部(go to top)一、Hadoop的三种运行模式(启动模式

1.1、单机模式(独立模式)(Local或Standalone Mode)  -默认情况下,Hadoop即处于该模式,用于开发和调式。  -不对配置文件进行修改。
  -使用本地文件系统,而不是分布式文件系统。
  -Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。
  -用于对MapReduce程序的逻辑进行调试,确保程序的正确。
  1.2、伪分布式模式(Pseudo-Distrubuted Mode)  -Hadoop的守护进程运行在本机机器,模拟一个小规模的集群   -在一台主机模拟多主机。
  -Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。
  -在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,    以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop程序的执行是否正确。
  -修改3个配置文件:core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)
  -格式化文件系统
  1.3、全分布式集群模式(Full-Distributed Mode)  -Hadoop的守护进程运行在一个集群上   -Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。
  -在所有的主机上安装JDK和Hadoop,组成相互连通的网络。
  -在主机间设置SSH免密码登录,把各从节点生成的公钥添加到主节点的信任列表。
  -修改3个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml,指定NameNode和JobTraker的位置和端口,设置文件的副本等参数
  -格式化文件系统回到顶部(go to top)
  二、搭建伪分布式集群的前提条件环境:在ubuntu17.04    jdk1.8.0_131   
   hadoop 2.8.12.1、能够正常运行的Ubuntu操作系统 
    在Ubuntu下,软件安装到/opt下,当前正在使用的用户,对于opt目录需要
  有读写权限:  
  1)将opt的权限给为777(漏洞文件),不推荐在生产环境中使用。但是可以在学习和调试环境中使用。      
  2)sudo    在启动Hadoop的各个守护进程的时候,需要使用sudo。
 在管理Hadoop的时候,实际上由不同的用户启动不同集群的守护进程。
    统一使用当前的用户管理所有集群。 
  3)该目录的所有者设置为当前用户2.2、安装JDK,并配置环境变量 
 1)将jdk安装包放在家目录下 
2)解压到opt目录下    sudo tar zxvf jdk-8u131-linux-x64.tar.gz -C /opt    此时在/opt目录下:会有一个jdk1.8.0_131  
3)创建软链接    sudo ln -snf /opt/jdk1.8.0_131 /opt/jdk        注意:创建软连接的目的是为了,我们在做项目的时候,可能会用到不同的jdk版本,这是要换软件的话,只需要修改软链接就可以了。而不用修改配置文件。 
4)配置环境变量       局部环境变量:~/.bashrc
    全局环境变量:/etc/profile
    export JAVA_HOME=/opt/jdk
    export JRE_HOME= J A V A H O M E / j r e         e x p o r t C L A S S P A T H = . : JAVA_HOME/jre     export CLASSPATH=.: JAVAHOME/jre    exportCLASSPATH=.:JAVA_HOME/lib
    export PATH= P A T H : PATH: PATH:JAVA_HOME/bin    source 相关文件(更新配置文件) 
 5)查看是否安装成功   java、javac、java -version回到顶部(go to top)三、搭建伪分布式集群3.1、安装hadoop 
 1)解压hadoop安装包到opt目录下    sudo tar zxvf hadoop-2.8.1.tar.gz -C /opt 
 2)创建软链接    ln -snf /opt/hadoop-2.8.1 /opt/hadoop      
 3)配置环境变量      在/etc/profile文件中加入以下内容:
    export HADOOP_HOME=/opt/hadoop
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin: H A D O O P H O M E / s b i n         s o u r c e / e t c / p r o f i l e   4 ) 使 用 h a d o o p v e r s i o n 命 令 测 试 是 否 配 置 成 功       3.2 、 配 置 h a d o o p     配 置 文 件 存 放 在 / o p t / h a d o o p / e t c / h a d o o p 中 有 n 多 个 文 件 , 暂 时 我 们 只 需 要 修 改 的 只 有 5 个       1 ) h a d o o p − e n v . s h         大 约 在 25 行 左 右           e x p o r t J A V A H O M E = HADOOP_HOME/sbin     source /etc/profile  4)使用hadoop version命令测试是否配置成功    3.2、配置hadoop  配置文件存放在/opt/hadoop/etc/hadoop中有n多个文件,暂时我们只需要修改的只有5个    1)hadoop-env.sh    大约在25行左右     export JAVA_HOME= HADOOPHOME/sbin    source/etc/profile 4使hadoopversion   3.2hadoop  /opt/hadoop/etc/hadoopn5   1hadoopenv.sh    25     exportJAVAHOME={JAVA_HOME}改成export JAVA_HOME=/opt/jdk        注意:在配置文件中有提示我们怎么设置,我们一般不删除,二回选择注释它的提示。 2)core-site.xml       

fs.defaultFS
hdfs://1.0.0.5:9000

      分析:1.0.0.5是你主节点所在主机的ip,而9000为端口  
3)hdfs-site.xml   

dfs.nameservices
hadoop-cluster


dfs.namenode.name.dir
file:///data/hadoop/hdfs/nn


dfs.namenode.ch
eckpoint.dir
file:///data/hadoop/hdfs/snn


dfs.namenode.checkpoint.edits.dir
file:///data/hadoop/hdfs/snn


dfs.datanode.data.dir
file:///data/hadoop/hdfs/dn

    
  4)mapred-site.xml    在hadoop的相关目录中没有此文件,但是有一个mapred-site.xml.template文件,将该文件复制一份为mapred-site.xml    cp mapred-site.xml.template mapred-site.xml

mapreduce.framework.name
yarn

     
 5)yarn-site.xml


yarn.resourcemanager.hostname
1.0.0.5



yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.local-dirs
file:///data/hadoop/yarn/nm

     
 7)创建相关目录 sudo mkdir -p /data/hadoop/hdfs/nn
sudo mkdir -p /data/hadoop/hdfs/dn
sudo mkdir -p /data/hadoop/hdfs/snn
sudo mkdir -p /data/hadoop/yarn/nm  
 注意:      如果使用sudo启动hadoop的相关进程,这几目录的权限可以不用管。
    如果是使用当前的用户启动相关进程,对于opt目录,当前用户得有读写权限,对于/data目录也需要读写权限。   遇到问题:      笔者就是在这个目录权限的问题吃el很大得亏。首先为了不使用sudo我将/data目录的权限修改为777,然后进行      HDFS集群格式化的时候,出现:              这时我在想为什么呢?原来我只是给data目录设置了读写权限,但是没有给它的子目录设置读写权限。所以:            chmod -R 777 /data 递归设置权限  
8)对HDFS集群进行格式化,HDFS集群是用来存储数据的。      hdfs namenode -format3.3、启动集群 
1)启动HDFS集群           hadoop-daemon.sh start namenode 启动主节点
    hadoop-daemon.sh start datanode 启动从节点    
   
2)启动YARN集群     yarn-daemon.sh start resourcemanager
    yarn-daemon.sh start nodemanager     
3)启动作业历史服务器    mr-jobhistory-daemon.sh start historyserver    4)jps命令查看是否启动成功
5)HDFS和YARN集群都有相对应的WEB监控页面    HDFS:http://ip:50070        YARN:http://ip:8088
6)HDFS集群的简单操作命令     hdfs dfs -ls /         hdfs dfs -mkdir -p /user/zyh 
7) YARN集群的操作----提交任务/作业    计算PI值的作业:
 yarn jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar pi 4 100    回到顶部(go to top)
 四、一个问题我之前没有注意发现我的yarn的从节点没有启动起来,在执行计算PI值的时候没有成功才看到:  查看日志发现是配置文件:  在hdfs-site-web.xml中:      查看http://1.0.0.5:50070可以查看从节点是否启动:      在执行上面使用yarn集群来计算pi值得命令:      查看http://1.0.0.5:8088可以看出计算pi值得任务正在执行:    
   最后成功:     终端中会显示执行结果!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值