(四)Hive搭建
传送门:
(一)Hadoop基础搭建(Ubuntu)
(二)Hadoop伪分布式与初步集群模式
(三)Hadoop集群模式搭建
(四)Hive搭建
一、安装hive
1. 下载并解压hive源程序
Hive下载地址
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
sudo chown -R userName hive # 修改文件权限(userName为当前用户名)
2. 配置环境变量
为了方便使用,我们把hive命令加入到环境变量中去,编辑~/.bashrc文件
sudo vim ~/.bashrc
在最后一行添加:
export HIVE_HOME=/usr/local/hive
export HCAT_HOME=$HIVE_HOME/hcatalog
export HIVE_CONF=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
使配置立即生效。
source ~/.bashrc
3. 修改/usr/local/hive/conf
下的hive-site.xml
cd /usr/local/hive
cp conf/hive-default.xml.template conf/hive-site.xml
sudo vim conf/hive-site.xml
清除所有内容,将下面的内容粘贴进去
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>
二、安装并配置MySQL
1. MySQL的安装
sudo apt-get update
sudo apt-get install mysql-server
若没有提示输入密码,则需要进行MySQL密码修改
Ⅰ 打开/etc/mysql/debian.cnf文件,在这个文件中有系统默认给我们分配的用户名和密码,通过这个密码就可以直接对MySQL进行操作了。
sudo vim /etc/mysql/debian.cnf
user = debian-sys-maint #数据库用户名
password = Fnmfdot2VJRGjtxu #数据库密码
Ⅱ 以debian-sys-maint为用户名登录mysql
mysql -u debian-sys-maint -pqEjxHklFPe8RxZik
这里要特别注意密码的大小写!!!
Ⅲ 在mysql shell里执行语句
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> quit;
Ⅳ 重启mysql服务sudo service mysql restart,之cd 后就可以以root用户登陆了,密码就是你刚才设置的"new password"。
2. 下载MySQL JDBC 包
tar -zxvf mysql-connector-java-5.1.40.tar.gz #解压
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib #将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下
3. 启动并登陆MySQL shell
mysql -u root -p #登陆shell界面
4. 新建hive数据库。
mysql> create database hive;
5. 配置MySQL允许hive接入:
mysql> grant all on *.* to hive@localhost identified by 'hive';
mysql> flush privileges;
6. 启动hive
启动hive之前,请先启动hadoop集群。
start-all.sh #启动hadoophive
hive #启动hive
**解决Hive启动,Hive metastore database is not initialized的错误。**出错原因:重新安装Hive和MySQL,导致版本、配置不一致。在终端执行如下命令
schematool -dbType mysql -initSchema
Hive 分布现在包含一个用于 Hive Metastore 架构操控的脱机工具,名为 schematool.此工具可用于初始化当前 Hive 版本的 Metastore 架构。此外,其还可处理从较旧版本到新版本的架构升级。
配套视频