Hadoop / HBase / Hive · 2021年4月3日 0

centos7整合安装Hadoop+HBase+Hive

软件环境

  • VMware® Workstation 16 Pro
  • CentOS-7-x86_64-Minimal
  • JDK1.8.0_261
  • Apache Hadoop 3.1.2
  • MySQL 5.7
  • Apache Hive 3.1.2
  • Apache HBase 2.2.4
  • 安装目录:1)资源目录:/opt/softwares;2)安装目录:/opt/apps
  • 主机名:hadoop-hbase-hive,简写为:hhh

一、Hadoop 安装

Linux 系统的相关配置请看这里

1.1 JDK 安装

1)通过远程连接工具(如Xshell)远程登陆虚拟机,在 /opt 目录下创建两个目录:softwaresapps

[root@hhh ~]# cd /opt/
[root@hhh opt]# mkdir softwares apps        # 创建 softwares 和 apps 目录
[root@hhh opt]# ll
drwxr-xr-x. 2 root root 6 Apr  2 20:30 apps
drwxr-xr-x. 2 root root 6 Apr  2 20:30 softwares

2)通过文件传输工具将 jdk 安装包上到 /opt/softwares 目录;

[root@hhh opt]# cd softwares/
[root@hhh softwares]# ll
-rw-r--r--. 1 root root 143111803 Oct 15 08:23 jdk-8u261-linux-x64.tar.gz

3)解压安装包到 /opt/apps 目录下并配置全局环境变量:

[root@hhh softwares]# tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/apps/
[root@hhh softwares]# cd /opt/apps/jdk1.8.0_261/    # 切换到 JDK 目录
[root@hhh softwares]# vi /etc/profile               # linunx 全局配置文件
# 在文件末尾添加如下内容
# JAVA_HOME
export JAVA_HOME=/opt/apps/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
:wq 保存退出

4)验证 JDK 是否安装成功:

#使配置文件立即生效
[root@hhh jdk1.8.0_261]# source /etc/profile
[root@hhh jdk1.8.0_261]# java -version        # 验证JDK是否安装成功
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

1.2 Hadoop 解压并配置环境变量

1)将 hadoop-3.1.2.tar.gz 安装包上传到 /opt/softwares 目录下进行解压:

# cd /opt/softwares/
# tar -zxvf hadoop-3.1.2.tar.gz -C /opt/apps/

2)进入到 /opt/apps/hadoop-3.1.2/ 目录下,配置全局环境变量,在 /etc/profile 文件末尾添加以下内容:

# vi /etc/profile
export HADOOP_HOME=/opt/apps/hadoop-3.1.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# source /etc/profile        # 使配置文件立即生效

3)验证环境是否安装成功:

[root@hhh hadoop-3.1.2]# hdfs version
Hadoop 3.1.2
Source code repository https://github.com/apache/hadoop.git -r 1019dde65bcf12e05ef48ac71e84550d589e5d9a
Compiled by sunilg on 2019-01-29T01:39Z
Compiled with protoc 2.5.0
From source with checksum 64b8bdd4ca6e77cce75a93eb09ab2a9
This command was run using /opt/apps/hadoop-3.1.2/share/hadoop/common/hadoop-common-3.1.2.jar

1.3 Hadoop 文件配置

切换到 /opt/apps/hadoop-3.1.2/etc/hadoop/ 目录下,开始进行文件配置。

1)配置 core-site.xml 文件

[root@hhh hadoop]# vi core-site.xml

配置文件内容如下:

2)配置 hdfs-site.xml 文件

[root@hhh hadoop]# vi hdfs-site.xml

配置文件内容如下:

3)配置 yarn-site.xml 文件

[root@hhh hadoop]# vi yarn-site.xml

配置文件内容如下:

4)配置 mapred-site.xml 文件

[root@hhh hadoop]# vi mapred-site.xml

配置文件内容如下:

5)配置 workers 文件

[root@hhh hadoop]# vi workers

配置文件内容如下:

hhh

6)修改 hadoop-env.sh 文件

[root@hhh hadoop]# vi hadoop-env.sh

