hive安装配置

server1:启动metastore服务,即在hive-site.xml中指定mysql相关信息,通过bin/hive --service metastore &启动
server2:安装mysql,保存metastore元数据
server3:安装客户端,在hive-site.xml中hive.metastore.uris指明了哪台机器提供metastore服务,通过bin/hive连接metastore服务,从而操作hive


一、在server2安装mysql
1、查看自己虚拟机上有没有mysql的安装包
rpm -qa | grep mysql
2、安装mysql服务:
sudo  yum  -y install  mysql-server
安装完成之后
mysql-libs-5.1.73-8.el6_8.x86_64
mysql-5.1.73-8.el6_8.x86_64
mysql-server-5.1.73-8.el6_8.x86_64
3、开启mysql服务
启动:sudo service mysqld start 
设置登录密码:mysqladmin -u root password '123456' 
设置开启启动:sudo chkconfig mysqld on
进入mysql:mysql -uroot -p123456
设置远程登录权限:mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
删除用户信息:mysql> delete from user where user='root' and host='127.0.0.1';
刷新信息:mysql> flush privileges;
重启mysqld服务:sudo service mysqld restart  

二、在server1启动metastore服务
1、解压tar
tar -zxf apache-hive-1.2.1-bin.tar.gz -C /opt/modules/apache/hive-1.2.1/
2、进入conf
mv hive-env.sh.template hive-env.sh
配置环境变量
HADOOP_HOME=/opt/modules/apache/hadoop-2.7.3
export HIVE_CONF_DIR=/opt/modules/apache/hive-1.2.1/conf
3、
bin/hdfs dfs -mkdir       /tmp
bin/hdfs dfs -mkdir       /user/hive/warehouse
bin/hdfs dfs -chmod g+w   /tmp
bin/hdfs dfs -chmod g+w   /user/hive/warehouse
4、复制模板cp hive-default.xml.template hive-site.xml
把模板下面的3000多行删除

hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse


javax.jdo.option.ConnectionURL
jdbc:mysql://server2/metastore_hive?createDatabaseIfNotExist=true


javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver


javax.jdo.option.ConnectionUserName
root


javax.jdo.option.ConnectionPassword
123456

5、将mysql的驱动jar拷贝到hive/lib目录下
6、启动服务:bin/hive --service metastore &


三、server3:安装客户端
1、解压tar
tar -zxf apache-hive-1.2.1-bin.tar.gz -C /opt/modules/apache/hive-1.2.1/
2、进入conf
mv hive-env.sh.template hive-env.sh
配置环境变量
HADOOP_HOME=/opt/modules/apache/hadoop-2.7.3
export HIVE_CONF_DIR=/opt/modules/apache/hive-1.2.1/conf
4、复制模板cp hive-default.xml.template hive-site.xml
把模板下面的3000多行删除

hive.metastore.uris
thrift://server1:9083
Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.
 
5、启动hive cli客户端:bin/hive


四、启动hiveserver2服务,将Hive变成服务对外开放,通过JDBC客户端进行连接
1、在server1中hiveserver2
bin/hiveserver2 & 
2、开启beeline客户端:bin/beeline
!connect jdbc:hive2://server1:10000 scott tiger
3、可以在代码中通过JDBC连接到hiveserver2服务


五、Hive的运行模式
Hive的配置模式分为三种,依据Hive的安装和metastore的设置机器而言
嵌入模式:使用自带的derby数据库
本地模式:将metastore放在mysql,并且mysql和hive安装在同一台机器上
远程模式:将metastore放在mysql, mysql和hive安装在不同的机器上

六、hiveserver2服务与metastore服务区别
1、hiveserver2是hive对外提供服务,hiveserver2服务启动后,可以通过JDBC客户端(比如beeline)连接到hiveserver2,进而访问hive,不需要配置hive-site.xml
2、metastore服务是提供给hive客户(执行bin/hive所进入的交互界面)访问hive,需要在客户端所在机器配置hive-site.xml,指明metastore服务在哪里,即通过hive.metastore.uris指明

你可能感兴趣的:(hive)