大数据平台安装实验: ZooKeeper、Kafka、Hadoop、Hbase、Hive、Scala、Spark、Storm

实验1:Hadoop大数据平台安装实验

1. 实验目的

​ 在大数据时代,存在很多开源的分布式数据采集、计算、存储技术,本实验将在熟练掌握几种常见Linux命令的基础上搭建几种常用的大数据采集、处理分析技术环境。

2. 实验环境

相关安装包下载:
链接:https://pan.baidu.com/s/1Wa2U3qstc54IAUCypcApSQ
提取码:lcd8

Hadoop大数据平台所需工具、软件包、版本及安装目录见下表:

软件包名 软件名称 版本 安装
jdk-7u80-linux-x64.tar.gz java软件开发工具包 1.7.80 /usr/local/jdk1.7.0_80
mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz MySQL 5.6.37 /usr/local/mysql
zookeeper-3.4.6.tar.gz Zookeeper 3.4.6 /usr/local/zookeeper-3.4.6
kafka_2.10-0.8.2.1.tgz Kafka 2.10.-0.8.2.1 /usr/local/kafka_2.10.-0.8.2.1
hadoop-2.6.5.tar.gz Hadoop 2.6.5 /usr/local/hadoop-2.6.5
hbase-1.2.6-bin.tar.gz HBase 1.2.6 /usr/local/hbase-1.2.6
apache-hive-1.1.0-bin.tar.gz Hive 1.1.0 /usr/local/apache-hive-1.1.0-bin
mysql-connector-java-5.1.43-bin.jar MySQL JDBC驱动 5.1.43 /usr/local/mysql
scala-2.10.6.tgz Scala 2.10.6 /usr/local/scala-2.10.6
spark-1.6.3-bin-hadoop2.6.tgz Spark 1.6.3 /usr/local/spark-1.6.3-binhadoop2.6
apache-storm-1.1.1.tar.gz Storm 1.1.1 /usr/local/apache-storm-1.1.1

所有虚拟机上需要安装的软件与服务如下表:

主机名 服务器名
cluster1 zookeeper, Kafka, HDFS(主), YARN(主), HBase(主), Hive, Spark(主), storm(主)
cluster2 zookeeper, Kafka, MySQL, HDFS, YARN, HBase, Hive, Spark, storm
cluster3 zookeeper, Kafka, HDFS, YARN, HBase, Hive, Spark, storm

3. 实验过程

3.1 虚拟机的搭建

3.1.1 安装虚拟机

  1. 首先下载VirtualBox,点击新建
    在这里插入图片描述

  2. 类型选择linux,版本选择Red Hat (64-bit)
    在这里插入图片描述

  3. 内存大小为1024B
    在这里插入图片描述

  4. 选择现在创建虚拟硬盘
    在这里插入图片描述

  5. VHD
    在这里插入图片描述

  6. 动态分配
    在这里插入图片描述

  7. 8.00GB
    在这里插入图片描述

  8. 管理——>主机网络管理器
    在这里插入图片描述

  9. 取消勾选DHCP;网卡—>手动配置网卡:IPv4192.168.56.1网络掩码 255.255.255.0
    在这里插入图片描述

  10. 存储——>选择centos7的iso文件
    在这里插入图片描述

  11. 网络——>网卡1——>NAT网络

在这里插入图片描述

  1. 网路——>网卡2——>Host-Only网路
    在这里插入图片描述

  2. 开机——>中文
    在这里插入图片描述

  3. 日期与时间——>上海——>完成
    在这里插入图片描述

  4. 安装目标位置——>完成
    在这里插入图片描述

  5. 网路和主机名——>以太网(enp0s3)——>开启——>主机名:cluster1 (cluster2\cluster3)
    在这里插入图片描述

  6. 网路和主机名——>以太网(enp0s8)——>开启
    在这里插入图片描述

  7. 开始安装
    在这里插入图片描述

  8. 创建用户——>全名:cluster1 ; 设置root密码;完成配置
    在这里插入图片描述

  9. 重启
    在这里插入图片描述
    按照上述的方法,再构建两台同样的虚拟机,分别为cluster2和cluster3

3.1.2 基本linux命令

首先以root身份登入cluster1
在这里插入图片描述

  1. 创建一个初始文件夹,以自己的姓名(英文)命名mkdir zyw;进入该文件夹cd zyw,在这个文件夹下创建一个文件,命名为Hadoop.txt, touch Hadoop.txt
    在这里插入图片描述

  2. 查看这个文件夹下的文件列表ls
    在这里插入图片描述

  3. 在Hadoop.txt中写入“Hello Hadoop!” vi Hadoop.txt,并保存:wq
    在这里插入图片描述

  4. 在该文件夹中创建子文件夹”Sub”mkdir Sub,随后将Hadoop.txt文件移动到子文件夹中mv Hadoop.txt ~/zyw/Sub
    在这里插入图片描述

  5. 递归的删除整个初始文件夹 rm -rf ~/zyw/
    在这里插入图片描述

