我的Hadoop、Hbase、Hive、Impala总结

1.怎么查找hadoop_home

看Hive安装的时候需要配置hadoop_home 因为不太懂,查找了一下/etc/profile文件发现没有,

又搜索了一下发现叫hadoop的目录到处都是,不知道哪个是,最后同事说,有bin的目录就是hadoop_home,那么多文件夹一个一个找费劲,而且如果有多个文件夹怎么办,

这里我发现一个简单的办法

输入hadoop version

会打印出

Hadoop 2.5.0-cdh5.3.2
Subversion http://github.com/cloudera/hadoop -r 399edecc52da6b8eef1e88d8a563ede94c9cc87c
Compiled by jenkins on 2015-02-24T20:54Z
Compiled with protoc 2.5.0
From source with checksum 3d11317b8cfa5e9016a8349e33b363ee
This command was run using /usr/lib/hadoop/hadoop-common-2.5.0-cdh5.3.2.jar

这个命令是查看hadoop的版本,这里下边红色的文件夹就是安装Hadoop的位置了,点进去以后发现有bin目录,搞定,那么上边又多了一个发现。

因为我只知道我们用的是cloudera的CDH来安装的hadoop,但是我不知道我们用的什么版本,这里也一起打印出来了,用的是cdh5.3.2

2.Hive部署

按照下边的帖子进行的配置

http://ju.outofmemory.cn/entry/118202

发布了Hive,版本是CDH5.3.2的

下载地址是 http://archive-primary.cloudera.com/cdh5/cdh/5/

正常搭建完以后,他说在控制台直接敲hive ,我不知道怎么弄的,我是在hive的目录下的bin目录下,返现有个hive文件,我就直接敲hive

然后才正常启动hive ,但是一开始启动说是找不到驱动,当然是英文提醒,然后我把lib放到了网上说的user/lib/hive/lib下,发现不好使,我又看了

/etc/profile文件发现class_path变量指向JDBC的lib,我又放JDBC下,还是不好使,最后我发现hive目录下有个lib放进去终于好使了

3.Hive启动后试验

create TABLE aaa(id int,name string)报错如下

