Hive学习(二)-----Hive两种搭建方式

Hive学习(二)-----Hive两种搭建方式

1.mysql安装

1.1 yum安装mysql

#yum install mysql-server -y
注意:不是mysql,二是mysql-server。mysql为客户端

1.2启动mysql服务

#service mysqld start

不启动会报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

1.3进入MySQL

#mysql

1.4修改权限

#show databases;
#use mysql;
#show tables;
#select Host,User,Password from user;
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
#flush privileges;      //	刷新权限

2.Hive-----Remote Metastore Database搭建

hive配置官网:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
node01为mysql服务器
node02为hive服务器

2.1解压

#tar -xf hive.tar.gz -C path

2.2配置环境变量

在这里插入图片描述
在这里插入图片描述配置环境变量后,别忘了重新运行配置文件
#. /etc/profile

2.3 配置hive-site.xml

1.先把conf/ 下的hive-default.xml-templte 改名为hive-site.xml
在这里插入图片描述
2.打开hive-site.xml配置属性

<configuration>  
//配置数据存储在hdfs中的路径
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive_remote/warehouse</value>  
</property>   
//需要连接数据库的地址
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value>  
</property>  
//驱动包
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
//连接数据的username   
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>hive</value>  
</property>  
 //连接数据库的password
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>password</value>  
</property>  
</configuration>  

2.4 启动hive

hive 需要依赖hdfs,所以需要首先启动hdfs集群。
启动hive

#hive

2.5 启动报错

1.需要把驱动包导入到hive/lib/目录下

2.[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

问题原因:hive/lib/下的jline-2.12.jarl包与/opt/hadoop-2.6.5/share/hadoop/yarn/lib下的包版本不一致
在这里插入图片描述

在这里插入图片描述解决方法:把hive/lib的那个jline包拷贝到hadop下

3.hive–Remote Metastore Server搭建

node01—mysql
node03----metastore server
node04----hive
node01 mysql配置不变
node03 和node04配置和emote Metastore Database的客户端一样
修改node03服务端的hive-site.xml配置:

<configuration>  
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://192.168.57.6: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>123456</value>  
</property>  
</configuration>  

修改node04客户端的hive-site.xml配置

<configuration>  
  
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  
   
<property>  
  <name>hive.metastore.local</name>  
  <value>false</value>  
</property>  
  
<property>  
  <name>hive.metastore.uris</name>  
  <value>thrift://192.168.57.5:9083</value>  
</property>  
  
</configuration>  

启动hive服务端程序
hive --service metastore

客户端直接使用hive命令即可
root@my188:~$ hive
Hive history file=/tmp/root/hive_job_log_root_201301301416_955801255.txt
hive> show tables;
OK
test_hive
Time taken: 0.736 seconds
hive>

发布了19 篇原创文章 · 获赞 1 · 访问量 328

猜你喜欢

转载自blog.csdn.net/qq_43719634/article/details/102327860