1.4.3.1Hive部署

总目录: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的压缩包上传上去然后解压。

 
20155953-a5a1070a21697323.png
解压

然后删掉压缩包,重命名目录。

 
20155953-c059733d898491ac.png
修改

配置

 
20155953-a52bf6b140ec179b.png
目录

注:最后一个是sql脚本

我们先修改模板文件。

 
20155953-7bf83df0094d2081.png
目录
  • 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

然后有一些要修改的项

  1. 搜索hive.exec.scratchdir,将该name对应的value修改为/user/hive/tmp
<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
</property>
  1. 搜索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
 
20155953-93497eb9bc6b7eec.png
初始化

这就表示初始化成功

查看数据库

 
20155953-53033d881a169de5.png
查看数据库

成功的话,就有一个hive的库,用来保存元数据。

库内容

 
20155953-f0d653e4ede8bcd5.png
库内容

启动hive

 
20155953-2e7a2c31bf069e06.png
启动

这些SLF4J提示可以通过设置错误级别消除。

发布了242 篇原创文章 · 获赞 60 · 访问量 2180

猜你喜欢

转载自blog.csdn.net/qq_41106844/article/details/105553365
今日推荐