伪分布式hadoop2.2.0+hive0.12.0安装

由于本人笔记本配置太低,安装一个虚拟机就卡的一戳一戳的,,,,所以只能安装伪分布式的集群

 

真正解决问题的方法是日志,所以下次你再出问题的时候,请最先找到你的日志文件,他会告诉你,是哪里出错了,再去google,然后你就能自己解决问题了~~~


载录了这个人的博客

http://blog.csdn.net/licongcong_0224/article/details/12972889

1.hostname更改,修改etc/hosts

在终端输入hostname ,能打印出你设置的hostname就可以了

2.创建用户hadoop和hadoop用户组

3.设置local无密码登陆

  一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安装:

  sodu apt-get install ssh

安装完成后会在~目录(当前用户主目录,即这里的/home/hduser)下产生一个隐藏文件夹.ssh(ls  -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。

具体步骤如下:

1、 进入.ssh文件夹

2、 ssh-keygen -t  rsa 之后一路回 车(产生秘钥)

3、 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

4、 重启 SSH 服 务命令使其生效 :service sshd restart(这里RedHat下为sshdUbuntu下为ssh)

最后可以ssh localhost 无密码链接自己就可以了

 

      Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译(10楼评论中提供了一个解决方法链接)。

下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/

如下图所示,下载红色标记部分即可。如果要自行编译则下载src.tar.gz.

 

 

 

 

2.解压hadoop包,到自己的目录下面我的是在usr/local/hadoop/hadoop/,并且

chown -R hadoop:hadoop hadoop 将hadoop安装目录的所有权限更改为hadoop组的hadoop用户

3.设置etc/profile

HADOOP_HOME

JAV_HOME

PATH

CLASSPATH

 

4.配置hadoop,在解压之后的hadoop/etc目录下面

4.1 core-site.xml配置namenode和tmp目录

4.2 hadoop-env.sh配置java的路径

4.3 masters其实这里可以不配置,其实是指定secondenamenode

4.4 slaves 指定datanode和tasknode

 

由于是伪分布式,所以master和slaves都是localhost,如果是真的分布式,这里只想的主机是不一样的,可以和链接里面的博客对比

其余的配置文件默认就好了

4、启动验证

进入 ../hadoop/bin     hadoop namenode -format 格式化hadfs

进入 ../hadoop/sbin  start-all.sh   启动hdoop

最后 终端输入 jps



即完成了

也可以查看是否能访问到namnode的网页客户端和yarn的资源管理网页客户端

 

 

需要说明的是:hadoop2.2.0 的安装相隔礼拜了,所有也许有点出路哦,,希望能同时参考其他人的博客进行安装

 

接下来是hive1.2.0

参考网址http://blog.csdn.net/dhtz123456/article/details/12942679

 

 

1. 安装MySQL

  1. yum install mysql-server mysql-client 

 1). 建立数据库hive,并设定为latin1编码,否则出错

 

  1. create database hive default character set latin1;   


create database hive default character set latin1;


 2). 创建用户hive

  1. create user 'hive'@'%' identified by 'hive';   

这里我 用的是   create user 'hive'@'localhost' identified by 'hive'; 

因为我用第一个的时候报了一个错:

FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClientFAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

查看日志:hive的日志默认是在 、.tmp/用户/hive.log

Caused by: javax.jdo.JDOFatalDataStoreException: Access denied for user 'hive'@'localhost '(using password: YES)
NestedThrowables:

 

 

这里建议都做一遍

 


 3).创建hive用户,并授权

 

  1. grant all on hive.* to hive@'localhost'  identified by 'hive';    

  2. flush privileges;     


 1). 官网下载hive安装包,并解压。  
  2).hive配置信息,(hive仅需要在master节点配置即可)  
 

[plain]     view plain     copy     print     ?

  1. bin/hive-config.sh (可以设置 .profile 文件来略过这步)  

  2. export JAVA_HOME=/usr/java  

  3. export HIVE_HOME=/home/hadoop/hive-0.11.0  

  4. export HADOOP_HOME=/home/hadoop/hadoop-1.2.1  


 

bin/hive-config.sh (可以设置 .profile 文件来略过这步)
export JAVA_HOME=/usr/java
export HIVE_HOME=/home/hadoop/hive-0.11.0
export HADOOP_HOME=/home/hadoop/hadoop-1.2.1

 
 3. 添加环境变量etc/profile  
 

