0


Hadoop完全分布式集群搭建

一、Hadoop平台安装

1、实验环境环境设置

三台虚拟机:master 192.168.11.66,slave1 192.168.11.77,slave2 192.168.11.88

①配置服务器的 IP 地址

②设置服务器的主机名称

③绑定主机名与 IP 地址

④查看 SSH 服务状态

⑤关闭防火墙

关闭防火墙 systemctl stop firewalld

查看防火墙的状态 systemctl status firewalld

永久关闭防火墙 systemctl diable firewalld

⑥创建 hadoop 用户

2、安装 JAVA 环境

①下载 JDK 安装包

JDK 安 装 包 需 要 在 Oracle 官 网 下 载 , 下 载 地 址 为 : 20 https://www.oracle.com/java /technologies /javase-jdk8-downloads.html,本教材采用 的 Hadoop 2.7.1 所需要的 JDK 版本为 JDK7 以上,这里采用的安装包为 jdk-8u152-linuxx64.tar.gz。

②卸载自带 OpenJDK

③安装 JDK

Hadoop 2.7.1 要求 JDK 的版本为 1.7 以上,这里安装的是 JDK1.8 版 (即JAVA 8)。

安装命令如下,将安装包解压到/usr/local/src 目录下 ,注意/opt/software目录 下的软件包事先准备好。

解压:

④设置 JAVA 环境变量

在 Linux 中设置环境变量的方法比较多,较常见的有两种:一是配置 /etc/profile 文件,配置结果对整个系统有效,系统所有用户都可以使用;二 21 是配置~/.bashrc 文件,配置结果仅对当前用户有效。这里使用第一种方法。

3、安装 Hadoop 软件

①安装 Hadoop 软件

Apache Hadoop 各 个 版 本 的 下 载 网 址 : https://archive.apache.org/dist/hadoop /common/。本教材选用的是 Hadoop 2.7.1 版本,安装包为 hadoop-2.7.1.tar.gz。需要先下载 Hadoop 安装包,再上传到 Linux 系统的/opt/software 目录。

安装命令如下,将安装包解压到/usr/local/src/目录下

查看hadoop的目录

bin:此目录中存放 Hadoop、HDFS、YARN 和 MapReduce 运行程序和管理 软件。

etc:存放 Hadoop 配置文件。

include: 类似 C 语言的头文件

lib:本地库文件,支持对数据进行压缩和解压。

libexe:同 lib

sbin:Hadoop 集群启动、停止命令

share:说明文档、案例和依赖 jar 包。

②配置 Hadoop 环境变量

出现上述 Hadoop 帮助信息就说明 Hadoop 已经安装好了。

③修改目录所有者和所有者组

上述安装完成的 Hadoop 软件只能让 root 用户使用,要让 hadoop 用户能够 运行 Hadoop 软件,需要将目录/usr/local/src 的所有者改为 hadoop 用户。

/usr/local/src 目录的所有者已经改为 hadoop 了。

4、安装单机版 Hadoop 系统

①配置 Hadoop 配置文件

②测试 Hadoop 本地模式的运行

步骤一: 切换到 hadoop 用户

步骤二: 创建输入数据存放目录

步骤三: 创建数据输入文件

创建数据文件 data.txt,将要测试的数据内容输入到 data.txt 文件中。

步骤四: 测试 MapReduce 运行

运行结果保存在~/output 目录中(注:结果输出目录不能事先存在),命令执 行后查看结果:

文件_SUCCESS 表示处理成功,处理的结果存放在 part-r-00000 文件中,查看该 文件。

5、Hadoop平台环境配置

slave1

slave2

实验一:实验环境下集群网络配置

修改slave1主机名

修改slave2主机名

根据实验环境下集群网络 IP 地址规划(根据自己主机的ip即可):

**master 设置 IP 地址是“192.168.11.66”,掩码是“255.255.255.0”; **

**slave1 设置 IP 地址“192.168.11.77”,掩码是“255.255.255.0”; **

slave2 设置 IP 地址是“192.168.11.88”,掩码是“255.255.255.0”。

分别修改主机配置文件“/etc/hosts”

实验二:SSH 无密码验证配置

①生成 SSH 密钥

步骤一:每个节点安装和启动 SSH 协议

实现 SSH 登录需要 openssh 和 rsync 两个服务,一般情况下默认已经安装(如没有自行安 装),可以通过下面命令查看结果。

