组件版本
组件 | 版本 | 下载地址 |
---|---|---|
Hadoop | 2.7.7 | hadoop2.7.7 |
JDK | 1.8 | jdk8 |
Mysql | 5.7 | mysql5.7 |
Hive | 2.3.4 | Hive2.3.5 |
**机器环境 **
IP | 主机名 | 密码 |
---|---|---|
192.168.222.201 | master | password |
192.168.222.202 | slave1 | password |
192.169.222.203 | slave2 | password |
1、机器基础环境
参考地址:javascript:void(0)
- 关闭防火墙,设置开机不自启(三台虚拟机都要做该操作)
- 配置hosts文件(三台能够互相通信)
- 配置SSH (master 能够免密登录slave1和slave2)
- 时间同步配置NTP或使用date手动调整
2、安装java(三台机器都要安装)
参考地址:javascript:void(0)
3、部署hadoop完全分布式
**参考地址:javascript:void(0)
4、部署hive组件4.1 解压hive文件
[root@master ~]#
命令:
tar -xzvf /chinaskills/apache-hive-2.3.4-bin.tar.gz -C /usr/local/src/
4.2 重命名为hive
[root@master ~]#
命令:
mv /usr/local/src/apache-hive-2.3.4-bin /usr/local/src/hive
4.3 配置hive环境变量(仅使当前用户生效)
[root@master ~]#
命令:
vi /root/.bash_profile
配置内容:
export HIVE_HOME=/usr/local/src/hive
export PATH=$PATH:$HIVE_HOME/bin
4.4 配置hive-site.xml文件
[root@master ~]#
命令:
cp /usr/local/src/hive/conf/hive-default.xml.template /usr/local/src/hive/conf/hive-site.xml
vi /usr/local/src/hive/conf/hive-site.xml
配置内容:
<property>
<!--连接数据库URL(必选参数)-->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false</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>password</value>
</property>
<property>
<!--验证元数据的一致性,默认为false(可选参数)-->
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
4.5 添加mysql驱动包
[root@master ~]#
命令:
tar -xzvf /chinaskills/mysql-connector-java-5.1.47.tar.gz -C /chinaskills/
cp /chinaskills/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /usr/local/src/hive/lib/
4.6 加载环境变量
[root@master ~]#
命令:
source /root/.bash_profile
4.7 hive初始化
[root@master ~]#
命令:
schematool -dbType mysql -initSchema
输出信息:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/src/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/src/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL: jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: root
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed
4.8 进入hive shell
[root@master ~]# hive
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/root/bin:/usr/local/src/java/bin:/root/bin:/usr/local/src/java/bin:/usr/local/src/hadoop/bin:/usr/local/src/hadoop/sbin:/root/bin:/usr/local/src/java/bin:/usr/local/src/hadoop/bin:/usr/local/src/hadoop/sbin:/usr/local/src/hive/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/src/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/src/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Logging initialized using configuration in jar:file:/usr/local/src/hive/lib/hive-common-2.3.4.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> show databases;
OK
default
Time taken: 3.985 seconds, Fetched: 1 row(s)