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

[经验分享] Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

[复制链接]
发表于 2017-6-23 08:52:53 | 显示全部楼层 |阅读模式
  自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列《Hadoop学习笔记系列》。其实,早在2014年Hadoop2.x版本就已经开始流行了起来,并且已经成为了现在的主流。当然,还有一些非离线计算的框架如实时计算框架Storm,近实时计算框架Spark等等。相信了解Hadoop2.x的童鞋都应该知道2.x相较于1.x版本的更新应该不是一丁半点,最显著的体现在两点:
  (1)HDFS的NameNode可以以集群的方式布署,增强了NameNodes的水平扩展能力和高可用性,分别是:HDFS Federation与HA;
  (2)MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Resource Negotiator);
  因此,我决定趁着现在又变成了单身狗(满满的都是伤感)的时机,把Hadoop2.x学习一下,也顺带分享一些学习笔记的文章与园友们分享。
  至于Hadoop2.x到底相较于1.x有哪些改变,如果你不太知道,那么你可以先阅读一下这篇文章《Hadoop2的改进内容简介》大概了解一下,本篇内容将不会介绍这些,直接上环境搭建与配置的内容。
DSC0000.png

一、准备工作
  (1)一台配置不错的电脑或笔记本(主要是内存、内存、内存,重要的事情说三遍)
  (2)一个你使用过的虚拟机软件(可以是VMWare、Virtual Box或者其他的,我用的VMWare WorkStation)
  (3)一个你使用过的SSH客户端软件(可以使XShell,XFtp、WinSCP等等,我用的XShell+XFtp)
  (4)Hadoop2.4.1、JDK1.7的linux安装包(当然你也可以直接在线下载)
  当然,体贴的我已为你准备了Hadoop2.4.1和JDK1.7的包,你可以通过这个链接下载:点我下载
二、伪分布式搭建
  2.1 基础网络配置
  安装完VMware Workstation之后,你的网络适配器会多出来两个,你要做的就是为多出来的第2个网卡设置静态IP地址,我这里是Ethernet 3 DSC0001.png   这里我们设置网关为192.168.22.1,为宿主机设置IP为192.168.22.2,也就是说我们的虚拟机必须要在192.168.22.x这个网段内。
  然后我们再为虚拟机设置网络连接方式,选择VMNET8(NAT模式),如果你不知道NAT是什么意思,请百度一下。 DSC0002.png
  2.2 为虚拟机安装Linux镜像
  这里我们选择的是CentOS,你也可以选择其他的Linux发行版本。
  2.3 设置静态IP地址
  输入命令 setup -> 进入Device Configuration -> 输入service network restart重启网卡
  另外,想要在宿主机访问虚拟机,需要开放端口,为了方便,我们直接将虚拟机的防火墙关闭:sudo service iptables stop
  检查状态:sudo chkconfig iptables off
  2.4 设置完全命令行模式启动
  输入命令 sudo vi /etc/inittab -> 修改id:3 -> 输入reboot重启虚拟机
  2.5 使用XShell代替VMware直接操作
  这个时候你就可以使用XShell而不再需要在VMware里直接敲命令了,你会发现XShell用起来很爽! DSC0003.png
  2.6 将hadoop用户加入sudo用户组
  由于linux下root用户的权限太大,经常使用root用户会很不安全,所以我们一般使用一个一般用户去操作,在用到需要高权限时使用sudo命令去执行。因此,我们这里需要将hadoop用户加入sudo用户组。
  输入命令 su -> vi /etc/sudoers -> 找到这一行:root ALL=(ALL) ALL
  然后在它下面一行加上一行:hadoop  ALL=(ALL) ALL
  最后保存退出。
  2.7 更改主机名与IP地址映射关系
  (1) sudo vi /etc/sysconfig/network -> hadoop-master.manulife -> reboot
   (2) sudo vi /etc/hosts -> 加一行: 192.168.22.100 hadoop-master.manulife
  2.8 建立一个专门放安装包的文件夹(非必要)
  (1) rm -rf P* D* Music/ Videos/ Templates/
   (2) mkdir app -> 安装后的地方
   (3) mkdir local -> 放置安装包的地方
  2.9 安装JDK
  (1)上传jdk到虚拟机,这里借助SFtp软件
  (2)解压jdk:tar -zvxf jdk -C ../app/
  (3)设置环境变量:
  sudo vi /etc/profile
  export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65
  export PATH=$PATH:$JAVA_HOME/bin;