找到 # export JAVA_HOME= 这一行,修改成下面内容:

# export JAVA_HOME=        # 原有文件内容,改成以下内容 ====>
export JAVA_HOME=/opt/apps/jdk1.8.0_261

7)修改 /opt/apps/hadoop-3.1.2/sbin 目录中 start-dfs.shstop-dfs.sh 两个文件,添加以下内容:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

8)修改 /opt/apps/hadoop-3.1.2/sbin 目录中 start-yarn.shstop-yarn.sh 两个文件,添加以下内容:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

1.4 Hadoop 格式化、启动及测试

1)首次启动初始化 NameNode

[root@hhh hadoop]# cd /opt/apps/hadoop-3.1.2/
[root@hhh hadoop-3.1.2]# hdfs namenode -format

2)启动 HDFS

[root@hhh hadoop-3.1.2]# start-dfs.sh
[root@hhh hadoop-3.1.2]# jps        # 查看 NameNode、DataNode、SecondaryNameNode 节点是否启动
22272 SecondaryNameNode
22656 NameNode
23848 Jps
22073 DataNode

3)启动 YARN

[root@hhh hadoop-3.1.2]# start-yarn.sh
[root@hhh hadoop-3.1.2]# jps
22272 SecondaryNameNode
22656 NameNode
23880 Jps
22073 DataNode
23260 ResourceManager        # 已启动ResourceManager
23390 NodeManager            # 已启动NodeManager

4)通过浏览器访问:http://192.168.118.31:9870/,出现如下页面:

hadoop UI

5)上传文件到 HDFS 上,验证是否成功:

[root@hhh hadoop-3.1.2]# hdfs dfs -mkdir /data
[root@hhh hadoop-3.1.2]# hdfs dfs -put README.txt /data
[root@hhh hadoop-3.1.2]# hdfs dfs -ls /data
Found 1 items
-rw-r--r--   3 root supergroup       1366 2021-04-03 02:41 /data/README.txt

二、Hive(MySQL) 安装

2.1 MySQL 5.7 安装

MySQL 5.7 的离线安装请看这篇文章

2.2 Hive 安装

2.2.1 Hive 解压并配置环境变量

1)进入 /opt/softwares 目录,解压 apache-hive-3.1.2-bin.tar.gz 到 /opt/apps 目录下:

[root@hhh softwares]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/apps/

2)修改文件名,配置环境变量:

[root@hhh apps]# cd /opt/apps/
[root@hhh apps]# mv apache-hive-3.1.2-bin hive-3.1.2
[root@hhh apps]# vi /etc/profile
# 在 /etc/profile 文件中添加下面内容:
# HIVE_HOME
export HIVE_HOME=/opt/apps/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
[root@hhh apps]# source /etc/profile        # 使变量文件生效
2.2.2 配置 hive 文件

切换到 /opt/apps/hive-3.1.2/conf/ 目录下,配置文件:

[root@hhh ~]# cd /opt/apps/hive-3.1.2/conf/

1)将 hive-default.xml.template 重命名为 hive-default.xml:

[root@hhh conf]# mv hive-default.xml.template hive-default.xml

2)新建一个 hive-site.xml 文件,并添加如下配置信息:

3)将 hive-env.sh.template 重命名 为hive-env.sh,并添加以下内容:

[root@hhh conf]# mv hive-env.sh.template hive-env.sh
[root@hhh conf]# vi hive-env.sh
# 添加以下内容
HADOOP_HOME=/opt/apps/hadoop-3.1.2
export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.2/lib

4)将 hive-log4j2.properties.template 重命名为 hive-log4j2.properties,并修改以下内容:

[root@hhh conf]# mv hive-log4j2.properties.template hive-log4j2.properties
[root@hhh conf]# vi hive-log4j2.properties
# 修改 hive 日志文件保存的地址
property.hive.log.dir = /opt/apps/hive-3.1.2/logs

5)需要将 mysql 驱动添加到 /opt/apps/hive-3.1.2/lib 目录下:

