Hive安装和基本操作&&Hive thrift服务

Hive只在一个节点上安装即可


1.上传tar包


2.解压
tar -zxvf hive-0.9.0.tar.gz -C /cloud/
3.安装mysql数据库(切换到root用户)(装在哪里没有限制,只有能联通hadoop集群的节点)
mysql安装仅供参考,不同版本mysql有各自的安装流程
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm 
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm 
修改mysql的密码
/usr/bin/mysql_secure_installation
(注意:删除匿名用户,允许用户远程连接)
登陆mysql
mysql -u root -p


4.配置hive
(a)配置HIVE_HOME环境变量  vi conf/hive-env.sh 配置其中的$hadoop_home



(b)配置元数据库信息   vi  hive-site.xml 
添加如下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>


<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>


<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>


<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>

5.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下
如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql -uroot -p
#(执行下面的语句  *.*:所有库下的所有表   %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;


6. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的 
/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar


7.需要把mysql的驱动包放在hive/lib下




启动hive

bin/hive

------------创建一张test表

1.create database shizhan03;

2.use shizhan03;

3.create table test(id int,name string)

row format delimited

fields terminated by ',';

将新建sz.dat的数据放到test表里面(创建的新表的位置在HDFS上的路径:可访问http://192.168.198.200:50070查看

/user/hive/warehouse/shizhan03.db/test)

hadoop fs -put sz.dat /user/hive/warehouse/shizhan03.db/test

查询数据

select * from test;

清除表里面的数据:truncate table sz;

Hive thrift服务


启动方式,(假如是在hadoop01上):

启动为前台:bin/hiveserver2

启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log2>/var/log/hiveserver.err &

启动成功后,可以在别的节点上用beeline去连接

v  方式(1)

hive/bin/beeline  回车,进入beeline的命令界面

输入命令连接hiveserver2

beeline> !connect jdbc:hive2://mini1:10000

(hadoop01是hiveserver2所启动的那台主机名,端口默认是10000)

默认的用户名就是该台虚拟机的用户名,密码为空直接按enter键跳过

v  方式(2)

或者启动就连接:

bin/beeline -u jdbc:hive2://mini1:10000-n hadoop

接下来就可以做正常sql查询了





猜你喜欢

转载自blog.csdn.net/peng_0129/article/details/80706588
今日推荐