source /etc/profile  
  2.10 安装Hadoop
  (1)上传jdk到虚拟机,这里借助SFtp软件
  (2)解压jdk:tar -zvxf hadoop -C ../app/
  (3)删除hadoop中share文件夹中的多余doc文件(非必要):rm -rf doc
  (4)设置hadoop中etc文件夹中的一些重要配置文件:cd etc -> hadoop-env.sh,core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml
  hadoop-env.sh
  vim hadoop-env.sh
  #第27行
  export JAVA_HOME=/home/hadoop/app/jdk  
  core-site.xml
  <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://hadoop-master.manulife:9000</value>
  </property>
  <!-- 指定hadoop运行时产生文件的存储目录 -->
  <property>
      <name>hadoop.tmp.dir</name>
      <value>/home/hadoop/app/hadoop/tmp</value>
  </property>  
  hdfs-site.xml
  <!-- 指定HDFS副本的数量 -->
  <property>
     <name>dfs.replication</name>
     <value>1</value>
  </property>  
  yarn-site.xml
  <!-- 指定YARN的老大(ResourceManager)的地址 -->
  <property>
     <name>yarn.resourcemanager.hostname</name>
     <value>hadoop-master.manulife</value>
  </property>
  <!-- reducer获取数据的方式 -->
  <property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
  </property>  
  mapred-site.xml (需要首先换个名字:mv mapred-site.xml.template mapred-site.xml)
  <!-- 指定mr运行在yarn上 -->
  <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
  </property>  
  (5)设置环境变量
  sudo vi /etc/profile
  export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  source /etc/profile
  (6)格式化NameNode
  hadoop namenode -format
  (7)启动Hadoop两大核心功能:HDFS与YARN
  首先编辑slaves配置文件(这里我们的主节点既是DataNode又是NameNode):vi slaves -> add hadoop-master.manulife
  启动HDFS:sbin/start-dfs.sh
  启动YARN:sbin/start-yarn.sh
  验证是否启动:jps
DSC0004.png

  (8)在宿主机中访问Hadoop Manager
  首先将虚拟机的IP地址和主机名加入Windows Hosts:windows/system32/etc -> 加一行 : 192.168.22.100 hadoop-master.manulife
  打开浏览器输入:http://hadoop-master.manulife:50070
DSC0005.png

DSC0006.png

  2.11 HDFS简单测试
  上传一个文件至HDFS : hadoop fs -put xxxx.tar.gz hdfs://hadoop-master.manulife:9000/
    从HDFS下载一个文件 : hadoop fs -get hdfs://hadoop-master.manulife:9000/xxxx.tar.gz
  2.12 MapReduce简单测试
  这里直接运行一个hadoop自带的求圆周率的example:
  (1)cd /home/hadoop/app/hadoop/share/hadoop/mapreduce/
   (2)hadoop jar hadoop-mapreduce-examples-2.4.1.jar pi 5 5
  2.13 SSH免密码登录
  一般linux分布式集群中都会设置ssh免密码登录,这里我们首先将主节点设置为ssh免密码登录:
  (1)ssh-keygen -t rsa
   (2)cd .ssh -> cp id_rsa.pub authorized_keys
   (3)ssh localhost
三、Java开发环境搭建
  3.1 准备工作
  3.2 使用Java API操作HDFS
  3.3 简单测试
四、完全分布式搭建

  作者:周旭龙
  出处:http://www.cnblogs.com/edisonchou/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

运维网声明 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-387088-1-1.html 上篇帖子: nmap命令-----基础用法 下篇帖子: linux下挂载VHD等虚拟磁盘文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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