Hive是基于Hadoop 的一个数据仓库工具,其运行依赖于Hadoop和Mysql。
- Hadoop为其提供HDFS文件系统
- Mysql为其提供元数据存储
资源下载
百度网盘链接:https://pan.baidu.com/s/1p-V6394zu1juCMbgbbIsQQ
提取码:c3n5
MySQL安装
卸载系统自带安装包
卸载系统自带的mysql相关安装包,Cenots7 系统自带的是mariadb,卸载mariadb:
rpm -qa | grep mariadb
yum -y remove mariadb-libs
安装msyql相关包
在opt下新建mysql文件夹
sudo mkdir -p /opt/mysql
将下载的rpm压缩包解压到/opt/mysql 目录下:
tar xf MySQL-community-5.1.71-1.rhel5.x86_64.rpm-bundle.tar -C /opt/mysql
按照如下顺序依次安装
rpm -ivh MySQL-client-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-devel-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-embedded-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-shared-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-test-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-server-community-5.1.71-1.rhel5.x86_64.rpm
rpm -ivh MySQL-community-debuginfo-5.1.71-1.rhel5.x86_64.rpm
msyql已经安装好了,密码为空,输入
mysql -uroot -p
然后回车
修改密码为 123456
set password = password('123456');
赋权远程登陆
grant all privileges on *.* to 'root'@'%' identified by '123456';
刷新权限
flush privileges;
创建hive数据库
create database hive default charset utf8;
HIVE搭建
解压HIVE压缩包
tar zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/
重命名
mv apache-hive-1.2.1-bin hive
配置环境变量
修改环境变量
vim /etc/profile
使环境变量生效
source /etc/profile
修改配置文件
切换到HIVE的配置文件目录:
cd $HIVE_HOME/conf/
修改hive-env.sh文件
重新命名
cp hive-env.sh.template hive-env.sh
编辑文件
vim hive-env.sh
修改hadoop的安装目录=/opt/hadoop,
修改hive-site.xml文件
重新命名
cp hive-default.xml.template hive-site.xml
编辑hive-site.xml
vim hive-site.xml
修改以下参数,参数并不在一起,可以在vim中输入 :/待查找内容
进行查找:
<property>
<name>javax.jdo.option.ConnectionURL </name>
<value>jdbc:mysql://主机IP地址:3306/hive?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName </name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword </name>
<value>123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/opt/hive/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/opt/hive/iotmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
传输jar包:
将mysql相关包拷贝到hive中
cp -r mysql-connector-java-5.1.37-bin.jar /opt/hive/lib/
如果是分布式集群安装,将HIVE传输到子节点:
scp -r /opt/hive slave1:/opt
scp -r /opt/hive slave2:/opt
将jline包拷贝到hadoop中,如果是分布式集群安装,在三个节点上执行
cp -r /opt/hive/lib/jline-2.12.jar /opt/hadoop/share/hadoop/yarn/lib
cd /opt/hadoop/share/hadoop/yarn/lib
mv jline-2.11.jar jline-2.11.jar.bak
从节点配置环境变量并使其生效,步骤与主节点相同
初始化元数据库
切换目录
cd /opt/hive/bin
初始化元数据库
./schematool -dbType mysql -initSchema
启动HIVE
在Hadoop启动的情况下,执行hive命令,启动HIVE
hive
hive> show databases;