Hive安装手册(PS:本教程是根据网上资料整理而来)
安装Hive:
安装Hive的过程和安装Hadoop很类似,首先,我们先下载一个Hive软件压缩包(下载地址:http://www.apache.org/dyn/closer.cgi/hive/),然后进行解压缩,具体如下:
cd~/Downloads
sudo tar-zxvf ./ apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解压到/usr/local中
cd/usr/local/
sudo mv./apache-hive-1.2.1-bin/ ./hive # 将文件夹名改为hive
sudochown -R hadoop:hadoop ./hive # 修改文件权限
sudomkdir -p /usr/local/hive/warehouse # 创建元数据存储文件夹
sudochmod a+rwx /usr/local/hive/warehouse # 修改文件权限
为了方便使用,我们把hive命令加入到环境变量中去,需要使用以下命令编辑.bashrc文件:
vim~/.bashrc # 设置环境变量
进入.bashrc编辑状态以后,需要在文件最前面添加如下几行:
exportHIVE_HOME=/usr/local/hive
exportPATH=$PATH:$HIVE_HOME/bin
完成上述操作后,需要运行以下命令让配置生效:
source~/.bashrc # 使配置立即生效
如下图:
安装MySQL:
a.查看并卸载系统自带的MySQL相关安装包,命令如下:
rpm-qa|grep mysql
若没有安装rpm工具,系统会有提示,按照提示安装即可。接下来查看是否有系统自带的MySQL相关安装包,若有,按下面命令删除:
sudo rpm-e --nodeps mysql-libs-xxxxxx
安装MySQL,命令如下:
sudo yuminstall mysql-server
启动设置MySQL,命令如下:
sudoservice mysql start #启动mysql服务注:service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误,解决方法如下:
使用命令:sudo/etc/rc.d/init.d/mysqld start 直接启动没问题(如下图所示)
命令:ls /etc/rc.d/init.d/mysqld -l
命令:sudo chkconfigmysqld on 设置mysql开机启动
命令:sudo chmod 755/etc/rc.d/init.d/mysqld 修改mysqld执行权限
命令:service mysqldstart 成功了
命令:service mysqldstatus 查看状态
如下图所示:
c.设置MySQL,命令如下:
sudo/usr/bin/mysqladmin -u root password 'root' #设置root用户登录密码
mysql -uroot -p #登录mysql
如下图所示:
创建hive用户,数据库等,命令如下:
insertinto mysql.user (Host,User,Password) values("localhost","hive",password (" hive")); # 创建hive用户
createdatabase hive; # 创建hive数据库
grantall on hive.* to hive1@'%' identified by 'hive';
grantall on hive.* to hive1@'localhost' identified by 'hive';
flushprivileges;
exit #退出mysql
mysql -uhive1 -p hive #验证hive用户
showdatabases;
看到以下信息,则说明创建成功。
修改hive-env.sh配置文件(复制hive-default.xml.templaete为hive-site.xml)
将exportHADOOP_HEAPSIZE=1024前面的‘#’去掉,当然可以根据自己的环境对这个默认的1024进行优化;
将export HADOOP_HOME前面的‘#’号去掉,并让它指向您所安装hadoop的目录,我的/ usr/local/hadoop
将exportHIVE_CONF_DIR=/usr/local/hive/conf,并且把‘#’号去掉;
将exportHIVE_AUX_JARS_PATH=/usr/local /hive/lib,并且把‘#’号去掉。
设置hive-site.xml配置文件
复制hive-default.xml.templaete为hive-site.xml
(1) 加入配置项
默认metastore在本地,添加配置改为非本地
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
(2) 修改配置项
hive默认为derby数据库,需要把相关信息调整为mysql数据库
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop:9083</value>
<description>Thrift URI for the remotemetastore. ...</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://Master:3306/hive?=createDatabaseIfNotExist=true</value>
<description>JDBC connect string for aJDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for aJDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use againstmetastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use againstmetastore database</description>
</property>
修改完hive-site.xml文件后,我们需要把JDBC驱动放置在lib目录下(JDBC驱动程序mysql-connector-java-x.x.x-bin.jar文件的下载地址为http://www.mysql.com/downloads/connector/j/),命令如下:
mv~/Downloads/mysql-connector-java-5.1.34-bin.jar /usr/local/hive/lib/ #拷贝mysql-connector-java-5.1.34-bin.jar到hive 的lib下
命令:cp/usr/local/hive/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib # 把jline-2.12.jar拷贝到hadoop相应目录下
mkdir -p/usr/local/hive/tmp #创建hive临时文件夹
sudochmod a+rwx /usr/local/hive/tmp # 修改文件权限
验证部署:
接下来,启动测试Hive。首先启动Hadoop.
在使用hive之前需要启动metastore和hiveserver服务,通过如下命令启用:
使用命令:hive --servicemetastore &
命令:hive --service hiveserver&
使用命令jps查看进程,可以看到多出了两个进程在后台。
执行Hive命令 hive。