大数据02_CentOS7+Hadoop-3-1-2+MySQL5-1-73安装配置Hive-3-1-2
2020-05-05 19:39 微言晓意 阅读(418) 评论(0) 编辑 收藏 举报一、安装环境
- 操作系统:CentOS7
- Hadoop版本:Hadoop-3.1.2.
- MySQL版本:MySQL5.1.73
- HIve版本:Hive-3.1.2
在Hive安装之前,要先安装好Hadoop,本次实验是在Hadoop伪分布模式下,具体安装配置过程可以参考文章:《大数据01_centos7部署hadoop-3.1.2本地模式与伪分布模式》。
二、安装配置MySQL
第一步:下载MySQL安装包:
- MySQL-client-5.1.73-1.glibc23.x86_64.rpm
- MySQL-server-5.1.73-1.glibc23.x86_64.rpm
第二步:将上面下载的两个文件上传到服务器,我使用的是SecureFX软件。
第三步:安装MySQL-server-5.1.73-1.glibc23.x86_64.rpm
输入命令:
rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm
在安装过程中可能用遇到安装冲突,查看冲突的软件包,并把冲突的软件包卸载:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
卸载完了原来的mysql,我们现在再来安装server,如下所示,发现安装成功了。
rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm
屏幕出现:Starting MySQL. SUCCESS!代表安装成功。
第四步:安装MySQL-client-5.1.73-1.glibc23.x86_64.rpm
输入命令:
rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm
屏幕出现100%安装进度条提示,表示安装成功。
第五步:初始化Mysql
那我们便使用/usr/bin/mysql_secure_installation这个脚本来初始化一下,输入:
/usr/bin/mysql_secure_installation
初始化过程中会有几个问题需要输入:
第一个停顿的地方我们直接回车就可以
接下来会让我们选择是否现在设置密码,我们选择"Y"
输入密码:
再次输入密码
提示是否删除所有匿名用户,我们选择"Y"进行删除。
提示是否不允许远程连接,我们选择"n"意思是允许远程连接
提示是否删除测试数据库,我们不删除,选择n
提示是否重新刷新表权限,我们选择"Y"
到此我们的mysql初始化便完成了。
第六步:检验安装成果
mysql -uroot -p密码
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql>
返回正常,MySQL安装成功。
三、安装配置Hive-3.1.2
1、把压缩包上传到虚拟机中,使用命令进行解压:
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /home/hadoop/test
进入解压目录,重命名文件夹:
mv apache-hive-3.1.2-bin hive-3.1.2
2、设置环境变量:
vi ~/.bash_profile
编辑文件添加内容
HIVE_HOME=/home/hadoop/test/hive-3.1.2
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
使变量立即生效:
source ~/.bash_profile
3、修改hive-site.xml 文件:
进入/home/hadoop/test/hive-3.1.2/conf目录,下创建hive-site.xml 文件,
复制hive-default.xml.template并更名为hive-site.xml
cp hive-default.xml.template hive-site.xml
4、创建HDFS文件夹
提前把hadoop安装配置好后启动,具体安装配置过程可以参考文章:《大数据01_centos7部署hadoop-3.1.2本地模式与伪分布模式》。
hadoop fs -mkdir -p /user/hive/warehouse # 创建文件夹
hadoop fs -mkdir -p /tmp/hive # 创建文件夹
hadoop fs -mkdir -p /tmp/hive # 创建文件夹
hadoop fs -chmod -R 777 /tmp/hive # 授予权限
查看是否创建成功:
hadoop fs -ls /
5、Hive相关配置
在/home/hadoop/test/hive-3.1.2下创建iotmp目录
mkdir iotmp
chmod -R 777 iotmp # 授予权限
pwd # 查看temp的文件位置
/home/hadoop/test/hive-3.1.2/iotmp
然后,将 hive-site.xml 中的{system:java.io.tmpdir}改为hive的本地目录,将{system:user.name}改为用户名。注意:路径和用户名都是自己的。下面列出的是根据我的路径和我的用户名修改的文件。
由于hive-site.xml文件内容很多,可以借助文本编辑器的“/关键字”查找功能来定位。
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hadoop/test/hive-3.1.2/hadoop</value>
<description>Local scratch space for Hive jobs</description>
</property
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hadoop/test/hive-3.1.2/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/home/hadoop/test/hive-3.1.2/iotmp/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/home/hadoop/test/hive-3.1.2/iotmp</value>
<description>Location of Hive run time structured log file</description>
</property>
6、数据库的相关配置
同样修改 hive-site.xml 中的以下几项,数据库jdbc地址,value标签内修改为主机ip地址
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>
JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
</description>
</property>
这里jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true 中的 localhost 要看自己的数据库的 user 和 host,打开数据库,执行以下命令即可看到:
mysql> select user,host from mysql.user;
修改数据库的驱动类名称
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
修改数据库用户名:切记要和自己的对应,用户名再前面已经查看了,我的是 root,所以这里就写root。
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
修改数据库密码:自己数据库的密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>数据库密码</value>
<description>password to use against metastore database</description>
</property>
7、配置hive-log4j2.properties
进入/home/hadoop/test/hive-3.1.2/conf目录,创建hive-log4j2.properties文件
cp hive-log4j2.properties.template hive-log4j2.properties
用vi编辑器打开,编辑:
vi hive-log4j2.properties # 打开文件
修改内容
property.hive.log.dir = /home/hadoop/test/hive-3.1.2/iotmp
8、配置hive-env.sh文件
进入/home/hadoop/test/hive-3.1.2/conf目录,创建 hive-env.sh文件
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
添加以下内容,没有的要添加
export JAVA_HOME=/home/hadoop/test/jdk1.8.0_241
export HADOOP_HOME=/home/hadoop/test/hadoop-3.1.2
export HIVE_HOME=/home/hadoop/test/hive-3.1.2
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/test/hive-3.1.2/lib
9、下载数据库驱动:
这里我放入的是这个:mysql-connector-java-5.1.28-bin.jar ,将下好的文件解压后上传到Hive的lib文件夹下。
三、启动 Hive
1、进入hive的bin目录,进行初始化:
schematool -dbType mysql -initSchema
出现“schemaTool completed”信息代表初始化成功。如果出现错误,看错误的描述定位原因,可能出现的错误是在hive-site.xml文件的有特殊字符,删除掉for即可
<description>
Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks fortransactional tables. This ensures that inserts (w/o overwrite) running concurrently
are not hidden by the INSERT OVERWRITE.
</description>
然后再执行初始化命令即可。
2、启动 hive
启动hive,出现 hive>,输入show functions;
hive> show functions;
出现以下信息,说明 hive 安装成功。
OK
!
!=
$sum0
%
&
*
+
-
/
<
<=
<=>
<>
=
........