3.2 准备工作

3.2.1 关闭Selinux

每台都要执行(我们安装的centOS最小版没有防火墙,在其他centOS上操作时必须要关闭防火墙)

// 关闭防火墙
 # systemctl stop firewalld.service  
// 禁止firewall 开机启动 
# systemctl disable firewalld.service 
// 开机关闭Selinux,编辑Selinux配置文件
 # vi /etc/selinux/config
将SELINUX设置为disabled 如下: SELINUX=disabled 
 // 重启 
# reboot 

在这里插入图片描述

// 重启机器后root用户查看Selinux状态 
# getenforce 

在这里插入图片描述
显示Permissive 表示关闭成功。

3.2.2 安装软件

以下软件是安装时需要的依赖环境,安装MySQL时需要使用perl和libaio,ntpdate负责集群内服务器时间,screen用于新建后台任务。
每台都要执行

# yum install perl* 
# yum install ntpdate 
# yum install libaio 
# yum install screen 

在这里插入图片描述

3.3.3 检查网卡是否开机自启

每台都要执行

// 查看网卡名,看里面一个enp0s开头的是多少,由于我们开启了两块网卡,注意这两张都是什么名字
// 我的网卡名分别是enp0s3和enp0s8,还有一个lo,这个可以忽略不计
ip addr
//使用这条命令可以查看所有网卡的信息

在这里插入图片描述

注意:此处有两张网卡,分别是2:enp0s3和3:enp0s8,如果没有,可能是因为在安装系统的过程中,没有打开网络服务,或是网卡没有设定为开机自启。

接下来编辑网卡配置文件 编辑的第一个网卡的配置文件,应该是ip为10.0.2开头的那张网卡,网卡名为enp0s3

// 编辑网卡配置文件 
#vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 
// 确认ONBOOT为yes,这个设置为yes后,该网卡会开机自启,不会开机连不上网 ONBOOT=yes 

在这里插入图片描述
接下来编辑第二张网卡的配置文件,是enp0s8

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s8  
BOOTPROTO=none 
ONBOOT=yes 
新增IPADDR=192.168.56.121(cluster2设置为192.168.56.122,cluster3为192.168.56.123)
NETMASK=255.255.255.0 
NETWORK=192.168.56.0 
保存后关闭文件.

cluster1:
在这里插入图片描述

// 重启网络服务 
# service network restart 
//重启成功后会出现一个绿色的OK,失败则显示红色的failed,若失败,则使用reboot重启服务器即可。 
//重启后,使用ip addr 命令查看enp0s8的网址已经成功修改!

在这里插入图片描述
cluster2,cluster3也按照上述的方式进行网络配置
然后分别使用Xshell 软件连接三台主机
在这里插入图片描述
在这里插入图片描述
使用xftp传输文件,分别连接到三台虚拟机。
在这里插入图片描述
在这里插入图片描述

3.3.4 修改hosts

// 记录当前ip地址,要记录第一张网卡的ip地址 
# ip addr 

在这里插入图片描述

// 修改hosts ,三台都需要
# vi /etc/hosts 
// 在最下面添加一下几行内容,ip地址写你用ip addr里面显示的第一张网卡(enp0s3)的ip 
10.0.2.4 cluster1 
10.0.2.5 cluster2 
10.0.2.6 cluster3

在这里插入图片描述

3.3.5 检查网络是否正常

// 在cluster1上
# ping cluster2 

出现如下界面说明网络正常
在这里插入图片描述

3.3.6 新建hadoop用户

每台都要执行
新建hadoop用户,这个用户专门用来维护集群,因为实际中使用root用户的机会很少,而且不安全。

// 新建hadoop组 
# groupadd hadoop 
// 新建hadoop用户 
# useradd -s /bin/bash -g hadoop -d /home/hadoop -m hadoop 
// 修改hadoop这个用户的密码
 # passwd hadoop

在这里插入图片描述

3.3.7生成ssh密钥并分发

只在cluster1上执行

// 生成ssh密钥(cluster1上),切换到hadoop用户 
# su hadoop
$ ssh-keygen -t rsa 
//然后一路回车 

在这里插入图片描述

// 接下来分发密钥,请仔细观察显示的内容,会让你输入yes 
$ ssh-copy-id cluster1 
$ ssh-copy-id cluster2 
$ ssh-copy-id cluster3 

在这里插入图片描述

//测试ssh
$ssh cluster3
$exit
$ssh cluster2

在这里插入图片描述

3.3.8 安装NTP服务

三台都要安装