[html]     view plain     copy     print     ?

  1. export HIVE_HOME=/home/hadoop/hive-0.11.0  

  2. export PATH=$HIVE_HOME/bin:$PATH  

 1). 官网下载hive安装包,并解压。  
  2).hive配置信息,(hive仅需要在master节点配置即可)  
 

 

  1. bin/hive-config.sh (可以设置 .profile 文件来略过这步)  

  2. export JAVA_HOME=/

  3. export HIVE_HOME=/

  4. export HADOOP_HOME=/


 
 3. 添加环境变量etc/profile  
 

  1. export HIVE_HOME=/

  2. export PATH=

 

 

 

 


  4. 修改hive-site.xml文件  
 

  1. <property>       

  2.   <name>javax.jdo.option.ConnectionURL</name>    

  3.   <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>       

  4.   <description>JDBC connect string FOR a JDBC metastore</description>       

  5. </property>       

  6. <property>    

  7.   <name>javax.jdo.option.ConnectionDriverName</name>    

  8.   <value>com.mysql.jdbc.Driver</value>       

  9.   <description>Driver class name FOR a JDBC metastore</description> </property>       

  10. <property>    

  11.   <name>javax.jdo.option.ConnectionUserName</name>    

  12.   <value>hive</value>       

  13.   <description>username TOUSE against metastore database</description>       

  14. </property>       

  15. <property>       

  16.   <name>javax.jdo.option.ConnectionPassword</name>    

  17.   <value>hive</value>       

  18.   <description>password TOUSE against metastore database</description>       

  19. </property>  


<property>     
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>     
  <description>JDBC connect string FOR a JDBC metastore</description>     
</property>     
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>     
  <description>Driver class name FOR a JDBC metastore</description> </property>     
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>hive</value>     
  <description>username TOUSE against metastore database</description>     
</property>     
<property>     
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>hive</value>     
  <description>password TOUSE against metastore database</description>     
</property>



5. MySQL 驱动包

下载mysql-connector-java-5.1.27-bin.jar文件,并放到$HIVE_HOME/lib目录下

这里用自己对应版本的链接包就好了,不要用旧包

 6. 启动Hive

•命令行键入  hive

•显示

 

  1.  WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.  

  2. Logging initialized using configuration in jar:file:/home/test/Desktop/hive-0.8.1/lib/hive-common-0.8.1.jar!/hive-log4j.properties  

  3. Hive history file=/tmp/test/hive_job_log_test_201208260529_167273830.txt  

  4. hive>   


 

WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
Logging initialized using configuration in jar:file:/home/test/Desktop/hive-0.8.1/lib/hive-common-0.8.1.jar!/hive-log4j.properties
Hive history file=/tmp/test/hive_job_log_test_201208260529_167273830.txt
hive>


 

测试语句

•建立测试表test

•create table test (key string);

•show tables;

 

 

遇到的错误

hive>show tables;出现hive :MetaException(message:Version information not found in metastore. )错误。最后将hive-site.xml 里面 hive.metastore.schema.verification 的值改为 false后,就没出现错误了。

 

 好吧,写的比较凌乱,希望下次我能看懂

 

PS:dataNode 无法启动是配置过程中最常见的问题,主要原因是多次format namenode 造成namenode 和datanode的clusterID不一致。建议查看datanode上面的log信息。解决办法:修改每一个datanode上面的CID(位于dfs/data/current/VERSION文件夹中)使两者一致。

1. clusterID不一致,namenode的cid和datanode的cid不一致,导致的原因是对namenode进行format的之后,datanode不会进行format,所以datanode里面的cid还是和format之前namenode的cid一样,解决办法是删除datanode里面的dfs.datanode.data.dir目录和tmp目录,然后再启动start-dfs.sh
2.即使删除iptables之后,仍然报Datanode denied communication with namenode: DatanodeRegistration错误,参考文章http://stackoverflow.com/questions/17082789/cdh4-3exception-from-the-logs-after-start-dfs-sh-datanode-and-namenode-star,可以知道需要把集群里面每个houst对应的ip写入/etc/hosts文件就能解决问题。


 

转载于:https://my.oschina.net/u/270950/blog/174671

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值