步骤二:切换到 hadoop 用户

步骤三:每个节点生成秘钥对

#在 master 上生成密钥

#slave1 生成密钥

#slave2 生成密钥

步骤四:查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚 生产的无密码密钥对。

步骤五:将 id_rsa.pub 追加到授权 key 文件中

#master

#slave1

#slave2

步骤六:修改文件"authorized_keys"权限

#master

#slave1

#slave2

步骤七:配置 SSH 服务

使用 root 用户登录,修改 SSH 配置文件"/etc/ssh/sshd_config"的下列内容,需要将该配 置字段前面的#号删除,启用公钥私钥配对认证方式。

#master

#slave1

#slave2

步骤八:重启 SSH 服务

步骤九:切换到 hadoop 用户

步骤十:验证 SSH 登录本机

在 hadoop 用户下验证能否嵌套登录本机,若可以不输入密码登录,则本机通过密钥登录 认证成功。

②交换 SSH 密钥

步骤一:将 Master 节点的公钥 id_rsa.pub 复制到每个 Slave 点

步骤二:在每个 Slave 节点把 Master 节点复制的公钥复制到authorized_keys 文件

hadoop 用户登录 slave1 和 slave2 节点,执行命令。

步骤三:在每个 Slave 节点删除 id_rsa.pub 文件

步骤四:将每个 Slave 节点的公钥保存到 Master

(1)将 Slave1 节点的公钥复制到 Master

(2)在 Master 节点把从 Slave 节点复制的公钥复制到 authorized_keys 文件

(3)在 Master 节点删除 id_rsa.pub 文件

(4)将 Slave2 节点的公钥复制到 Master

(5)在 Master 节点把从 Slave 节点复制的公钥复制到 authorized_keys 文件

(6)在 Master 节点删除 id_rsa.pub 文件

③验证 SSH 无密码登录

步骤一:查看 Master 节点 authorized_keys 文件

可以看到 Master 节点 authorized_keys 文件中包括 master、slave1、slave2 三个节点的公钥。

步骤二:查看 Slave 节点 authorized_keys 文件

可以看到 Slave 节点 authorized_keys 文件中包括 Master、当前 Slave 两个节点的公钥。

步骤三:验证 Master 到每个 Slave 节点无密码登录

hadoop 用户登录 master 节点,执行 SSH 命令登录 slave1 和 slave2 节点。可以观察到不需要输入密码即可实现 SSH 登录。

步骤四:验证两个 Slave 节点到 Master 节点无密码登录

步骤五:配置两个子节点slave1、slave2的JDK环境。

#slave1

#slave2

二、Hadoop集群运行

1、Hadoop文件参数配置

实验任务一:在 Master 节点上安装 Hadoop

  1. 将 hadoop-2.7.1 文件夹重命名为 Hadoop

  1. 配置 Hadoop 环境变量

  1. 使配置的 Hadoop 的环境变量生效

  1. 执行以下命令修改 hadoop-env.sh 配置文件

任务二:配置 hdfs-site.xml 文件参数

任务三:配置 core-site.xml 文件参数

任务四:配置 mapred-site.xml

任务五:配置 yarn-site.xml

任务六:Hadoop 其他相关配置

  1. 配置 masters 文件

  1. 配置 slaves 文件

  1. 新建目录

  1. 修改目录权限

  1. 同步配置文件到 Slave 节点

#slave1 配置

#slave2 配置

2、大数据平台集群运行

实验任务一:配置 Hadoop 格式化

步骤一:NameNode 格式化

将 NameNode 上的数据清零,第一次启动 HDFS 时要进行格式化,以后启动无 需再格式化,否则会缺失 DataNode 进程。另外,只要运行过 HDFS,Hadoop 的 工作目录(本书设置为/usr/local/src/hadoop/tmp)就会有数据,如果需要重 新格式化,则在格式化之前一定要先删除工作目录下的数据,否则格式化时会 出问题。

步骤二:启动 NameNode

执行如下命令,启动 NameNode:

实验任务二:查看 Java 进程

启动完成后,可以使用 JPS 命令查看是否成功。JPS 命令是 Java 提供的一个显示当前所有 Java 进程 pid 的命令。

步骤一:slave节点 启动 DataNode

步骤二:启动 SecondaryNameNode

查看到有 NameNode 和 SecondaryNameNode 两个进程,就表明 HDFS 启动成 功。

