原创不易,感连谢关注与点赞,记得三么么哒

大数据平台搭建

就目前而言,学习大数据需要搭建各种平台,zookeeper、hadoop、hbase、hive、

flume、spark、Flink、kafka、等等,今天我们来搭建大数据的管理平台zookeeper

什么是zookeeper

Zookeeper 是一个开源的分布式应用程序协调服务,提供了一个分布式环境下的高效管理和协调机制。它主要用于解决分布式系统中的一致性问题,如配置管理、命名服务、分布式锁、分布式协调等。Zookeeper 提供了一个简单的文件系统命名空间和对应的 API,使得客户端可以通过类似于文件操作的方式访问和操作分布式系统中的各种信息。它的设计目标包括高可用性、高性能、严格的顺序访问控制以及可靠的数据存储。Zookeeper 最初由雅虎公司开发,后来成为 Apache 顶级项目,得到了广泛的应用和支持。

搭建zookeeper前提

这里我为大家提供了所有的安装包,但是只有夸克网盘,希望大家见谅

我用夸克网盘分享了「大数据软件包」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链接:https://pan.quark.cn/s/7cb7d5253bf3 提取码:sfgp

在搭建zookeeper之前

在前两章中,我们完成了linux的配置网络以及xshell的连接,连接在这

Linux网络配置(学不会打死我)-CSDN博客

接下来我们需要做一些处理

关闭防火墙,避免免密的时候主机之间无法互通

在三台主机分别执行关闭防火墙命令,master,slave1,slave2

查看防火墙状态:

systemctl status firewalld.service

绿的running表示防火墙开启

执行关闭命令:

systemctl stop firewalld.service

再次执行查看防火墙命令:

systemctl status firewalld.service

执行开机禁用防火墙自启命令 :

systemctl disable firewalld.service

为什么两两免密

两两免密通常指的是在两个节点之间建立安全的通信连接,并允许它们在不需要每次通信都进行身份验证的情况下进行通信。这通常用于提高系统的效率和便利性,特别是在分布式系统中。

实现两两免密的原因:

提高效率: 在分布式系统中,节点之间可能需要频繁地进行通信。如果每次通信都需要进行身份验证和密钥交换,将会增加通信的开销和延迟。通过建立两两免密,可以避免这种开销,提高系统的效率。

简化管理: 在拥有大量节点的系统中,管理和维护每对节点之间的密钥可能会变得非常繁琐。通过实现两两免密,可以简化密钥管理的复杂性,减少管理成本。

降低风险: 身份验证和密钥交换可能会成为安全漏洞的来源。如果实施不当,可能会导致安全问题,如中间人攻击。通过两两免密,可以减少这些安全风险,使通信更加安全可靠。

用户体验: 对于需要频繁进行交互的应用程序或服务,要求用户每次通信都进行身份验证可能会降低用户体验。通过两两免密,可以提供更流畅和便捷的用户体验。

开始两两免密

在三台主机上使用ssh-keygen -t rsa   enter4次

ssh-keygen -t rsa

结果如下:

在三台机器执行完后,每一台节点执行ssh-copy-id master,将id  copy到主机master上,大家都把东西给master,然后让master分发id,就实现两两免密了

ssh-copy-id master

输入这个指令后,要输入对方主机的密码,我这里都是123456,所以无伤大雅,注意master节点也需要执行一遍

使用ssh-copy-id 提示没有命令???

这个报错很简单,是因为我们没有ssh这个文件,我们需要去链接任意节点创建文件,我们去使用ssh连接任意节点(主机),输入密码(注意没做免密之前是需要数输入密码的,传文件很麻烦,做了免密之后就很方便)

ssh master

ctrl +d 退出登录master

然后cd .ssh目录

继续操作ssh-copy-id master(建议手动输入,有时候从文章里面复制代码可能有隐藏空格之类的)

回到我们master节点

进去.ssh目录后发现有这个aythorized_keys的文件,用scp命令分发给其他节点slave1,slave2

scp ./authorized_keys slave1:`pwd`

