大数据环境搭建-Hive

2021-02-21  本文已影响0人  有机会一起种地OT

hive压缩包解压

使用mysql存储元数据

创建 hive 账号 hive元数据库

create database hive_metadata;
create user 'hive'@'%' identified by 'hive'

账号授权

grand all privileges on hive_metadata.* to 'hive'@'%'
flush privileges

通过hive账号登陆mysql,验证成功

将所需依赖包mysql-connector-java.jar 复制到 hive/lib。

配置hive-site.xml

把所有的${system:java.io.tmpdir} 都替换为/usr/hive/tmp
把所有的${system:user.name}替换为${user.name}

<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/usr/hive/warehouse</value>
</property>
<property>
    <name>hive.exec.scratchdir</name>
    <value>/usr/hive/scratchdir</value>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/usr/hive/logs</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
</property>

配置好后的文件 复制到其他slave节点。在slave节点hive-site.xml,javax.jdo.option.ConnectionURL 中localhost改为主节点名hadoopM (主节点要使用localhost)

并添加

<property>  
    <name>hive.metastore.uris</name>  
    <value>thrift://hadoopM:9083</value>  
</property>
初始化 hive 数据库

主节点/.../apache-hive-2.*-bin/bin下执行

schematool -dbType mysql -initSchema

在使用客户端访问hive之前,先在主节点执行

hive --service metastore &
hive --service hiveserver2 &

来启动metastore Hive Thrift客户端服务

问题:

启动 metastore 时,发现hadoop、hive日志jar包冲突,删除其中一个

Loading class `com.mysql.jdbc.Driver'. This is deprecated.错误。
更改 hive-site.xml 中 DriverName 为 com.mysql.cj.jdbc.Driver

使用

先启动hdfs,后启动hive客户端

hive操作hdfs时,也需要关闭防火墙,否的找不到其他机器的datanode

集群正常使用要进行时间同步 ntp工具

上一篇下一篇

猜你喜欢

热点阅读