设为首页 收藏本站
查看: 2230|回复: 0

[经验分享] Hadoop-2.7.2集群的搭建

[复制链接]

尚未签到

发表于 2017-12-17 06:48:13 | 显示全部楼层 |阅读模式
前言

  因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2


开始的准备

  目前在我的实验室上有三台Linux主机,因为需要参加一个关于spark数据分析的比赛,所以眼见那几台服务器没有人用,我们团队就拿来配置成集群。具体打算配置如下的集群


主机名
IP地址(内网)
SparkMaster
10.21.32.106
SparkWorker1
10.21.32.109
SparkWorker2
10.21.32.112
首先进行的是ssh免密码登录的操作
  具体操作在上一篇学习日记当中已经写到了,在此不再详细说。

配置Java环境
  因为我那三台电脑也是配置好了JDK了,所以在此也不详细说。
  
配置好Java的机子可以使用
  

java -version  

  来查看Java的版本

下载Hadoop2.7.2
  因为我最后的文件是放在/usr/local下面的,所以我也直接打开/usr/local文件夹下。直接
  

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz  

DSC0000.png


安装Hadoop以及配置Hadoop环境
  解压
  

tar -zxvf hadoop-2.7.2.tar.gz  

  删除
  

rm -rf hadoop-2.7.2.tar.gz  

  解压删除之后打开hadoop-2.7.2文件夹,在etc/hadoop/hadoop-env.sh中配置JDK的信息
  
先查看本机的jdk目录地址在哪里
  

echo $JAVA_HOME  

DSC0001.png

  

vi etc/hadoop/hadoop-env.sh  

  将
  

export JAVA_HOME=${JAVA_HOME}  

  改为
  

export JAVA_HOME=/usr/java/jdk1.8.0_131  

DSC0002.png

  为了方便我们以后开机之后可以立刻使用到Hadoop的bin目录下的相关命令,可以把hadoop文件夹下的bin和sbin目录配置到/etc/profile文件中。
  

vi /etc/profile  

  添加
  

export PATH=$PATH:/usr/local/hadoop-2.7.2/bin:/usr/local/hadoop-2.7.7/sbin  

  按一下esc,按着shift+两次z键保存
  使用
  

source  /etc/profile  

DSC0003.png

  使得命令配置信息生效,是否生效可以通过
  

hadoop version  

  查看

配置Hadoop分布式集群

前言

  考虑是为了建立spark集群,所以主机命名为SparkMaster SparkWorker1 SparkWorker2


修改主机名
  

vi /etc/hostname  

  修改里面的名字为SprakMaster,按一下esc,按着shift+两次z键保存。
DSC0004.png


设置hosts文件使得主机名和IP地址对应关系
  

vi /etc/hosts  

DSC0005.png

  配置主机名和IP地址的对应关系。
DSC0006.png


  Ps:其他两台slave的主机也修改对应的SparkWorker1 SparkWorker2,如果修改完主机名字之后户籍的名字没有生效,那么重启系统便可以。三台机子的hostname与hosts均要修改

DSC0007.png


在==三台==机子的总的hadoop-2.7.2文件夹下建立如下四个文件夹


  • 目录/tmp,用来存储临时生成的文件
  • 目录/hdfs,用来存储集群数据
  • 目录hdfs/data,用来存储真正的数据
  • 目录hdfs/name,用来存储文件系统元数据
  

mkdir tmp hdfs hdfs/data hdfs/name  

配置hadoop文件

  在此先修改SparkMaster的配置文件,然后修改完毕后通过rsync命令复制到其他节点电脑上。


修改core-site.xml
  

vi etc/hadoop/core-site.xml  

  具体修改如下:
  

<configuration>  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://SparkMaster:9000</value>
  </property>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/usr/local/hadoop-2.7.2/tmp</value>
  </property>
  <property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
  </property>
  
</configuration>
  

DSC0008.png


  变量fs.defaultFS保存了NameNode的位置,HDFS和MapReduce组件都需要它。这就是它出现在core-site.xml文件中而不是hdfs-site.xml文件中的原因。


修改marpred-site.xml
  具体修改如下
  首先我们需要的是将marpred-site.xml复制一份:
  

cp etc/hadoop/marpred-site.xml.template etc/hadoop/marpred-site.xml  

vi etc/hadoop/marpred-site.xml.template   

  此处修改的是marpred-site.xml,不是marpred-site.xml.template。

  具体修改如下
  

<configuration>  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.address</name>
  <value>SparkMaster:10020</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>SparkMaster:19888</value>
  </property>
  
</configuration>
  

DSC0009.png


修改hdfs-site.xml
  

vi etc/hadoop/hdfs-site.xml  

  具体修改如下
  

<configuration>  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/local/hadoop-2.7.2/hdfs/name</value>
  </property>
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/local/hadoop-2.7.2/hdfs/data</value>
  </property>
  <property>
  <name>dfs.replication</name>
  <value>2</value>
  </property>
  <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>SparkMaster:9001</value>
  </property>
  <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
  </property>
  
</configuration>
  

DSC00010.png


  PS:变量dfs.replication指定了每个HDFS数据块的复制次数,即HDFS存储文件的副本个数.我的实验环境只有一台Master和两台Worker(DataNode),所以修改为2。


配置yarn-site.xml
  

vi etc/hadoop/yarn-site.xml  

  

  具体配置如下:
  

<configuration>  <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>SparkMaster:8032</value>
  </property>
  <property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>SparkMaster:8030</value>
  </property>
  <property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>SparkMaster:8031</value>
  </property>
  <property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>SparkMaster:8033</value>
  </property>
  <property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>SparkMaster:8088</value>
  </property>
  
</configuration>
  

DSC00011.png


修改slaves的内容
  将localhost修改成为SparkWorker1、SparkWorker2
DSC00012.png


将SparkMaster节点的`hadoop-2.7.2/etc/下面的文件通过以下方式放去其他节点
  

rsync -av /usr/local/hadoop-2.7.2/etc/ SparkWorker1:/usr/local/hadoop-2.7.2/etc/  

rsync -av /usr/local/hadoop-2.7.2/etc/ SparkWorker1:/usr/local/hadoop-2.7.2/etc/  

  完成之后可以查看SparkWorker1、SparkWorker2下面的文件是否变了

启动hadoop分布式集群

在SparkMaster节点格式化集群的文件系统
  输入
  

hadoop namenode -format  

DSC00013.png


启动Hadoop集群
  

start-all.sh  

DSC00014.png


查看各个节点的进程信息
  使用
  

jps  

  查看各节点的进程信息
  
可以看到
DSC00015.png

DSC00016.png

DSC00017.png

  此时分布式的hadoop集群已经搭好了
  在浏览器输入
  

SparkMaster_IP:50070  

SparkMaster_IP:8088  

  看到以下界面代表Hadoop集群已经开启了
DSC00018.png

DSC00019.png


结言

  到此Hadoop的分布式集群就搭好了。这个Spark运行的基础。


  参见:CentOS 6.7安装Hadoop 2.7.2
  
++王家林/王雁军/王家虎的《Spark 核心源码分析与开发实战》++

  文章出自kwongtai'blog,转载请标明出处!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424895-1-1.html 上篇帖子: Centos7中hadoop配置 下篇帖子: Hadoop学习笔记(3) Hadoop I/O
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表