博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop之Hive 安装_在hadoop 伪分布上
阅读量:7119 次
发布时间:2019-06-28

本文共 3026 字,大约阅读时间需要 10 分钟。

1.  Hive mysql的metastore安装准备

把hive-0.12.0.tar.gz解压到/zzy/

# tar -zxvf hive-0.12.0.tar.gz -C /zzy    (-C 指定解包后的路径)

修改/etc/profile文件,将hive加入环境变量

# vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_79

export HADOOP_HOME=/itcast/hadoop-2.4.1

export HIVE_HOME=/itcast/hive-0.12.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

Source 一下,让配置生效

# source /etc/profile

安装完毕!

提示:metastore是hive元数据的集中存放地。metastore默认使用内嵌的derby数据库作为存储引擎。Derby引擎的缺点:一次只能打开一个会话,使用Mysql作为外置存储引擎,多用户同时访问。

2. 安装mysql数据库

(注意:没网络,可以配置好本地yum源 请参考本博客 Hadoop 之配置本地yum 源)

# yum -y install mysql-server

启动mysql数据库

# service mysqld start

初始化mysql数据库(默认root的密码为空,按提示一步步完成)

# /usr/bin/mysql_secure_installation

将mysql加入开机启动

# chkconfig mysqld on

允许远程登录mysql

首先登录mysql数据,然后执行下面两行语句: (登陆mysql:mysql –u用户名 –p密码)

          a. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY zzy WITH GRANT OPTION;

          b.flush privileges; (mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,

               还有一种方法,就是重新启动 mysql服务器,来使新设置生效。­)

修改$HIVE_HOME/bin的hive-config.sh,增加以下三行

export JAVA_HOME=/usr/java/jdk1.7.0_79

export HIVE_HOME=/itcast/hive-0.12.0

export HADOOP_HOME=/itcast/hadoop-2.4.1

3. 配置MySQL的metastore

a.上传数据库驱动mysql-connector-java-5.1.28.jar到/zzy/hive-0.12.0/lib

b.修改$HIVE_HOME/conf/hive-site.xml

# vim /zzy/hive-0.12.0/conf/hive-site.xml (cp hive-default.xml.template hive-site.xml)

<configuration>

<property>

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

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

</property>

<property>

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

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

</property>

<property>

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

<value>root</value>

</property>

<property>

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

<value>lg</value>

</property>

</configuration>

配置完毕!

4. 测试配置是否正确

启动hive    (输入 #hive --service cli 启动)

# hive

创建数据库

hive> create database test_db;

显示所有数据库

show databases;

使用数据库test_db

hive> use test_db;

创建学生表

hive> create table student(id int,name string);

查看是否在HDFS中存有下面文件夹

---------------------------------------bug----------------------------------------

1.  service mysqld start

Another MySQL daemon already running with the same unix socketservice mysqld stop

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

2. hive> create database test_db;

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

3. 用客户端sqlyog 链接数据库的时候报错

1045 access denied for user 'root'@'localhost' using password yes

解决方案:如下

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

转载于:https://www.cnblogs.com/chaoren399/archive/2013/01/10/2854341.html

你可能感兴趣的文章
从0到1简易区块链开发手册V0.6-实现打印区块
查看>>
Kali Linux Network Scanning Cookbook读书笔记之nmap
查看>>
我的友情链接
查看>>
再谈子网划分方法与子网划分示例
查看>>
OSPFv2的综合实验试题分析第1例(CCNP阶段)
查看>>
Eclipse下Pydev在线安装失败及解决办法
查看>>
在kubernetes集群中部署mysql主从
查看>>
Linux——系统引导流程学习简单笔记
查看>>
Bootstrap3.0学习第十二轮(导航、标签、面包屑导航)
查看>>
The Definitive Guide To Django 2 学习笔记(八) 第四章 模板 (四)基本的模板标签和过滤器...
查看>>
【转】Mysql行转换为列
查看>>
Sysprep命令详解
查看>>
通过SCVMM分配SMB 3.0 文件共享
查看>>
我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)
查看>>
用C#实现的条形码和二维码编码解码器
查看>>
[经验分享]采用什么架构才能够承受庞大的大访问量?
查看>>
EXT ajax简单实例
查看>>
《你必须知道的495个C语言问题》知识笔记及补充
查看>>
用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)
查看>>
WAF与IPS的区别总结
查看>>