安装环境:Centos 6
Hive版本:2.3.7
Mysql版本 5.6
用户名:huwei
mysql链接:https://pan.baidu.com/s/1Qvx05s8KjtBroXgIoQUNzA
提取码:lfq7
hive链接:https://pan.baidu.com/s/12DdvmA3xg3ajLMpYBkhvhA
提取码:3zm9
第一部分 安装mysql
1. 查看CentOS自带mysql是否已安装
查看
yum list installed | grep mysql
可知有自带安装的mysql
卸载自带安装的mysql
yum -y remove mysql-libs.x86_64
卸载完成!
2. 安装前准备
在/usr/local目录下创建安装mysql的文件夹
su
cd /usr/local/
mkdir Mysql
将mysql的安装包移动到安装目录
在此目录下打开终端
移动文件
mv mysql-libs.zip /usr/local/Mysql/
移动完成!
解压压缩包文件
unzip mysql-libs.zip
3. 安装MySql服务器
进入到mysql-libs文件夹下
安装MySql服务器
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
需要切换root用户
查看产生的随机密码
cat /root/.mysql_secret
查看mysql状态
service mysql status
启动mysql
service mysql start
mysql服务启动成功!
4. 安装MySql客户端
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
连接mysql
mysql -uroot -p随机码
修改密码
SET PASSWORD=PASSWORD('123123');
退出mysql
exit;
5.设置mysql开机自启(非必需)
查看自启服务列表
添加mysql服务到自启服务
chkconfig --add mysql
设置自启
chkconfig mysql on
第二部分 安装hive
下载好的hive如下图所示
1. 为Hive创建安装的文件夹
cd命令进入/usr/local 目录下,由于进入系统目录操作需要管理员权限,故使用su命令由普通用户转为root用户,mkdir Hadoop创建Hadoop文件夹(touch是创建文件)
su
cd /usr/local/
mkdir Hive
2.将Hive移至已创建好的文件夹中
mv /home/huwei/下载/apache-hive-2.3.7-bin.tar.gz /usr/local/Hive
3. 解压Hive压缩包
进入刚刚创建的Hadoop文件夹,鼠标右击“在终端打开”,即直接在终端进入了该文件夹的位置,免去的较为繁琐的cd命令,在系统目录中操作文件,仍需要切换root用户。
tar -zxvf apache-hive-2.3.7-bin.tar.gz
删除缩包
rm -rf apache-hive-2.3.7-bin.tar.gz
为方便操作,重命名hive文件
mv apache-hive-2.3.7-bin hive
4. 配置环境变量
修改/etc/profile文件
vi /etc/profile
键盘按 i 键进行输入,在文件末尾添加
export HIVE_HOME=/usr/local/Hive/hive
export PATH=$PATH:$HIVE_HOME/bin
如下图所示
输入完成后按下键盘右上角的 Esc 并输入:wq进行保存退出
使变量生效
source /etc/profile
检验hive是否成功安装
hive --version
可以看到hive的版本信息
5.配置hive-env.sh文件
进入hive下的conf目录
配置hive-env.sh文件
mv hive-env.sh.template hive-env.sh
vi hive-env.sh
配置hive-site.xml文件
初次解压发现hive-site.xml配置文件并没有,此时需要我们自己创建并配置hive-site.xml
touch hive-site.xml
vi hive-site.xml
配置内容:
<configuration>
<property>
<!-- 元数据库的链接地址 mysql -->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql驱动 -->
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql用户名 -->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<!-- 指定mysql密码 请输入自己的MySQL连接密码 -->
<name>javax.jdo.option.ConnectionPassword</name>
<value>123123</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
6.驱动拷贝
在mysql-libs目录下解压mysql-connector-java-5.1.27.tar.gz驱动包
tar -zxvf mysql-connector-java-5.1.27.tar.gz
拷贝mysql-libs/mysql-connector-java-5.1.27目录下的mysql-connector-java-5.1.27-bin.jar到hive的lib目录下
cp mysql-connector-java-5.1.27-bin.jar /usr/local/Hive/hive/lib
由于前面已经配置了环境变量,在任意目录下启动hive
hive
如下图所示
至此,hive安装成功!!!
注意:
在启动hive之前要保证启动hadoop
如上图所示,hive已经安装成功,但是在输入sql语句时却会报错
hive> show databases;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
那是因为没有初始化元数据,执行以下代码即可
schematool -dbType mysql -initSchema
即可在hive中正常输入sql语句