步骤三:查看 HDFS 数据存放位置:

执行如下命令,查看 Hadoop 工作目录:

可以看出 HDFS 的数据保存在/usr/local/src/hadoop/dfs 目录下,NameNode、 DataNode和/usr/local/src/hadoop/tmp/目录下,SecondaryNameNode 各有一个目 录存放数据。

实验任务三:查看 HDFS 的报告

实验任务四:使用浏览器查看节点状态

在浏览器的地址栏输入http://master:50070,进入页面可以查看NameNode和DataNode 信息

在浏览器的地址栏输入 http://master:50090,进入页面可以查看 SecondaryNameNode信息

可以使用 start-dfs.sh 命令启动 HDFS。这时需要配置 SSH 免密码登录,否则在 启动过程中系统将多次要求确认连接和输入 Hadoop 用户密码。

实验任务五:停止 Hadoop

步骤一:停止 yarn

步骤二:停止 DataNode

步骤三:停止 NameNode

步骤四:停止 SecondaryNameNode

步骤五:查看 JAVA 进程,确认 HDFS 进程已全部关闭

3、Hive数据仓库组件

任务一:下载和解压安装文件

上传到/opt/software

解压:

任务二:设置 Hive 环境

①卸载 MariaDB 数据库

②安装 MySQL 数据

1)先将mysql安装包上传/opt/software

2)按如下顺序依次按照 MySQL 数据库的 mysql common、mysql libs、mysql client 、mysql server软件包。

3)修改 MySQL 数据库配置,在/etc/my.cnf 文件中添加如表 6-1 所示的 MySQL 数据 库配置项。

4)启动 MySQL 数据库

5)查询 MySQL 数据库默认密码

MySQL 数据库安装后的默认密码保存在/var/log/mysqld.log 文件中

6)MySQL 数据库初始化

执行 mysql_secure_installation 命令初始化 MySQL 数据库,初始化过程中需要设定 数据库 root 用户登录密码,密码需符合安全规则,包括大小写字符、数字和特殊符号, 可设定密码为 **Password123$**。

在进行 MySQL 数据库初始化过程中会出现以下交互确认信息:

1)Change the password for root ? ((Press y|Y for Yes, any other key for No)表示是否更改 root 用户密码,在键盘输入 y 和回车。

2)Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No)表示是否使用设定的密码继续,在键盘输入 y 和回车。

3)Remove anonymous users? (Press y|Y for Yes, any other key for No)表示是 否删除匿名用户,在键盘输入 y 和回车。

4)Disallow root login remotely? (Press y|Y for Yes, any other key for No) 表示是否拒绝 root 用户远程登录,在键盘输入 n 和回车,表示允许 root 用户远程登录。

5)Remove test database and access to it? (Press y|Y for Yes, any other key for No)表示是否删除测试数据库,在键盘输入 y 和回车。

6)Reload privilege tables now? (Press y|Y for Yes, any other key for No) 表示是否重新加载授权表,在键盘输入 y 和回车。 mysql_secure_installation 命令执行过程如下:

7)添加 root 用户从本地和远程访问 MySQL 数据库表单的授权。

添加 root 用户本地访问授权

添加 root 用户远程访问授权

刷新授权

查询 root 用户授权情况

③配置 Hive 组件

(1)设置 Hive 环境变量并使其生效。

(2)修改 Hive 组件配置文件。

切换到 hadoop 用户执行以下对 Hive 组件的配置操作。 将/usr/local/src/hive/conf 文件夹下 hive-default.xml.template 文件,更名为 hive-site.xml。

(3)通过 vi 编辑器修改 hive-site.xml 文件实现 Hive 连接 MySQL 数据库,并设定 Hive 临时文件存储路径。

1)设置 MySQL 数据库连接。

2)配置 MySQL 数据库 root 的密码。

3)验证元数据存储版本一致性。若默认 false,则不用修改。

4)配置数据库驱动。

5)配置数据库用户名 javax.jdo.option.ConnectionUserName 为 root。

6 ) 将 以 下 位 置 的 ${system:java.io.tmpdir}/${system:user.name} 替 换 为 “/usr/local/src/hive/tmp”目录及其子目录。

7)在 Hive 安装目录中创建临时文件夹 tmp。

④初始化 hive 元数据

1)将 MySQL 数据库驱动(/opt/software/mysql-connector-java-5.1.46.jar)拷贝到 Hive 安装目录的 lib 下;

