总目录:https://blog.csdn.net/qq_41106844/article/details/105553392
Hadoop - 子目录:https://blog.csdn.net/qq_41106844/article/details/105553369
hive是一个类似于Hadoop客户端的东西,所以他不是分布式的,直接把他装在经常用的一台主机上就可以,我们这里把他装在了master上。
下载地址
hive镜像站:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
和hive一起使用的,还有配套的一个jar包,我们这里使用mysql,所以要有java连接mysql的jar包。
解压
将hive的压缩包上传上去然后解压。
然后删掉压缩包,重命名目录。
配置
注:最后一个是sql脚本
我们先修改模板文件。
- hive-site.xml
里面有很多默认项要我们建一些目录(hdfs上)。
hadoop fs -mkdir -p /user/hive/warehouse //默认仓库位置
hadoop fs -mkdir -p /user/hive/tmp //共享文件目录
hadoop fs -mkdir -p /user/hive/log //日志目录
hadoop fs -chmod -R 777 /user/hive/warehouse
hadoop fs -chmod -R 777 /user/hive/tmp
hadoop fs -chmod -R 777 /user/hive/log
然后有一些要修改的项
- 搜索hive.exec.scratchdir,将该name对应的value修改为/user/hive/tmp
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
- 搜索hive.querylog.location,将该name对应的value修改为/user/hive/log/hadoop
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log/hadoop</value>
<description>Location of Hive run time structured logfile</description>
</property>
3.搜索javax.jdo.option.connectionURL,将该name对应的value修改为MySQL的地址
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value>
<description>
JDBC connectstring for a JDBC metastore.
To use SSL toencrypt/authenticate the connection, provide
database-specific SSL flag in theconnection URL.
For example,jdbc:postgresql://myhost/db?ssl=true for postgres database.
</description>
</property>
4.搜索javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driverclass name for a JDBC metastore</description>
</property>
5.搜索javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username touse against metastore database</description>
</property>
6.搜索javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to useagainst metastore database</description>
</property>
7.创建tmp目录
执行命令:
cd /usr/hdk/hive/
mkdir tmp
然后修改 hive-site.xml
把${system:java.io.tmpdir}改成/usr/hdk/hive/tmp
把${system:user.name}改成${user.name}
- hive-env.sh
HADOOP_HOME=/usr/hdk/hadoop
export HIVE_CONF_DIR=/usr/hdk/hive/conf
配置mysql
- 下载 mysql驱动包
执行命令:
cd /usr/hdk/hive/lib
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
- 初始化MySQL
cd /usr/hdk/hive/bin
./schematool -initSchema -dbType mysql
这就表示初始化成功
查看数据库
成功的话,就有一个hive的库,用来保存元数据。
库内容
启动hive
这些SLF4J提示可以通过设置错误级别消除。