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多行删除
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://server2/metastore_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>
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多行删除
<property>
<name>hive.metastore.uris</name>
<value>thrift://server1:9083</value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
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安装配置
最新推荐文章于 2024-06-17 23:27:58 发布