2)重新启动 hadooop

3)初始化数据库

4)启动 hive

三、大数据生态组件

1、Zookeeper组件

实验任务一:下载和安装 ZooKeeper

1)ZooKeeper 的安装包 zookeeper-3.4.8.tar.gz 放置在 Linux 系统 /opt/software目录下。

2)解压安装包

实验任务二:ZooKeeper 的配置选项

步骤一:Master 节点配置

(1)在 ZooKeeper 的安装目录下创建 data 和 logs 文件夹。

(2)在每个节点写入该节点的标识编号,每个节点编号不同,master 节点写 入 1,slave1 节点写入 2,slave2 节点写入 3。

(3)修改配置文件 zoo.cfg

(4)在 zoo.cfg 文件末尾追加以下参数配置,表示三个 ZooKeeper 节点的访 问端口号。

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

(5)修改 ZooKeeper 安装目录的归属用户为 hadoop 用户。

步骤二:Slave 节点配置

(1)从 Master 节点复制 ZooKeeper 安装目录到两个 Slave 节点。

(2)在 slave1 节点上修改 zookeeper 目录的归属用户为 hadoop 用户。

(3)在 slave1 节点上配置该节点的 myid 为 2。

(4)在 slave2 节点上修改 zookeeper 目录的归属用户为 hadoop 用户。

(5)在 slave2 节点上配置该节点的 myid 为 3。

步骤三:系统环境变量配置

在 master、slave1、slave2 三个节点增加环境变量配置。

#master

#slave1

#slave2

实验任务三:启动 ZooKeeper

启动 ZooKeeper 需要使用 Hadoop 用户进行操作。

(1)分别在 master、slave1、slave2 三个节点使用 zkServer.sh start 命令启 动ZooKeeper。

#master

#slave1

#slave2

(2)三个节点都启动完成后,再统一查看 ZooKeeper 运行状态。

分别在 master、slave1、slave2 三个节点使用 zkServer.sh status 命令查看 ZooKeeper 状态。可以看到三个节点的状态分别为 follower、leader、 follower。三个节点会包括一个 leader 和两个 follower,每个节点地位均等, leader 是根据 ZooKeeper 内部算法进行选举,每个节点的具体状态不固定。

2、Hbase数据库组件

任务一:Hbase 安装与配置

  1. 上传和解压缩 HBase 安装包

  1. 重命名 HBase 安装文件夹

  1. 在所有节点添加环境变量

#master

#slave1

#slave2

  1. 在所有节点使环境变量生效

  1. 在 master 节点进入配置文件目录

  1. 在 master 节点配置 hbase-env.sh 文件

  1. 在 master 节点配置 hbase-site.xml 如下

vi hbase-site.xml

  1. 在 master 节点修改 regionservers 文件

  1. 在 master 节点创建 hbase.tmp.dir 目录

  1. 将 master 上的 hbase 安装文件同步到 slave1 slave2

  1. 在所有节点修改 hbase 目录权限

  1. 在所有节点切换到 hadoop 用户

  1. 启动 HBase

  1. 在所有节点启动 ZooKeeper

  1. 在 master 节点启动 HBase

  1. 在浏览器输入 master:60010 出现如下图 7-2 所示的界面。

任务二:Base 常用 shell 命令

  1. 进入 HBase 命令行

  2. 建立表 scores,两个列簇:grade 和 course

  3. 查看数据库状态

  4. 查看数据库版本

  5. 查看表

  6. 插入记录 1:jie,grade: 143cloud

  7. 插入记录 2:jie,course:math,86

  8. 插入记录 3:jie,course:cloud,92

  9. 插入记录 4:shi,grade:133soft

  10. 插入记录 5:shi,grade:math,87

  11. 插入记录 6:shi,grade:cloud,96

  12. 读取 jie 的记录

  13. 读取 jie 的班级

  14. 查看整个表记录

  15. 按例查看表记录

  16. 删除指定记录

  17. 删除后,执行 scan 命令

  18. 增加新的列簇

  19. 查看表结构

  20. 删除列簇

  21. 删除表

  22. 退出

  23. 关闭 HBase

3、Sqoop数据迁移组件


本文转载自: https://blog.csdn.net/YYY7769/article/details/138031794
版权归原作者 YYY7769 所有, 如有侵权,请联系我们删除。

“Hadoop完全分布式集群搭建”的评论:

还没有评论