====== 安装hive和myql =====
安装myslq
CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库
解决方案:如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令
#rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
获取mysql
#yum install -y mysql-server
启动mysql server服务
#service mysql start
(注意:离线安装后mysql的服务名称为mysql,在线安装后的服务名称为msyqld)
进行用户名密码设置
mysql_secure_installation
对远程可访问的机器进行授权
# mysql -hmaster -uroot -proot
ERROR 1130 (HY000): Host 'master' is not allowed to connect to this MySQL server
在mysql服务器登录:mysql -uroot -proot
执行以下语句:
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql> flush privileges;
启动mysql
#systemctl start mysql
安装Hive
约定/opt/hive
进入$HIVE_HOME/conf/修改文件
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
修改$HIVE_HOME/bin的hive-env.sh,增加以下三行
export JAVA_HOME=/opt/jdk8
export HADOOP_HOME=/opt/hadoop
export HIVE_HOME=/opt/hive
修改$HIVE_HOME/conf/hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master: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>
<property>
<name>hive.querylog.location</name>
<value>/opt/hive/tmp</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/opt/hive/tmp</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/opt/hive/tmp</value>
</property>
初始化hive元数据仓库
cp /opt/soft/mysql-connector-java-5.1.39.jar ../lib/
./schematool -initSchema -dbType mysql -userName root -passWord root
启动hive
./hive或者输入 #hive --service cli
Hive的访问:
有本地运行模式和集群运行模式
本地模式需要打开开关:set hive.exec.mode.local.auto=true
默认是集群模式
本地模式在对sql进行调试,测试的时候经常使用
有CLI、WebGUI、JDBC的三种访问方式
1.CLI是最常用,也就是命令行模式
2.WebGUI需要自己通过hive源码制作一个war,部署到hive里面,才能够使用其提供的一个web界面来访问hive,进行相关操作
3.JDBC就是进行sql编程,如果hive使用的是MR的计算引擎,则其运行非常之慢,不能作为交互式查询
hive目前支持三种计算引擎:mr、spark、tez,默认是mr,spark在hive-2.0以后的版本才支持
创建数据库:
create database test;
使用数据库:
use test;
显示当前正在使用的数据库:
set hive.cli.print.current.db=true;
显示数据库列表:
show databases;
关于表的操作:
表的数据类型,除了string和复合数据类型(array, map, struct)之外,几乎和mysql一致
============= hive安装web界面 ===========
下载apache-hive-2.1.0-src.tar.gz
制作war包放在HIVE_HOME/lib/ :hwi/web/*里面所有的文件打成war包
jar cvfM0 hive-hwi-2.1.0.war -C web/ .
复制tool.jar(jdk的lib包下面的jar包)到hive/lib下
修改hive-site.xml
<property>
<name>hive.hwi.listen.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-2.1.0.war</value>
</property>
hive web界面的(端口号9999)启动方式
#nohup $HIVE_HOME/bin/hive --service hwi >/dev/null 2&>1 &
用于通过浏览器来访问hive
http://master:9999/hwi/
==== 安装hive和mysql完成,下一章ant安装====