发现报错

说不知道主机名,这时候肯定就是映射问题了。进入/etc/hosts 目录下发现ip一开始写错了,都写的master的ip,将其更改过来

这样就好了,保存退出

在执行命令,输一次密码123456

成功了,同理继续发送给slave2

验证是否免密

ssh slave1

ssh slave2

分别执行,不需要输入密码的话就成功了

ctrl +d 退出即可

正式搭建zookeeper

我们为了整洁美观,我们在/opt下去安转zookeeper

cd /opt

点击上面绿色图标,建立文件传输

将安装包中的jdk与zookeeper安装包拖过去

安装jdk

安装jdk有助于我们使用jps命令去查看进程是否启动

此时ll

解压这个两个安装包,tab可以补全代码

tar -zxvf 对应包名 (-C 指定目录)不指定默认在当前文件夹

修改名称

mv 原包名 现包名

jdk我们mv 为java      zookeeper的包我们重新mv 为zookeeper

配置环境变量,为了方便后续平台搭建,我直接把大数据全部环境变量配置了

我们执行yum install vim ,然后输入y,y,vim编辑器去编写,有颜色比较方便看自己写错没

进入环境变量文件中

vim /etc/profile shift+g进入文件末尾

i进去编辑模式写下

export JAVA_HOME=/opt/java

export PATH=$PATH:$JAVA_HOME/bin

export ZOOKEEPER_HOME=/opt/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

export HADOOP_HOME=/opt/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export KAFKA_HOME=/opt/kafka

export PATH=$PATH:$KAFKA_HOME/bin

export SPARK_HOME=/opt/spark

export PATH=$PATH:$SPARK_HOME/bin

export FLUME_HOME=/opt/flume

export PATH=$PATH:$FLUME_HOME/bin

export FLINK_HOME=/opt/flink

export PATH=$PATH:$FLINK_HOME/bin

export HBASE_HOME=/opt/hbase

export PATH=$PATH:$HBASE_HOME/bin

export HIVE_HOME=/opt/hive

export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin

export SCALA_HOME=/opt/scala

export PATH=$PATH:$SCALA_HOME/bin

保存退出

使用scp分发给slave1,slave2

cd /etc/

scp ./profile slave1:`pwd`

scp ./profile slave2:`pwd`

然后刷新环境变量(三台都要执行)

source /etc/profile

当然也要将java全部分发给slave1,slave2了

scp -r /opt/java/ slave1:`pwd`

scp -r /opt/java/ slave2:`pwd`

此时jps,就能看见进程了,

配置zookeeper

开始进入zookeeper搭建了,进入zookeeper目录

进入conf

修改或复制zoo.cfg 文件

把这个_sample去掉就行

mv zoo_sample.cfg zoo.cfg

然后

vim zoo.cfg

修改datadir,让他保存在我们指定目录/opt/zookeeper/zkdata下方便管理

dataDir=/opt/zookeeper/zkdata

在文件末尾加上zookeeper通信与选举端口

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

这里的.1 , .2 , .3要记住对应的那个主机,1是master,2是slave1,3是slave2

并检查文件末添加的那些文件有没有空格,不能有空格!!!(这个报错是很不好找的)

vim myid

保存退出,先启动看看

zkServer.sh start

回到我们zookeeper下,发现多了个zkdata,就是我们前面datadir生成的,进去zkdata

cd zkdata

创建一个myid文件并写入master节点对应的1

vim myid

写下1,保存退出

然后使用scp分发给slave1与slave2

scp -r ./zookeeper/ slave1:`pwd`

scp -r ./zookeeper/ slave2:`pwd`

进入slave1里面,修改/opt/zookeeper/zkdata/myid,将1修改成2,修改成对应的,slave2同理将1改成3(两台要安装vim哦,yum install vim)

三台机器分别启动zookeeper

zkServer.sh restart

三台机器分别jps,slave1、2没有起来就在执行一遍启动命令

查看进程master

slave1

slave2

感谢关注,有问题感谢评论,后面会继续出其他平台搭建教程

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。