赞
踩
目录
三台虚拟机:master 192.168.11.66,slave1 192.168.11.77,slave2 192.168.11.88
关闭防火墙 systemctl stop firewalld
查看防火墙的状态 systemctl status firewalld
永久关闭防火墙 systemctl diable firewalld
JDK 安 装 包 需 要 在 Oracle 官 网 下 载 , 下 载 地 址 为 : 20 https://www.oracle.com/java /technologies /javase-jdk8-downloads.html,本教材采用 的 Hadoop 2.7.1 所需要的 JDK 版本为 JDK7 以上,这里采用的安装包为 jdk-8u152-linuxx64.tar.gz。
Hadoop 2.7.1 要求 JDK 的版本为 1.7 以上,这里安装的是 JDK1.8 版 (即JAVA 8)。
安装命令如下,将安装包解压到/usr/local/src 目录下 ,注意/opt/software目录 下的软件包事先准备好。
解压:
在 Linux 中设置环境变量的方法比较多,较常见的有两种:一是配置 /etc/profile 文件,配置结果对整个系统有效,系统所有用户都可以使用;二 21 是配置~/.bashrc 文件,配置结果仅对当前用户有效。这里使用第一种方法。
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 软件只能让 root 用户使用,要让 hadoop 用户能够 运行 Hadoop 软件,需要将目录/usr/local/src 的所有者改为 hadoop 用户。
/usr/local/src 目录的所有者已经改为 hadoop 了。
步骤一: 切换到 hadoop 用户
步骤二: 创建输入数据存放目录
步骤三: 创建数据输入文件
创建数据文件 data.txt,将要测试的数据内容输入到 data.txt 文件中。
步骤四: 测试 MapReduce 运行
运行结果保存在~/output 目录中(注:结果输出目录不能事先存在),命令执 行后查看结果:
文件_SUCCESS 表示处理成功,处理的结果存放在 part-r-00000 文件中,查看该 文件。
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 登录需要 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 用户下验证能否嵌套登录本机,若可以不输入密码登录,则本机通过密钥登录 认证成功。
步骤一:将 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 文件
步骤一:查看 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
1. 将 hadoop-2.7.1 文件夹重命名为 Hadoop
2. 配置 Hadoop 环境变量
3. 使配置的 Hadoop 的环境变量生效
4. 执行以下命令修改 hadoop-env.sh 配置文件
任务二:配置 hdfs-site.xml 文件参数
任务三:配置 core-site.xml 文件参数
任务四:配置 mapred-site.xml
任务五:配置 yarn-site.xml
任务六:Hadoop 其他相关配置
1. 配置 masters 文件
2. 配置 slaves 文件
3. 新建目录
4. 修改目录权限
5. 同步配置文件到 Slave 节点
#slave1 配置
#slave2 配置
步骤一:NameNode 格式化
将 NameNode 上的数据清零,第一次启动 HDFS 时要进行格式化,以后启动无 需再格式化,否则会缺失 DataNode 进程。另外,只要运行过 HDFS,Hadoop 的 工作目录(本书设置为/usr/local/src/hadoop/tmp)就会有数据,如果需要重 新格式化,则在格式化之前一定要先删除工作目录下的数据,否则格式化时会 出问题。
步骤二:启动 NameNode
执行如下命令,启动 NameNode:
启动完成后,可以使用 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 各有一个目 录存放数据。
在浏览器的地址栏输入http://master:50070,进入页面可以查看NameNode和DataNode 信息
在浏览器的地址栏输入 http://master:50090,进入页面可以查看 SecondaryNameNode信息
可以使用 start-dfs.sh 命令启动 HDFS。这时需要配置 SSH 免密码登录,否则在 启动过程中系统将多次要求确认连接和输入 Hadoop 用户密码。
步骤一:停止 yarn
步骤二:停止 DataNode
步骤三:停止 NameNode
步骤四:停止 SecondaryNameNode
步骤五:查看 JAVA 进程,确认 HDFS 进程已全部关闭
上传到/opt/software
解压:
①卸载 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-3.4.8.tar.gz 放置在 Linux 系统 /opt/software目录下。
2)解压安装包
步骤一: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 需要使用 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 内部算法进行选举,每个节点的具体状态不固定。
1. 上传和解压缩 HBase 安装包
2. 重命名 HBase 安装文件夹
3. 在所有节点添加环境变量
#master
#slave1
#slave2
4. 在所有节点使环境变量生效
5. 在 master 节点进入配置文件目录
6. 在 master 节点配置 hbase-env.sh 文件
7. 在 master 节点配置 hbase-site.xml 如下
vi hbase-site.xml
8. 在 master 节点修改 regionservers 文件
9. 在 master 节点创建 hbase.tmp.dir 目录
10. 将 master 上的 hbase 安装文件同步到 slave1 slave2
11. 在所有节点修改 hbase 目录权限
12. 在所有节点切换到 hadoop 用户
13. 启动 HBase
14. 在所有节点启动 ZooKeeper
15. 在 master 节点启动 HBase
16. 在浏览器输入 master:60010 出现如下图 7-2 所示的界面。
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。