Hadoop(jdk、zookeeper)集群环境搭建

Hadoop1&集群环境搭建

1:Hadoop介绍

2:环境搭建

在 Hadoop 具体开始前, 先来搭建一下环境

  1. 创建虚拟机
    1. 安装虚拟机 VMWare
    2. 创建虚拟机
    3. 安装 CentOS
    4. 组成集群
  2. 配置每台主机
    1. 关闭防火墙
    2. 关闭 SELinux
    3. 设置主机名
    4. 重启
    5. 设置时钟同步服务
    6. 配置用户权限
    7. 免密登录
  3. 安装辅助软件
    1. JDK
    2. Zookeeper
  4. 安装 Hadoop
    1. 下载并解压
    2. 修改配置
    3. 分发到每个节点
    4. 格式化 HDFS
    5. 启动集群

创建虚拟机

1:通过ISO镜像安装

2: 直接复制安装好的虚拟机

注意事项:windows系统确认所有的关于VmWare的服务都已经启动,

确认好VmWare生成的网关地址,另外确认VmNet8网卡已经配置好了IP地址。

  1. 网络模式
  2. 内存设置
  3. 规划集群, 创建多台虚拟机
1. 网络模式详解
2. 内存设置
  • 需要三台虚拟机, 并且需要同时运行, 所以总体上的占用为: 每 台 虚 拟 机 内 存 × 3 每台虚拟机内存 \times 3 ×3
  • 在分配的时候, 需要在总内存大小的基础上, 减去1-2G作为系统内存, 剩余的除以3, 作为每台虚拟机的内存

每 台 机 器 的 内 存 = ( 总 内 存 − 4 ) ÷ 3 每台机器的内存 = \left ( 总内存 - 4\right ) \div 3 =(4)÷3

3. 集群规划
IP 主机名 环境配置 安装
192.168.85.33 master1 关防火墙和selinux, host映射, 时钟同步 JDK, NameNode, ResourceManager, Zookeeper
192.168.85.44 slave1 关防火墙和selinux, host映射, 时钟同步 JDK, DataNode, NodeManager, Zeekeeper
192.168.85.55 slave2 关防火墙和selinux, host映射, 时钟同步 JDK, DataNode, NodeManager, Zeekeeper
4:设置ip和Mac地址

更改mac地址:

vim /etc/udev/rules.d/70-persistent-net.rules

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LxAuw9mi-1607657047553)(E:/Java_Study/assets/1555843415254.png)]

更改IP地址:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3bZINZxG-1607657047563)(E:/Java_Study)]

修改主机名(重启后永久生效)

vi /ect/sysconfig/network

HOSTNAME=master1

设置ip和域名映射

vim /etc/hosts

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PDnqEebK-1607657047570)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20201209112617330.png)]

##5:环境配置

5.1:三台虚拟机关闭防火墙

三台机器执行以下命令(root用户来执行)

service iptables stop   #关闭防火墙
chkconfig iptables off  #禁止开机启动
5.2三台机器关闭selinux
  • SELinux的工作模式
    • enforcing 强制模式
    • permissive 宽容模式
    • disable 关闭
# 修改selinux的配置文件
vi /etc/selinux/config
5.3 三台机器机器免密码登录
  • 为什么要免密登录
    • Hadoop 节点众多, 所以一般在主节点启动从节点, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦
  • 免密 SSH 登录的原理
    1. 需要先在 B节点 配置 A节点 的公钥
      1. A节点 请求 B节点 要求登录
    2. B节点 使用 A节点 的公钥, 加密一段随机文本
    3. A节点 使用私钥解密, 并发回给 B节点
    4. B节点 验证文本是否正确

第一步:三台机器生成公钥与私钥

在三台机器执行以下命令,生成公钥与私钥

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GpzvkoCF-1607657047573)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20201209112733898.png)]

第二步:拷贝公钥到同一台机器

三台机器将拷贝公钥到第一台机器

三台机器执行命令:

ssh-copy-id master1

第三步:复制第一台机器的认证到其他机器

将第一台机器的公钥拷贝到其他机器上

在第一台机器上面指向以下命令

scp /root/.ssh/authorized_keys slave1:/root/.ssh

