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

[经验分享] Hadoop相关部署二:Hive安装部署

[复制链接]

尚未签到

发表于 2016-12-10 06:56:13 | 显示全部楼层 |阅读模式
1.1  解压缩Hive
将Hive的tar包解压到/opt目录下:
tar –zxvf hive-0.7.1-cdh3u3.tar.gz
解压缩后的Hive目录如下:
其中bin目录下是一些可执行的脚本文件,在conf下是相关的配置文件,也是我们要修改的主要地方,lib下是一些相关的jar包,包括mysql的连接包、hbase的包等都会放到lib下。
将Hive的安装路径添加到path环境变量中。
以及
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_LIB=$HIVE_HOME/lib
在/etc/profile文件中添加上述代码,source使之生效。
1.2  创建Hive的目录
在hdfs中创建Hive的目录,命令如下:
[hdfs@sdc0 bin]$ ./hadoop fs -mkdir /tmp
[hdfs@sdc0 bin]$ ./hadoop fs -mkdir /usr/hive/warehouse
[hdfs@sdc0 bin]$ ./hadoop fs -chmod g+w /tmp
[hdfs@sdc0 bin]$ ./hadoop fs -chmod g+w /usr/hive/warehouse
1.3  conf/hive-site.xml
   这个文件主要用于配置Hive的一些配置参数。文件中的内容也是主要以property键值对的形式存在,主要有一下五种键:
hive.metastore.local 设置元数据信息的存放位置,如果采用mysql等第三方数据库时,设置为true,本文档编写时采用的就是mysql;
本文档中设置为true
javax.jdo.option.ConnectionURL 设置数据库的连接信息;
本文档中设置为
jdbc:mysql://10.28.171.38:3306/hiveTestDB?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName 设置数据库的驱动信息;
本文档中设置为:com.mysql.jdbc.Driver
javax.jdo.PersistenceManagerFactoryClass设置数据持久化的类;
本文档中设置为:org.datanucleus.jdo.JDOPersistenceManagerFactory
javax.jdo.option.DetachAllOnCommit设置是否从session中把对象分离出来;本文档中设置为true;
javax.jdo.option.NonTransactionalRead 设置 是否允许事务外的数据对象访问;本文档中设置为true;
javax.jdo.option.ConnectionUserName 设置数据库的用户名;
本文档中设置为:hive
javax.jdo.option.ConnectionPassword 设置数据库的用户密码;
本文档中设置为:hive
hive.querylog.location设置日志的保存位置,如果不设置,将默认保存在/tmp/<user.name>/hive.log里。
hive.aux.jars.path设置运行hive时需要额外加载的一些相关的包,如果不设置的话,在执行insert或者跟mapreduce、hbase相关的操作时会报错。
本文档中设置为:
file:///opt/hive-0.7.1-cdh3u3/lib/hive-hbase-handler-0.7.1-cdh3u3.jar,file:///opt/hive-0.7.1-cdh3u3/lib/hbase-0.94.1-security.jar,file:///opt/hive-0.7.1-cdh3u3/lib/zookeeper-3.4.3.jar,file:///opt/hive-0.7.1-cdh3u3/lib/protobuf-java-2.4.0a.jar
即,把lib目录下的这四个jar包加载进来。其中,hbase-0.94.1-security.jar在habse安装目录中;zookeeper-3.4.3.jar在zookeeper安装目录中;protobuf-java-2.4.0a.jar在hbase安装目录中的lib下,此包是和hbase相关联时通信用。
1.4  配置数据库
一般都采用第三方数据库比如mysql等存储元数据信息,而不用hive自带的derby数据库。安装mysql数据库可采用如下命令:
yum install mysql-server
安装完成后,利用如下命令启动:
/etc/init.d/mysqld start
现在要创建我们前面在hive-site.xml文件中用到的数据库和用户名了。
以root用户登录mysql之后执行:
CREATE USER ‘hive’@'localhost’ IDENTIFIED BY ‘hive’;
或者在数据库mysql的user表中插入:
insert into mysql.user(Host,User,Password) values(‘%’,'hive’,password(‘hive’));
执行上述命令之后都需要执行:
flush privileges;
使命令之生效。之所以host键的值填“%”,这是因为我们要从别的机器连接mysql,如果设置为localhost,就被会本机拒绝连接。除了设置为“%”之外,还可以设置为需要连接mysql的主机的ip地址。
有了相应的hive用户,下面就创建可以被hive用户操作的数据库了。在root用户下创建数据库hiveTestDB:
create database hiveTestDB;
此时的hiveTestDB数据库时属于root的,现在利用命令将hiveTestDB的使用权限给hive用户:
grant all privileges on hiveTestDB.* to hive identified by ‘hive’ with grant option;
还是要使用命令:
flush privileges;
使之生效。
1.5  Hive的lib配置
将hadoop目录下的hadoop-core-0.20.2-cdh3u3.jar包、mysql数据库的mysql-connector-java-5.1.21-bin.jar包和
mysql-connector-java-5.1.6.jar包放入Hive的lib目录下。
1.6 Hive的启动
Hive启动的时候像Hadoop一样,也是在bin目录下,bin的目录结构如下:
目录结构比较简单,在启动的时候需要运行hive脚本,可以直接ctrl+c组合键退出。启动Hive
在Hive的bin的目录下输入命令:
hive
即可进入hive的环境。

运维网声明 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-312003-1-1.html 上篇帖子: Hadoop的TaskTracker黑名单机制 下篇帖子: hadoop 分布式应用(个人学习笔记)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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