基于 Centos 7 伪分布式大数据环境构建

系统环境

基于 Centos 7 伪分布式大数据环境构建

软件环境

MySQL

版本:8.0.15
下载链接

MySQL Connector/J

版本:5.1.47
下载链接

JDK

版本:8u151
下载链接

Hadoop

版本:2.7.7
下载链接

HBase

版本:2.1.4
下载链接

HBase 与 JDK 版本对应参考官方文档
HBase 与 Hadoop 版本对应参考官方文档

Hive

版本:2.3.4
下载链接
Hive 与 Java、Hadoop 版本对应参考文档

用户

root

软件包存放目录

/root/big_data

软件包清单

mysql80-community-release-el7-2.noarch.rpm
mysql-connector-java-5.1.47.tar.gz
jdk-8u151-linux-x64.tar.gz
hadoop-2.7.7.tar.gz
hbase-2.1.4-bin.tar.gz
apache-hive-2.3.4-bin.tar.gz
 

搭建过程

 

Hadoop

安装 Java

解压 JDK 压缩包

# -C 后的参数为解压目录,此处为 /usr/local 
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/

为 Java 配置环境变量

#编辑配置文件
vi /etc/profile

# shift+G 跳到文件底部,加入如下内容
# JAVA_HOME 后的内容为解压目录,此处为 /usr/local/jdk1.8.0_151
# PATH 后的内容的含义为在原来的 PATH 路径中加入 JDK 下的 bin 目录
export JAVA_HOME=/usr/local/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin

#使配置文件立即生效
source /etc/profile

执行如下命令

java -version

可以看到版本与我们准备的软件环境版本一致,说明 Java 环境变量配置成功
基于 Centos 7 伪分布式大数据环境构建

 

安装 Hadoop

解压 Hadoop 压缩包

# -C 后的参数为解压目录,此处为 /usr/local 
tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local/

配置 Hadoop

#进入 Hadoop 配置文件目录
cd /usr/local/hadoop-2.7.7/etc/hadoop

#编辑 hadoop-env.sh 文件,加入如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_151

#编辑 core-site.xml 文件,在 <configuration> 标签内加入如下内容
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop-2.7.7/tmp</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>

#编辑 hdfs-site.xml 文件,在 <configuration> 标签内加入如下内容
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop-2.7.7/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop-2.7.7/tmp/dfs/data</value>
</property>

#生成 mapred-site.xml 配置文件
cp mapred-site.xml.template mapred-site.xml

#编辑 mapred-site.xml 文件,在 <configuration> 标签内加入如下内容
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

#编辑 yarn-site.xml 文件,在 <configuration> 标签内加入如下内容
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

注:此处配置 Hadoop 的过程与官方文档有出入,加入了 yarn 的配置文件
 

为 Hadoop 配置环境变量

#编辑配置文件
vi /etc/profile

# shift+G 跳到文件底部,加入如下内容
# HADOOP_HOME 后的内容为解压目录,此处为 /usr/local/hadoop-2.7.7
export HADOOP_HOME=/usr/local/hadoop-2.7.7

#将之前加入的 PATH 修改为如下内容
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#使配置文件立即生效
source /etc/profile

执行如下命令

hadoop

看到如下内容,说明 Hadoop 环境变量配置成功
基于 Centos 7 伪分布式大数据环境构建
 

本地免密登录

#检测是否能通过 ssh 免密登录本机
ssh localhost

#若未成功免密登录,执行如下命令,一直回车到结束
ssh-******

#将生成的公钥加入到授权列表
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

#查看 ~/.ssh/authorized_keys 文件权限,若非 0600 即 -rw------- ,则执行如下命令
chmod 0600 ~/.ssh/authorized_keys

再次执行如下命令

ssh localhost

能够直接接入本机,说明配置成功
基于 Centos 7 伪分布式大数据环境构建
 

启动 Hadoop

格式化 namenode

hdfs namenode -format