scp /root/.ssh/authorized_keys slave2:/root/.ssh

5.4三台机器时钟同步

为什么需要时间同步

  • 因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是 1, B节点 记录的时间是 2, 就会出问题
## 安装
yum install -y ntp

## 启动定时任务
crontab -e

随后在输入界面键入

*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;

##6:装辅助软件

6.1 每台主机安装jdk

查看自带的openjdk

rpm -qa | grep java

卸载系统自带的openjdk

rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64 --nodeps

上传jdk并解压然后配置环境变量

所有软件的安装路径

mkdir -p /opt/bigdata

所有软件压缩包的存放路径

mkdir -p /opt/bigdata

上传jdk到/export/softwares路径下去,并解压

tar -zxvf jdk-8u141-linux-x64.tar.gz -C ../bigdata/

配置环境变量

vim /etc/profile

export JAVA_HOME=/opt/bigdata/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH

修改完成之后记得 source /etc/profile生效

7:Zookeeper

7.2 Zookeeper安装
服务器IP 主机名 myid的值
192.168.85.33 master1 1
192.168.85.44 slave1 2
192.168.85.55 slave2 3

第一步:下载zookeeeper的压缩包,下载网址如下

http://archive.apache.org/dist/zookeeper/

我们在这个网址下载我们使用的zk版本为3.4.9

下载完成之后,上传到我们的linux的/opt/bigdata路径下准备进行安装

第二步:解压

解压zookeeper的压缩包到/opt/bigdata路径下去,然后准备进行安装

cd /opt/bigdata

tar -zxvf zookeeper-3.4.9.tar.gz -C ../bigdata/ 

第三步:修改配置文件

第一台机器修改配置文件

cd /opt/bigdatazookeeper-3.4.9/conf/

cp zoo_sample.cfg zoo.cfg

mkdir -p /opt/bigdata/zookeeper-3.4.9/zkdatas/

vim zoo.cfg

dataDir=/opt/bigdata/zookeeper-3.4.9/zkdatas
# 保留多少个快照
autopurge.snapRetainCount=3
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
server.1=master1:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XmlPOoxz-1607657047580)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20201209150853974.png)]

第四步:添加myid配置

在第一台机器的

/opt/bigdata/zookeeper-3.4.9/zkdatas /这个路径下创建一个文件,文件名为myid ,文件内容为1

echo 2 > /opt/bigdata/zookeeper-3.4.9/zkdatas/myid

第五步:安装包分发并修改myid的值

安装包分发到其他机器

第一台机器上面执行以下两个命令

scp -r /opt/bigdata/zookeeper-3.4.9/ slave1:/export/servers/

scp -r /opt/bigdata/zookeeper-3.4.9/ slave2:/export/servers/

第二台机器上修改myid的值为2

echo 2 > /opt/bigdata/zookeeper-3.4.9/zkdatas/myid

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRsIq7Ui-1607657047581)(E:/Java_Study/assets/wps4-1555914009906.jpg)]

第三台机器上修改myid的值为3

echo 3 > /export/servers/zookeeper-3.4.9/zkdatas/myid

第六步:三台机器启动zookeeper服务

三台机器启动zookeeper服务

这个命令三台机器都要执行

/opt/bigdata/zookeeper-3.4.9/bin/zkServer.sh start`

查看启动状态

/opt/bigdata/zookeeper-3.4.9/bin/zkServer.sh status`

##8:Hadoop

8.2 Hadoop的安装

集群的规划:

服务器IP 192.168.85.33 192.168.85.44 192.168.85.55
主机名 master1 slave1 slave2
NameNode
SecondaryNameNode
dataNode
ResourceManager
NodeManager
  1. 上传并解压
  2. 修改配置文件
  3. 分发安装包
  4. 格式化HDFS
  5. 启动集群
1. 上传并解压
  1. 上传压缩包到/export/software目录
  2. cd /opt/bigdata
  3. tar xzvf hadoop-3.1.1.tar.gz -C ../servers

#####2. 修改配置文件

配置文件的位置在 hadoop/etc/hadoop

######core-site.xml

<configuration>
    <property>
		<name>fs.defaultFS</name>
		<value>hdfs://master1:8020</value>
	</property>
	<!-- 临时文件存储目录 -
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值