Hive部署

1.下载安装包.tar.gz

http://www.apache.org/dyn/closer.cgi/hive/

2.上传到hadoop集群上的一台机器,并解压

tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /root/apps/install/
cd /root/apps/install/
mv apache-hive-1.2.1-bin hive

3.配置环境变量(/etc/profile)

export HIVE_HOME=/root/apps/install/hive
export PATH=${HIVE_HOME}/bin:$PATH

4.配置文件

cd /root/apps/install/hive/conf
vim hive-site.xml
#写入mysql配置(将hive创建的库,表等元数据信息存在mysql里)
<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>root</value>
</property>
</configuration>

5.安装mysql并创建hive数据库(保存元数据)

#安装
yum install mysql-server
yum install mysql
service mysqld start
#第一次登录不用输root密码
mysql -u root -p
#改root密码
UPDATE user SET password=password("你的密码") WHERE user='root';
#更新
FLUSH PRIVILEGES;
#创建数据库
create database hive;
#root角色可以在所有远程电脑登录并拥有所有库中的所有表的权限
grant all privileges on *.* to root@"%" identified by "root" with grant option;

6.启动

已经配置过环境变量了(bin/hive),直接输入:hive

7.报错解决

报错一:

Terminal initialization failed; falling back to unsupported

解决:

用hive/lib/下的jline(jar包)替换hadoop中的jline(jar包)。(/root/apps/hadoop/share/hadoop/yarn/lib/jline.jar)

报错二:

#用hive创建,删除表等出现
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.MetaException
(message:For direct MetaStore DB connections, we don't support retries at the client level.)

解决:

#修改mysql的字符集
alter database hive character set latin1;

8.Hive thrift服务启动

#启动为前台:
bin/hiveserver2
#启动成功后,可以在别的节点上用beeline去连接(我在本机上连接hiveserver)
hive/bin/beeline
!connect jdbc:hive2://localhost:10000
#输入用户名,回车(就是你连接服务时当前的linux用户名)
#密码留空直接回车
posted @ 2018-05-31 22:32  py小杰  阅读(326)  评论(0编辑  收藏  举报