Hive安装配置

安装环境配置

将文件apache-hive-1.2.1-bin.tar.gz通过XFTP工具上传到其node1
在这里插入图片描述
解压压缩包

tar -zxvf apache-hive-1.2.1-bin.tar.gz

将其移动到/usr下

mv apache-hive-1.2.1-bin /usr/

替换jline jar包
hadoop中yarn/lib下原有jline jar包版本:jline-0.9.94.jar
hive/lib下版本:jline-2.12.jar
把/usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar 替换为
/usr/apache-hive-1.2.1/lib/jline-2.12.jar

先把/usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar删除,再把hive目录下的包复制过来

rm -rf /usr/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar
cd /usr/apache-hive-1.2.1-bin/lib/
cp jline-2.12.jar /usr/hadoop/share/hadoop/yarn/lib/

查看是否拷贝成功

cd /usr/hadoop/share/hadoop/yarn/lib

通过ll命令查看
在这里插入图片描述
配置hive环境变量

vi /etc/profile

配置HIVE_HOME,并将HIVE_HOME/bin拼接到PATH后面

export HIVE_HOME=/usr/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin

在这里插入图片描述
使生效

source /etc/profile 

配置hive的hadoop目录
进入配置文件目录cd /usr/apache-hive-1.2.1-bin/conf/
复制hive-env.sh.template 文件并重命名为hive-env.sh

cp hive-env.sh.template hive-env.sh

编辑vi hive-env.sh
找到#HADOOP_HOME一行,重新写一行配置HADOOP_HOME路径
HADOOP_HOME=/usr/hadoop-2.5.2 (注意自己hadoop目录名字)
在这里插入图片描述

hive部署

hive部署包括三种方式:本地derby、本地mysql、远端mysql
本地derby
hive本身内置了一个derby数据库
进入配置文件目录

cd /usr/apache-hive-1.2.1-bin/conf/

在这里插入图片描述
复制hive-default.xml.template文件并重命名为hive-site.xml

scp  hive-default.xml.template  hive-site.xml

编辑hive-site.xml文件

vi hive-site.xml

清空配置:将光标置于要删除的首行,输入:., − 1 d 表 示 删 除 当 前 行 到 倒 数 第 二 行 这 里 把 光 标 定 位 于 &lt; p r o p e r t y &gt; 一 行 ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 20181208142343381. p n g ? x − o s s − p r o c e s s = i m a g e / w a t e r m a r k , t y p e Z m F u Z 3 p o Z W 5 n a G V p d G k , s h a d o w 1 0 , t e x t a H R 0 c H M 6 L y 9 i b G 9 n L m N z Z G 4 u b m V 0 L 3 d l a X h p b l 8 z O T M 4 M T g z M w = = , s i z e 1 6 , c o l o r F F F F F F , t 7 0 ) 然 后 输 入 : . , -1d表示删除当前行到倒数第二行 这里把光标定位于&lt;property&gt;一行 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181208142343381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTM4MTgzMw==,size_16,color_FFFFFF,t_70) 然后输入:., 1d<property>![](https://imgblog.csdnimg.cn/20181208142343381.png?xossprocess=image/watermark,typeZmFuZ3poZW5naGVpdGk,shadow10,textaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTM4MTgzMw==,size16,colorFFFFFF,t70):.,-1d 再回车,即删除原来所有配置(configuration之间的未被注释的就是配置)
再配置如下内容

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
</property>

这种方式元数据保存在hive_home/conf/ metastore_db文件夹中,即上面配置的数据库名称
在这里插入图片描述
启动hive,保证hadoop已正常启动,
如未启动请分别启动zkServer.sh start、 start-dfs.shstart-yarn.sh、service mysqld start
再直接输入hive
在这里插入图片描述
可以看到进入hive的一个命令行模式
如果报以下错误
在这里插入图片描述
解决:
打开 HADOOP下面/usr/hadoop-2.5.2/etc/haoop下的
在这里插入图片描述
(因为在做MapReduce和HDFS的实验的时候引入过这个,可以暂时注释之前的)
添加 :export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:SOMGTHING ELSE
在这里插入图片描述
改好之后重启hadoop集群,再次运行即可;
输入show tables; 成功查询
在这里插入图片描述
show functions
在这里插入图片描述
本地mysql方式
首先需要在本地安装mysql数据库:

yum -y install mysql-server

启动mysql服务

service mysqld start

在这里插入图片描述
安装后root的默认密码为空,可以登陆后设置root的密码:mysql -uroot -p
默认密码为空,直接回车
在这里插入图片描述
重新设置root密码:use mysql 这里我们也设置为root
在这里插入图片描述
执行语句: update user set password=password(‘root’) where user=‘root’;
在这里插入图片描述
重新刷新权限表: flush privileges;
在这里插入图片描述
exit退出
在这里插入图片描述
重新登陆mysql –uroot -p,则需要输入root密码
在这里插入图片描述
再切换到mysql数据库:use mysql
查询user表:select user,host from user
在这里插入图片描述
将user字段的值为空的记录删除:delete from user where user=’’;
在这里插入图片描述
再将host为node1的改为%,表示允许从其他主机远程访问
update user set host=’%’ where host=‘node1’;
在这里插入图片描述
给root授予所有权限:
GRANT ALL PRIVILEGES ON . TO root@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’;
在这里插入图片描述
刷新权限:flush privileges;
在这里插入图片描述
exit退出再重新启动service mysqld restart
在这里插入图片描述
再配置hive-site.xml为本地mysql模式
删除hive-site.xml原来所有配置
在这里插入图片描述
再添加以下内容,#后面(包括#)为注释,实际配置时请删除

<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive_remote/warehouse</value> 
</property>   
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://192.168.81.131:3306/hive?createDatabaseIfNotExist=true</value>  
</property>  #node1的IP+端口号+数据库名
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>root</value>  #mysql数据库用户名
</property>  
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>root</value>  #mysql数据库密码
</property> 
 <property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value> #zookeeper节点
</property>

在这里插入图片描述
将mysql的驱动jar 包放到hive的lib目录/usr/apache-hive-1.2.1-bin/lib下
在这里插入图片描述
重新启动hive,同样进入hive命令行模式
在这里插入图片描述
输入exit;退出
我们再进入mysql命令行通过show databases;可以看到多了一个hive的数据库,即我们在hive-site.xml中配置的数据库
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oifengo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值