【项目实战】环境搭建
虚拟机准备
安装说明 & 文件下载
下载并安装 Virtual Box,准备并安装 3 台 CentOS 7.2 的虚拟机,主机名命名为 Node01、Node02、Node03。
虚拟机的安装可以使用纯系统镜像,安装后配置主机名。但过程会比较繁琐,学习环境讲求开箱即用,尽量少地在环境上花费时间,否则会打击学习的热情。所以,也可以直接导入已经配置好的虚拟机镜像文件,方便使用。
使用纯镜像安装,下附 CentOS 镜像下载地址:
- 链接:https://pan.baidu.com/s/1CV0C7bZ0-7tKziNf6RmdVg
- 提取码:h931
推荐直接导入虚拟机镜像文件,下附虚拟机镜像下载地址:
- 链接:https://pan.baidu.com/s/1T1VhTv6EwGAr2odlAUPBtA
- 提取码:pljf
虚拟机镜像文件导入流程
1. 下载虚拟机镜像文件:
2. 打开 Virtual Box,选择导入虚拟电脑:
3. 选择文件位置,进行导入:
4. 配置虚拟机,自定义将虚拟机文件存放到指定目录,然后点击确定,完成导入:
5. 依次导入 Node01、Node02、Node03:
6. 开启虚拟机,使用 root/123456 进行登录:
7. 修改虚拟机 IP 地址:
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
8. 使用 XShell,或者其它远程 SSH Linux 登录工具进行远程连接虚拟机:
自动化安装脚本准备
1. 下载并上传自动化安装脚本 automaticDeploy.zip 到虚拟机 Node01 中。
wget https://github.com/MTlpc/automaticDeploy/archive/master.zip
2. 解压 automaticDeploy.zip 到 /home/hadoop/ 目录下:
mkdir /home/hadoop/
unzip master.zip -d /home/hadoop/
mv /home/hadoop/automaticDeploy-master /home/hadoop/automaticDeploy
3. 更改自动化安装脚本的 frames.txt 文件,配置组件的安装节点信息(如无特殊要求,默认即可)。
4. 编辑自动化安装脚本的 configs.txt 文件,配置 MySQL、Keystore 密码信息(如无特殊要求,默认即可,末尾加 END 表示结束)。
5. 编辑 host_ip.txt 文件,将 3 台虚拟机节点信息添加进去(需自定义进行修改):
6. 对 /home/hadoop/automaticDeploy/ 下的 hadoop、systems 所有脚本添加执行权限:
chmod +x /home/hadoop/automaticDeploy/hadoop/* /home/hadoop/automaticDeploy/systems/*
大数据环境一键安装
1. 下载 frames.zip 包,里面包含大数据组件的安装包,并上传到 Node01 中:
- 链接:https://pan.baidu.com/s/17T3zIbedTaQgk1knxvchPA
- 提取码:cvtq
2. 将 frames.zip 压缩包,解压到/home/hadoop/automaticDeploy 目录下:
unzip frames.zip -d /home/hadoop/automaticDeploy/
3. 将自动化脚本分发到其它两个节点:
# 需提前在另外两个节点创建 /home/hadoop 目录(此时还未配置 hosts,需将 node02node03 替换为对应 IP)
ssh root@node02 "mkdir /home/hadoop"
ssh root@node03 "mkdir /home/hadoop"
scp -r /home/hadoop/automaticDeploy root@node02:/home/hadoop/
scp -r /home/hadoop/automaticDeploy root@node03:/home/hadoop/
4. 依次在各个节点执行 systems/batchOperate.sh 脚本,完成环境初始化。
/home/hadoop/automaticDeploy/systems/batchOperate.sh
为了避免脚本中与各个节点的 SSH 因为环境问题,执行失败,需要手动测试下与其它节点的 SSH 情况,如果失败,则手动添加。
失败后重新添加 SSH:
ssh-copy-id node02
5. 在各个节点执行脚本,安装 Hadoop 集群:
/home/hadoop/automaticDeploy/hadoop/installHadoop.sh
source /etc/profile
# 在 Node01 节点执行,初始化 NameNode
hadoop namenode -format
# 在 Node01 节点执行,启动 Hadoop 集群
start-all.sh
6. 使用本地浏览器访问 node01:50070,成功则搭建成功。
7. 安装其它组件,在所有节点运行以下命令,未规划安装节点会自动跳过安装。
/home/hadoop/automaticDeploy/hadoop/installMysql.sh
/home/hadoop/automaticDeploy/hadoop/installHive.sh
/home/hadoop/automaticDeploy/hadoop/installSqoop.sh
/home/hadoop/automaticDeploy/hadoop/installPresto.sh
/home/hadoop/automaticDeploy/hadoop/installAzkaban.sh
/home/hadoop/automaticDeploy/hadoop/installYanagishima.sh
8. 在所有虚拟机节点 source 环境变量文件:
source /etc/profile
- go语言实现http服务端与客户端
- hdu-----(1532)Drainage Ditches(最大流问题)
- LNMP无法删除.user.ini文件的解决方法
- HDU-----(4858)项目管理(模拟)
- hdu-----(4857)逃生(拓扑排序)
- HDU-----(1083)Courses(最大匹配)
- HDU----(3294)Girls' research(manacher)
- map
- hdu----(3068)最长回文(manacher)
- hdu---(1280)前m大的数(计数排序)
- 程序员你为什么这么累【续】:编码习惯之Controller规范
- go-nsq使用简述
- hdu---(4515)小Q系列故事——世界上最遥远的距离(模拟题)
- 利用sys schema解决一次诡异的语句hang问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- EL表达式获取简单数据与复杂数据(调用类)+EL表达式获取Map集合与list集合数据
- 用缓冲字节流,复制一个照片
- 09小结:封装结果集或实体类时,有多个对象的解决方法
- 序列化与反序列化Serializable,Externalizable
- response.getWriter().write()和 response.getWriter().print()的区别:
- java使用TCP,由客户端向服务端传输图片,(电脑与电脑)或(同一台电脑)
- 使用druid
- UDP实现多人聊天室
- 请求(doFilter)与响应乱码(BaseController+自定义注解@ContentType(““))集中处理
- 反射:Reflect(获取类对象三种方法)
- getParameterMap()返回参数需要对应实体类类型,否则收不到----打卡
- 类对象 与 类的对象
- Lambda什么时候使用+简化匿名内部类
- PreparedStatement连接数据库实现登录验证,避免sql注入问题
- 自己封装数据库工具类