组件下载地址:https://archive.apache.org/dist/
框架 | Hive | Hadoop |
---|---|---|
版本 | 3.1.3 | 3.1.3 |
主机 | hadoop102 | hadoop103 | hadoop104 |
---|---|---|---|
服务 | NameNode | ||
DataNode | DataNode | DataNode | |
ResourceManager | |||
NodeManager | NodeManager | NodeManager |
集群安装:https://blog.csdn.net/weixin_45417821/article/details/115268740 只看Hadoop集群安装部分即可
主机 | hadoop102 |
---|---|
服务 | Hivesever2 |
Metastore |
1)把 apache-hive-3.1.3-bin.tar.gz上传到 linux 的/opt/software 目录下
2)解压 apache-hive-3.1.3-bin.tar.gz 到/opt/module目录下面
[root@hadoop102 hive]# tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/module/
3)修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive
[root@hadoop102 module]# mv apache-hive-3.1.3-bin/ hive
4)修改/etc/profile,添加环境变量
[root@hadoop102 hive]# vim /etc/profile.d/my_env.sh
添加内容
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
5)解决日志 Jar 包冲突,进入/opt/module/hive/lib 目录(有冲突再做)
[root@hadoop102 lib]$ mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.b
拷贝驱动
将 MySQL 的 JDBC 驱动拷贝到 Hive 的 lib 目录下
[root@hadoop102 lib]$ cp /opt/software/mysql/mysql-connector-java-5.1.27-bin.jar /opt/module/hive/lib/
配置 Metastore 到 MySQL
在$HIVE_HOME/conf 目录下新建 hive-site.xml 文件
[root@hadoop102 conf]$ vim hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURLname>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=falsevalue>
property>
<property>
<name>javax.jdo.option.ConnectionDriverNamename>
<value>com.mysql.jdbc.Drivervalue>
property>
<property>
<name>javax.jdo.option.ConnectionUserNamename>
<value>rootvalue>
property>
<property>
<name>javax.jdo.option.ConnectionPasswordname>
<value>000000value>
property>
<property>
<name>hive.metastore.warehouse.dirname>
<value>/user/hive/warehousevalue>
property>
<property>
<name>hive.metastore.schema.verificationname>
<value>falsevalue>
property>
<property>
<name>hive.server2.thrift.portname>
<value>10000value>
property>
<property>
<name>hive.server2.thrift.bind.hostname>
<value>hadoop102value>
property>
<property>
<name>hive.metastore.event.db.notification.api.authname>
<value>falsevalue>
property>
<property>
<name>hive.cli.print.headername>
<value>truevalue>
property>
<property>
<name>hive.cli.print.current.dbname>
<value>truevalue>
property>
configuration>
初始化元数据库
1)登陆MySQL
[root@hadoop102 conf]$ mysql -uroot -p000000
2)新建 Hive 元数据库
mysql> create database metastore;
mysql> quit;
3)初始化 Hive 元数据库
[root@hadoop102 conf]$ schematool -initSchema -dbType mysql -verbose
会报如下异常:暂且搁置
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
1)启动 Hadoop
[root@hadoop102 ~]$ start-dfs.sh
[root@hadoop103 ~]$ start-yarn.sh
2)运行 Hadoop 自带的测试任务
[root@hadoop102 ~]$ hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar pi 1 1
1)启动 Hive CLI 客户端
[root@hadoop102 ~]$ hive
此时控制台会出现如下报错信息:
java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkArgument(ZLjava/lang/St
ring;Ljava/lang/Object;)V