#yum install ntpdate
// cluster1上装ntp
# yum install ntp

在这里插入图片描述

// cluster1上执行以下操作 
# vi /etc/ntp.conf 
//注释如下4行

在这里插入图片描述

//并在最后加入:
restrict default ignore 
restrict 10.0.2.0 mask 255.255.255.0 nomodify notrap 
server 127.127.1.0 

在这里插入图片描述

// 重启ntp服务 
# service ntpd restart  
// 设置ntp服务器开机自动启动 
# chkconfig ntpd on 

在这里插入图片描述
以下为客户端的配置(除cluster1外其他所有的机器,即cluster2和cluster3)

//设定每天00:00向服务器同步时间,并写入日志 
# crontab -e 

在这里插入图片描述

输入以下内容后保存并退出: 
0 0 * * * /usr/sbin/ntpdate cluster1>> /root/ntpd.log 
// 手动同步时间,需要在每台机器上(除ntp server),使用ntpdate cluster1同步时间 
# ntpdate cluster1 

在这里插入图片描述

3.3 安装MySQL

3.3.1 安装

只在cluster2上做以下内容,因为我们的集群中,只有cluster2上需要安装一个MySQL

# yum remove mysql mysql-server mysql-libs compat-mysql51 
# rm -rf /var/lib/mysql 
# rm -rf /etc/my.cnf

下载mysql-5.6.37-linux-glibc2.12-x86_64 (鼠标拖动即可)
在这里插入图片描述

# cp mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz /usr/local/  
// 解压到/usr/local/ 
# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz  
// 改名为mysql 
# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql 

在这里插入图片描述

// 修改环境变量 
# vi /etc/profile 在最下面添加 
export MYSQL_HOME=/usr/local/mysql 
export PATH=$MYSQL_HOME/bin:$PATH 

在这里插入图片描述

// 刷新环境变量 
# source /etc/profile 
// 新建mysql用户 
# groupadd mysql 
//在/etc/group中可以看到
# useradd -r -g mysql -s /bin/false mysql 
//在/etc/passwd中可以看到 
# cd /usr/local/mysql 
# chown -R mysql:mysql . 
# scripts/mysql_install_db --user=mysql 

在这里插入图片描述

// 修改当前目录拥有者为root用户 
# chown -R root . 
// 修改当前data目录拥有者为mysql用户 
# chown -R mysql data 

在这里插入图片描述

// 新建一个虚拟窗口,叫mysql
# screen -S mysql 
# bin/mysqld_safe --user=mysql &

在这里插入图片描述

// 退出虚拟窗口 
# Ctrl+A+D 
# cd /usr/local/mysql 
// 登陆mysql 
# bin/mysql
// 登陆成功后退出即可 
# exit; 

在这里插入图片描述

// 进行root账户密码的修改等操作 
# bin/mysql_secure_installation  
//首先要求输入root密码,由于我们没有设置过root密码,括号里面说了,如果没有root密码就直接按回车。
//是否设定root密码,选y,设定密码为cluster,
//是否移除匿名用户:y。
//然后有个是否关闭root账户的远程登录,选n,
//删除test这个数据库?y,
//更新权限?y,然后ok

在这里插入图片描述

// 查看mysql的进程号 
# ps -ef | grep mysql 
// 如果有的话就 kill 掉,保证 mysql 已经中断运行了
# kill 进程号

在这里插入图片描述

// 启动mysql 
# /etc/init.d/mysql.server start -user=mysql 

在这里插入图片描述

//还需要配置一下访问权限:
# su hadoop 
$ mysql -u root -p   密码:cluster
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cluster' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES; 

在这里插入图片描述

// 关闭mysql的指令(不需要执行) 
 # mysqladmin -u root -p shutdown 

3.3.2 测试

mysql> create database test_table; 
mysql> use test_table; mysql> create table userinfo(id int not null); 
mysql> insert into userinfo values(1); mysql> select * from userinfo; 
mysql> drop database test_table; 
mysql> show databases; 

在这里插入图片描述

3.4 安装JDK

3.4.1 安装

cluster1上执行
复制到cluster1的root目录下
在这里插入图片描述

$ su root 
# cp jdk-7u80-linux-x64.tar.gz /usr/local/ 
# cd usr/local/
# tar -zxvf jdk-7u80-linux-x64.tar.gz 
// 复制jdk到其他的服务器上 
# scp -r /usr/local/jdk1.7.0_80/ cluster2:/usr/local/ 
# scp -r /usr/local/jdk1.7.0_80/ cluster3:/usr/local/ 

然后分别在三台服务器上修改环境变量

# vi /etc/profile 
// 添加以下内容 
export JAVA_HOME=/usr/local/jdk1.7.0_80/ 
export
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyw2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值