[root@hhh bin]# cp /opt/softwares/mysql-connector-java-5.1.49-bin.jar /opt/apps/hive-3.1.2/lib/
2.2.3 初始化数据库

第一次需要执行初始化命令:schematool -dbType mysql -initSchema:

[root@hhh ~]# cd /opt/apps/hive-3.1.2/bin
[root@hhh bin]# schematool -dbType mysql -initSchema
2.2.4 删除重复的 jar 包
[root@hhh hive-3.1.2]# cd /opt/apps/hive-3.1.2/lib/
[root@hhh lib]# rm -rf slf4j-log4j12-1.7.25.jar
[root@hhh lib]# rm -rf log4j-slf4j-impl-2.10.0.jar
2.2.5 启动 Hive 并测试

启动 hive 之前,要先启动 hadoop 集群

[root@hhh hive-3.1.2]# hive --service hiveserver2&
[root@hhh hive-3.1.2]# hive
Hive Session ID = 80d197ac-a8bc-4e92-af0b-e07a3f9fcb1f
Logging initialized using configuration in file:/opt/apps/hive-3.1.2/conf/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 Session ID = 340bb672-384f-40aa-92ba-123a93e6606d
hive> 

三、HBase 安装

3.1 HBase 解压并配置环境变量

1)解压安装包到 /opt/apps 目录下:

[root@hhh softwares]# tar -zxvf hbase-2.2.4-bin.tar.gz -C /opt/apps/

2)切换到 /opt/apps/hbase-2.2.4/ 目录下:

[root@hhh softwares]# cd /opt/apps/hbase-2.2.4/

3)执行 vi /etc/profile,配置环境变量:

[root@hhh hbase-2.2.4]# vi /etc/profile
# 在文件末尾添加如下内容:
# HBASE_HOME
export HBASE_HOME=/opt/apps/hbase-2.2.4
export PATH=$PATH:$HBASE_HOME/bin
[root@hhh hbase-2.2.4]# source /etc/profile

3.2 HBase 配置文件

切换到配置文件目录下:

[root@hhh hbase-2.2.4]# cd /opt/apps/hbase-2.2.4/conf/

1)配置 hbase-site.xml 文件

[root@hhh conf]# vi hbase-site.xml

配置文件内容如下:

2)配置 hbase-env.sh 文件

[root@hhh conf]# vi hbase-env.sh

配置 JAVA_HOME 安装路径:

# The java implementation to use.  Java 1.8+ required.
export JAVA_HOME=/opt/apps/jdk1.8.0_261        # 换上自己的JDK安装路径
# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=true                # 将注释“#”去掉

3)配置 regionservers 文件

[root@hhh conf]# vi regionservers
# 添加如下内容
hhh

4)配置 log4j.properties 文件,修改保存日志文件目录:

[root@hhh conf]# vi log4j.properties

将 HBase 日志文件路径修改如下:

hbase.log.dir=/opt/apps/hbase-2.2.4/logs

3.3 HBase 启动和停止

注意:在启动 HBase 集群之前,需要先启动 Hadoop 集群。

1)启动 HBase

[root@hhh hbase-2.2.4]# $HBASE_HOME/bin/start-hbase.sh
[root@hhh hbase-2.2.4]# jps
32824 NameNode
33546 ResourceManager
33195 SecondaryNameNode
65980 HRegionServer        # HBase 中的 RegionServer 节点
33678 NodeManager
32959 DataNode
65758 HQuorumPeer        # HBase 自带的 zookeeper 节点
65822 HMaster            # HBase 中的 Master 节点
66334 Jps

2)进入 hbase shell 命令行界面:

[root@hhh hbase-2.2.4]# hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.4, r67779d1a325a4f78a468af3339e73bf075888bac, 2020年 03月 11日 星期三 12:57:39 CST
Took 0.0045 seconds                                                                                      
hbase(main):001:0>         # 此处就已经进入 hbase shell 了

3)还可以通过浏览器访问:http://192.168.118.31:16010/master-status,查看 hbase 集群信息。

4)关闭 HBase :

[root@hhh hbase-2.2.4]# $HBASE_HOME/bin/stop-hbase.sh