看到如下内容,证明 namenode 格式化成功
基于 Centos 7 伪分布式大数据环境构建
注:输出内容较多,这里只展示底部部分信息,圈出来的部分一致说明格式化成功

启动 HDFS

start-dfs.sh

启动过程中未报错
基于 Centos 7 伪分布式大数据环境构建
注:图中圈出的部分必须填入 yes ,不能直接回车,回车会导致启动失败

jps

看到四个进程,说明 HDFS 启动正常
基于 Centos 7 伪分布式大数据环境构建

启动 YARN

start-yarn.sh

启动过程中未报错
基于 Centos 7 伪分布式大数据环境构建

jps

看到六个进程,说明 HDFS 启动正常
基于 Centos 7 伪分布式大数据环境构建
注:若想同时启动 Hadoop 与 YARN,执行命令 start-all.sh

关闭 HDFS

stop-dfs.sh

关闭过程未报错
基于 Centos 7 伪分布式大数据环境构建
再次执行

jps

与 HDFS 相关的进程已关闭
基于 Centos 7 伪分布式大数据环境构建

关闭 YARN

stop-yarn.sh

关闭过程未报错
基于 Centos 7 伪分布式大数据环境构建
再次执行

jps

可以看到只有一个进程,至此,Hadoop 伪分布式环境搭建结束
基于 Centos 7 伪分布式大数据环境构建

Hive

安装 MySQL

 

安装 Hive

解压 Hive 压缩包

tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /usr/local/

配置 Hive

#进入 Hive 配置文件目录
cd /usr/local/apache-hive-2.3.4-bin/conf

#生成 hive-default.xml 配置文件
cp hive-default.xml.template hive-default.xml

#新建 hive-site.xml 配置文件并编辑
vi hive-site.xml

#写入 MySQL 配置信息
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>USERNAME</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>PASSWORD</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

注:上面配置文件中的 USERNAME 为 MySQL 的用户名, PASSWORD 为 MySQL 的密码

#生成 hive-env.xml 配置文件
cp hive-env.sh.template hive-env.sh

# shift+G 跳到文件底部,加入如下内容
# Hadoop 解压目录的位置,同 /etc/profile 文件中的 HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop-2.7.7

# Hive 解压目录中 conf 目录位置
export HIVE_CONF_DIR=/usr/local/apache-hive-2.3.4-bin/conf

# Hive 解压目录中 lib 目录位置
export HIVE_AUX_JARS_PATH=/usr/local/apache-hive-2.3.4-bin/lib

为 Hive 配置环境变量

#编辑配置文件
vi /etc/profile

# shift+G 跳到文件底部,加入如下内容
# HIVE_HOME 后的内容为解压目录,此处为 /usr/local/apache-hive-2.3.4-bin
export HIVE_HOME=/usr/local/apache-hive-2.3.4-bin

#将之前加入的 PATH 修改为如下内容
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

#使配置文件立即生效
source /etc/profile

配置驱动

#解压 JDBC 压缩包
tar -zxvf mysql-connector-java-5.1.47.tar.gz

#将解压目录中的 mysql-connector-java-5.1.47-bin.jar 放到 Hive 解压目录的 lib 目录下
cp mysql-connector-java-5.1.47-bin.jar /usr/local/apache-hive-2.3.4-bin/lib/

启动 Hadoop

#启动 HDFS
start-dfs.sh

#启动 YARN
start-yarn.sh

创建仓库并配置权限

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

基于 Centos 7 伪分布式大数据环境构建

初始化

schematool -initSchema -dbType mysql

回显信息中出现 schemaTool completed 初始化完成
基于 Centos 7 伪分布式大数据环境构建

启动 Hive 并进行测试

#启动 Hive
hive
#测试内容如下
show databases;
create table test(id int, name string);
show tables;
drop table test;
exit;

基于 Centos 7 伪分布式大数据环境构建
整个启动及测试过程未出现报错信息,Hive 本地模式部署完成

参考网址

Hadoop 官方网址
Hadoop安装教程_伪分布式配置
HIVE 2.3.4 本地安装与部署
未完待续。。。。。。