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

Hadoop入门进阶步步高(一)-环境准备

[复制链接]

尚未签到

发表于 2015-11-11 14:39:24 | 显示全部楼层 |阅读模式
前言
  Hadoop从存储上来说,是类似于冗余磁盘阵列(RAID)的存储方式,将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFSHadoop Distuibute Fils System);从计算上来说,它通过MapReduce模型,将大数据的计算分发到多台计算机上完成,再将结果合并,减少计算的时间。
  Hadoop适合于:
  1、超大数据的计算;
  2、一次写入、多次读取的模式;
  3、可以跑在普通的硬件上。
  
  Hadoop不适合:
  1、低延迟的数据访问,它是为高数据吞吐量应用优化的;
  2、大量的小文件
  Hadoop客户端需要和namenode进行交互,而namenode中存放的是datanode的文件属性,且都是在内存中,如果小文件过多,namenode是存放不了的;
  3、多用户写入,任意修改文件。
  Hadoop适合于一次计算,多次读取的场景,如搜索引擎,只支持随机读取不支持随机写入,如HadoopLucene的集成就不能够直接集成,因为Lucene支持随机写入。
  
  本文将从使用的角度上谈了如何搭建Hadoop、如何配置Hadoop、如何验证Hadoop及在Hadoop上面执行计算,以及可能会遇到些什么样的问题。
一、Hadoop环境搭建
  因为Hadoop需要在Linux运行,并且Hadoop是基于Java的,在继续进行下面的步骤之前,请确认你已经准备好Linux操作系统以及Java 6或以上版本,并且已经正确的设置了JAVA_HOME
  
1、下载Hadoop
  搭建Hadpp的版本为1.2.1 下载地址为:http://apache.fayea.com/apache-mirror/hadoop/common/hadoop-1.2.1/
  
2、安装Hadoop
  解压缩Hadoop到任意目录,我当前的Hadoop是将其解压到目录/usr/local/hadoop-1.2.1,并在/etc/profile中设置好环境变量HADOOP_HOME(这个变量不是必须的,在1.2.1已经是Deprecated了,这里我之所以设置,还是为了方便),以及将$HADOOP_HOME/bin目录加入到PATH中,这样我们就可以在任意地方执行hadoop命令了,为了使用上的方便,再给”hadoop fs”设一个名为hdfsalias方便使用,以下是我机器上/etc/profile增加的内容:
  export JAVA_HOME=/usr/local/jdk1.6.0_33
  export HADOOP_HOME=/usr/local/hadoop-1.2.1
  export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
  #Alias for hadoop
  alias hdfs='hadoop fs'
  注:该文件的编辑需要root权限,修改完成后,如果想立即生效,需要通过source命令操作一下:
  source /etc/profile
  否则就只有退出重新登陆才会生效。
  
3、准备ssh
  Hadoop需要通过SSH和其它计算服务器进行沟通,所以首先要确定本机或者是其它Hadoop计算服务器,是否都已经安装了ssh
  (1)、确定系统是否安装了sshssh-keygey
  可以通过which命令来确认
  which ssh
  which ssh-keygen
  如果出现
  /usr/bin/which: no ssh in (/usr/.....)则表示系统里面没有安装SSH服务,可以通过www.openssh.com下载安装
  (2)、发布公钥证书
  执行如下命令:
  ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  在~/.ssh/ 目录会生成id_rsaid_rsa.pub两个文件,将id_rsa.pub复制一份在~/.ssh/目录下,并重命名为authorized_keys,如果是单机搭建伪分布式,此时ssh的准备工作已经完成了,如果使用全分布式环境,那么需要将authorized_keys(或authorized_keys中的内容追加到需要无密码登陆的服务器的~/.ssh/authorized_keys文件中)及id_rsa(或id_rsa中的内容追加到需要无密码登陆的服务器的~/.ssh/id_rsa文件中)两个文件复制到各台分布式slave机器的“~/.ssh目录中”中,这样任意两台机器之间互相通过ssh访问,都不需要输入密码了,如果只是拷贝到authorized_keysslave机器中,就只能够实现主到从的不输密码访问。
  注:如果需要远程登陆的服务器上还没有.ssh目录,那么就在登陆用户的目录下新建.ssh目录,权限至少设置成744,如果.ssh目录下没有authorized_keys文件,也新建该文件,并将其权限设置为644。

  (3)测试登陆验证
  在本例中,采用的是在单机中搭建伪分布式系统,通过如下ssh命令尝试登陆:
  ssh localhost
  或
  ssh 127.0.0.1
  如果不再提示输入密码,直接登陆成功,那么SSH登陆就设置成功了。
             版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 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-137981-1-1.html 上篇帖子: Kettle(PentahoDataIntegration)安装Hadoop-2.2.0插件 下篇帖子: Alex 的 Hadoop 菜鸟教程: 第19课 华丽的控制台 HUE 安装以及使用教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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