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

[经验分享] Hadoop、hive环境搭建详解

[复制链接]

尚未签到

发表于 2015-7-15 09:09:39 | 显示全部楼层 |阅读模式
  http://ilovejavaforever.iteye.com/blog/733247
  
  一、    Hadoop环境搭建
     首先在Apache官网下载hadoop的包hadoop-0.20.2.tar.gz。
      解压hadoop-0.20.2.tar.gz包,具体命令如下:
      tar zxvf hadoop-0.20.2.tar.gz
      其中要注意的是,tar 包用xvf ,gz包用zxvf。
在安装中,如果遇到识别问题,或者无法解压,很有可能是权限问题,解决方案是修改此文件的使用权限,命令如下:
      chmod 777 hadoop-0.20.2.tar.gz
      其中,777为所有权限。
      如果依然报错,如:Archive contains obsolescent base-64 headers;Error exit delayed from previous errors。
      这种情况,一般是压缩包损坏的问题。因为大多数人会将包下载到windows环境,再通过ftp等方法上传到Linux环境。容易产生包损坏。建议大家直接下载到Linux即可。具体命令如下:
wget  http://labs.renren.com/apache-mirror/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
       直接下载到当前目录。
       当文件准备好之后,我们要修改配置,将Hadoop 简单run起来。
       首先,我们进入hadoop-0.20.2/conf目录当中,其中会存在如下配置文件:
   DSC0000.gif
  
       首先修改masters和slaves,这个是指定我们的m和s的ip地址,这里我们就以单台机器为例子,在文件中直接输入当前机器的IP。
  
       之后我们修改mapred-site.xml文件,具体配置如下
  







Xml代码 DSC0001.png DSC0002.gif

  •   
  •   
  •   
  •   
  •   
  •   
  •   
  •         mapred.job.tracker  
  •         hdfs://192.168.216.57:8012  
  •         The host and port that the MapReduce job tracker runs   
  •             at. If "local", then jobs are run in-process as a single map   
  •             and reduce task.   
  •             Pass in the jobtracker hostname via the   
  •             -Dhadoop.jobtracker=JOBTRACKER_HOST java option.   
  •          
  •       
  •   






mapred.job.tracker
hdfs://192.168.216.57:8012
The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
Pass in the jobtracker hostname via the
-Dhadoop.jobtracker=JOBTRACKER_HOST java option.






  
      job.tracker是关键,mapReduce会将一个job,通过map(),打散为n个task。
      之后是对文件core-site.xml的配置,详细配置如下:






Xml代码

  •   
  •   
  •   
  •   
  •   
  •    
  •   
  •      fs.default.name  
  •      hdfs://localhost:9100  
  •    
  •   
  •    
  •     mapred.job.tracker  
  •     localhost:9101  
  •    
  •   
  •    
  •     dfs.replication  
  •     1  
  •    
  •   
  •    
  •      hadoop.tmp.dir  
  •      /home/admin/tmp/  
  •      A base for other temporary directories. Set to a   
  •            directory off of the user's home directory for the simple test.   
  •       
  •    
  •   
  •    






     fs.default.name
     hdfs://localhost:9100


    mapred.job.tracker
    localhost:9101


    dfs.replication
    1


     hadoop.tmp.dir
     /home/admin/tmp/
     A base for other temporary directories. Set to a
           directory off of the user's home directory for the simple test.
     





  

        这个主要是配置我们的文件系统。其中,fs.default.name的value,不可以写IP地址,要写域名。域名的查询,具体命令如下:
      cd  ~
      cd etc
      vi hosts  
      在hosts文件中,找到自己IP对应的域名。
       到此,Hadoop本身的配置就算完成了。但hadoop会在master/slaves之间进行文件的操作,在机器之间操作时候,就必须做到免登陆。对此,我们就得设置相应的公钥私钥。
      具体命令如下:
      ssh-keygen -t rsa -P ''
      -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。它在/~ 下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
       如果是多台机器,则需要将公钥id-rsa.pub通过scp到其他机器的相同目录。
       之后,追加公钥到相应文件,具体如下:
       cat id_rsa.pub >> .ssh/authorized_keys
       chmod 600 .ssh/authorized_keys
       其中,authorized_keys要的权限是600
       第一次登录是时要你输入yes,之后就不用了。
       OK,所有均搞定了,进入hadoop-0.20.2/bin路径,直接执行start-all.sh脚本,即可启动Hadoop的服务了。
       我们可以通过web的方式,对Hadoop的运转进行监控,具体url如下:
         控制台:http://cap216057.sqa:50030/jobtracker.jsp
  
  
       数据节点:http://cap216057.sqa:50070/dfshealth.jsp

  
         cap216057.sqa可以再hosts里配置,或者直接访问IP地址。
二、    Hive搭建
       Hive搭建在Hadoop的基础之上,相对就会简单很多。只需要设置Hadoop的HADOOP_HOME和HIVE_HOME即可了。
         首先下载、解压,此操作与商品Hadoop的操作一样。值得注意的是,Apache的官网上会提供bin和dev两种版本的压缩包。建议使用bin版本。
       Wget http://labs.renren.com/apache-mirror/hadoop/hive/hive-0.5.0/hive-0.5.0-bin.tar.gz
         完成之后,如下操作:
       export HADOOP_HOME=/home/admin/hadoop-0.20.0/
       export HIVE_HOME=/home/admin/hive-0.5.0-bin
       完成命令,直接在hive/bin目录下启动hive,启动端口任意写一个未被占用的即可。
       ./hive --service hiveserver  10000 &
三、    测试
      在hive/bin目录下,输入./hive,进入hive命令的控制台。执行hql,就是hive的sql
      具体如下:
      create tables user(id,int);
      show tables;
      值得注意的是,语句结尾的分号,万万不可遗漏。
   看看结果吧,哈哈,大功告成咯!

运维网声明 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-86799-1-1.html 上篇帖子: [学习笔记]Hadoop 配置调试错误收集 下篇帖子: php通过thrift获取hadoop资源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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