Error in metadata:MetaException(message:javax.jdo.JDODataStoreException: An exceptionwas thrown while adding/validating class(es) : Specified key wastoo long; max key length is 767 bytes

解决方式

在mysql服务器上运行

alter database hive character set latin1

问题解决了

4.Hive导入数据都是NULL

按网上写的创建表以后,导入类似格式数据,数据都是NULL。问题是因为建表时的分隔符跟数据的实际分隔符不对,我换成  ','  都好分隔以后数据成功录入。

5.安装ClouderaManager总结

主要参考2个帖子

http://blog.csdn.net/yhl27/article/details/37726639

www.aboutyun.com/thread-9190-1-1.html

先参考第一个配置环境,再参考第2个安装。

问题1.没有图形用户界面如何安装

公司的Linux服务器没安装图形用户界面。同时,我只能使用CRT进行远程服务器安装

这个时候,使用cloudera-manager-installer.bin安装就会打印一大堆乱码的东西,因为他是图形用户界面的。

一开始我以为安装不了了,但是实际上是能安装的。

我进入了第一个帖子里的

/var/www/html/cm5/redhat/6/x86_64/cm/5.4.1/RPMS/x86_64 目录下

然后自己rpm -ivh 来安装

先安装daemons,然后安装server,然后安装server-db,然后安装agent。其中daemons必须第一个安装,server必须在server-db前边安装。agent随便,只要先安装了daemons就可以了。


问题2.安装完以后cloudera-scm-server启动失败

安装完这些包以后发现cloudera-scm-agent,server,server-db3个服务都已经有了

但是server一直启动不起来。

这个时候,可以进入

/var/log/cloudera-scm-server文件夹查看.log文件,就一个.log应该不会找错,这个时候我出现了2个问题。

第一个是没有mysql驱动包,这个时候不用从晚上下载,只要在你前台工程里搜一下一般都有。mysql-connector-java-5.1.*.jar

这里我电脑上有个mysql-connector-java-5.1.30.jar我就直接放到服务器上了

但是发现我放到classpath下不行,放到JDK的lib下也不行,最后找到了正确的位置

应该放在/usr/share/java/目录下,同时文件名必须叫mysql-connector-java.jar否则也会出问题!

驱动安装以后出现第2个问题,log的报错已经改变,说是连不上数据库

因为我着台上没有mysql,mysql在另外一台服务器上。这个时候需要修改

/etc/cloudera-scm-server/db.properties文件

里边很简单,自己把注释的数据库账号,密码,地址什么的填上就行了,数据库名我忘了是不是需要自己建了,最好先自己建一个。

表是在服务器启动的时候,它自己会帮你建上,但是首先你要有个名字跟配置文件里一样的数据库!


6.cloudera-manager集群

我已经在10.10.92.151上安装了cloudera-manager,之后安装了Hbase,HDFS,MapReduce,Hive,Impala,zookeeper

我现在想在10.10.92.153上也安装一份,同时作为151的子节点,形成集群。

我一开始的做法是按照网上说的,点击添加节点,然后一步步来,但是一直提示

http://10.10.92.151/cm5/redhat/6/x86_64/cm/5.4.1/repodata/repomd.xml 这个地址返回407

后来我配置了代理,myrepo,/var/hosts,/etc/yum.conf/,这些,能配置代理的都配置了代理。

终于不报407了,开始报

 http://10.10.92.153/cm5/redhat/6/x86_64/cm/5/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for myrepo: Damaged repomd.xml file

提示是配置文件损坏,这个问题一直没解决,在网上问也没人知道。

最后没办法

我直接在153上安装了全套的cloudera-manager5.4.1+CDH5.4.1

之后,我卸载了153上的cloudera-scm-server-db 跟 cloudera-scm-server

然后将/etc/cloudera-scm-agent/config.ini 配置下的服务器地址,从local修改成了10.10.92.151

重启cloudera-scm-agent之后。

进入151的管理页

http://10.10.92.151:7180

但是在 主机这里 一直刷新不出来153这台机器。

最后我又点击了在向集群里添加主机,但是这次的向导居然变了,变的跟安装CDH时候差不多,经过几次继续之后,151开始向153上布置配置文件,

最后居然集群好使了,可以看到2台机器。

但是实际上是否集群成功了,我现在也不会看,所以还不知道。


7.Hbase的VERSIONS总结

首先可以通过describe '表名' 来查看表信息,其中就有VERSIONS属性。这个是版本。默认是3,我一直在傻傻的在HBASE里找这个设置。最后发现没有。

而是在建表的时候可以设置的,比如

create 'table1',{NAME=>'clo1',VERSION='50'};//这是保留50个版本

但是,我发现从hive映射过来的表,他的VERSIONS默认是1,正好也满足我的需求,这里只是记录一下。其实这个问题是我一直以为是在HBASE的配置项里配置表的VERSIONS数量,是我搞错了。

8.Impala不能查询Hive新增加的表

下边是我从网上找到的解决方案,这里记录一下。


使用Cloudera Manager部署安装的CDH和Impala,Hive中新增加的表,impala中查询不到,其原因是/etc/impala/conf下面没有hadoop和hive相关的 配置 文件: 

将hadooop-core.xml,hdfs-site.xml,hive-site.xml拷贝到conf下,重启服务即可。

/etc/impala/conf这个路径我是有的。于是但是下边这3个文件在哪呢,我拷贝的是/etc/hive/conf目录下的

core-site.xml,hdfs-site.xml,hive-site.xml
拷贝完文件后重启Impala服务,执行impala-shell,show tables,能够发现新表,问题解决。







。。。。。。未完待续。。。。。。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页