【大数据技术栈-Hadoop的集群搭建】-程序员宅基地

技术标签: linux  大数据开发  服务器  hadoop  分布式  大数据  

前言:
大家好,书生♡,今天主要和大家分享一下大数据技术栈-Hadoop的集群搭建的详细步骤,希望对大家有所帮助。感谢大家关注点赞。
前路漫漫,希望大家坚持下去,不忘初心,拿到属于自己高薪offer!!!

个人主页: 书生♡
gitee主页‍♂:闲客
专栏主页:大数据开发
博客领域:大数据开发,java编程,前端,算法,Python
写作风格:超前知识点,干货,思路讲解,通俗易懂
支持博主:关注,点赞、收藏、留言

1. 什么是集群?什么是分布式?

在学习了解的内容之前,我们要先知道什么是集群什么是分布式?

集群: 多台服务器共同完成相同的业务,就是一个集群.
分布式: 多台服务器共同完成不同的业务就是分布式.

安装部署层面说

  • 单机部署
    • 使用一台服务器安装所有服务
  • 集群部署
    • 使用多台服务器安装对应分布式服务

在这里插入图片描述

2. 集群搭建-虚拟机的拷贝

所谓集群就是指有多个服务器,那么我们就要有多个虚拟机.
我们如果通过自己自定义创建每一个虚拟机耗时耗力,所以我们有一种便捷的方法,就是–拷贝。
我们首先需要创建一个自定义的虚拟机,在这里我就不细讲了。
大家在创建好一个虚拟机之后。

  1. 右键创建好的虚拟机,点击管理,点击克隆
    在这里插入图片描述
  2. 选择虚拟机中的当前状态,点击下一步
    在这里插入图片描述
  3. 选择完整克隆

在这里插入图片描述
4. 自定义填写位置和名称
在这里插入图片描述
5. 最后我们就可以克隆出两个一模一样的虚拟机
在这里插入图片描述
6. 选择克隆的服务器,点击“网络适配器”,点击高级,点击生成,为自动生成新的网卡。(同理每一个克隆的虚拟机都需要重新生成新的网卡)
在这里插入图片描述

3.集群搭建–基础环境搭建

3.1 主机名称修改: /etc/hostname

由于我们的虚拟机是克隆过来的,所以我们克隆的虚拟机主机名还是原来的主机名,所以我们要修改我们的主机名,便于区分。

echo node1 > /etc/hostname

我们通过echo的覆盖的方式去修改。
注意:我们的主机名是存放在/etc/hostname文件下面的

3.2 修改域名解析文件:/etc/hosts

后续搭建集群时使用域名访问电脑
在平时使用www.baidu.com域名访问时,最终会同dns服务器将域名解析为ip地址访问

echo '192.168.88.100 node1.itcast.cn node1' >> /etc/hosts
echo '192.168.88.101 node2.itcast.cn node2' >> /etc/hosts
echo '192.168.88.102 node3.itcast.cn node3' >> /etc/hosts

这里的node1,node2,node3使我们虚拟机的名字,也是我们的主机名。
我们可以通过下面的命令,然后选择发送到全部会话,点击发送。
这里需要注意,我们这个代码需要三个会话都执行一遍。

在这里插入图片描述

3.3 关闭防火墙

我们关闭防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置关闭虚拟机。

 systemctl stop firewalld.service

在这里插入图片描述

3.4 禁用防火墙

我们禁止防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置禁止虚拟机。

 systemctl disable firewalld.service

在这里插入图片描述

3.5 关闭SELinux

我们还需要关闭SELinux,同上几步:

sed -i "s/enforcing/disabled/" /etc/selinux/config

3.6 时钟同步

每一个服务器的时间都不一样,所以我们需要统一设置时间:

ntpdate ntp4.aliyun.com

# 内部服务器不允许上网,内部搭建一个时钟服务器   同步内部
ntpdate  192.168.88.3

在这里插入图片描述

3.7 设置静态ip地址

我们需要设置静态ip地址,也就是把我们的ip地址固定起来,防止每一次重启服务器ip地址会改变。

node1:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.100"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33


node2:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.101"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33

node3:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.102"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33

3.8 创建软件安装目录

我们以后要按安装好多的软件,为了方便安装处理这些,我们需要创建一个文件夹,方便我们存储软件的包。

mkdir /export
cd /export
mkdir data logs server software

在这里插入图片描述

3.9 重启系统

最后我们只需要重启系统,就可以将上述操作成功的应用

init 6

4. 服务器之间数据文件传递

服务器之间传递数据,依赖ssh协议

http协议是web网站之间的通讯协议,用户可已通过http网址访问到对应网站数据

ssh协议是服务器之间,或windos和服务器之间传递的数据的协议。支持shell指令的传输
在linux中默认自带ssh客户端,可以使用ssh指令进行服务器连接

4.1 ssh 用户@ip地址或域名

  1. 直接使用ip地址转换用户

在这里插入图片描述
2. 使用域名来访问
在这里插入图片描述
或者我们还可以使用简称 node2
在这里插入图片描述
3. 设置免密登录,我们可以使用ssh node2 直接跳转到node2的服务器
但是我们需要先设置免密登录

ssh免密登录
每次登录不需要再输入密码
分别在node1、node2、node3上执行如下命令

# 生成秘钥
ssh-keygen

在这里插入图片描述

# 拷贝秘钥
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

4.2 基于ssh协议进行服务器之间的文件或目录的传输

服务器我们要传输文件或者是目录的话,我们使用的是scp

scp -r 本机文件或目录路径 目标服务器名:目标服务器路径

在这里插入图片描述

5. 软件的安装

5. 1java的安装

大数据的软件工具需要依赖java环境

  1. 我们需要先在本地下载java的jdk压缩包,然后上传到服务器的/export/server目录下面
    在这里插入图片描述
  2. 使用加压缩命令,将文件解压缩
    大家如果 有疑问可以参考我当初的linux命令,上面有很详细的命令和案例。
使用tar进行解压缩
tar xvf   压缩包文件
x 代表解压
v 显示解压详情
f 代表解压文件

压缩文件使用
tar cvf    压缩包名.tar.gz  文件或目录 

安装解压后,使用java是会出现找不到java指令,原因是因为没有指定系统环境变量
默认java指令是在安装包的bin目录下,通过设置系统环境变量,就可以在任意位置使用java指令

我们需要命令去修改文件配置:

echo 'export JAVA_HOME=/export/server/jdk1.8.0_241' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile

在这里插入图片描述
这个样子我们的java就配置成果了。

5.2 mysql的安装配置

  1. 上传mysql压缩包
    同理我们需要将在本地下载好的MySQL文件压缩包,上传到服务器上面。
cd /export/server
mkdir mysql5.7
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql5.7
cd mysql5.7

在这里插入图片描述
2. 卸载mariadb-libs

rpm -e --nodeps mariadb-libs
  1. rpm安装mysql
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
  1. 初始化服务和修改文件权限
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
  1. 启动服务并设置开机自启
systemctl start mysqld.service
systemctl enable mysqld.service
  1. 登录Mysql
Pass=$(grep 'A temporary password' /var/log/mysqld.log |awk '{
    print $NF}')
mysql -uroot -p"$Pass"
  1. 修改mysql密码及配置远程登录

注意:该操作是在mysql中进行

alter user user() identified by "123456";
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES; 
  1. 退出mysql
exit

到这里我们的大数据Hadoop的前置条件就安装好了,下一篇文章我们详细的说一说Hadoop的技术栈。

在这篇文章中,我们hadoop的前置条件的安装,希望能为读者带来启发和收获。
感谢大家的阅读,如果您有任何疑问或建议,欢迎在评论区留言交流。同时,也请大家关注我的后续文章,一起探索更多知识领域。
愿我们共同进步,不断提升自我。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zjm521521/article/details/137208401

智能推荐

Pandas读取csv文件某一列并保存到txt文件中-程序员宅基地

文章浏览阅读4.7k次,点赞3次,收藏19次。Pandas读取csv文件某一列并保存到txt文件中按道理来说挺简单的,但是却查了好久,本来想利用pandas的api获取某一列的数据,然后写入到文件中,但是写入到文件后出现各种问题,要不程序报错,要不不分行。最后还是按照之前的那样,获取的之后一个个的添加到之前创建好的list中。def save_csv_to_text(filename, csv_name, usecols): '..._python 将csv某列数据读取到txt文本中

react解析html字符串方法-程序员宅基地

文章浏览阅读1.9k次。react解析html字符串方法_react解析html

web安全入门(基础篇)---小迪视频笔记_8006端口-程序员宅基地

文章浏览阅读3.5k次,点赞3次,收藏16次。1、为什么需要列表①变量可以存储一个元素,而列表是一个“大容器"可以存储N多个元素,程序可以方便地对这些数据进行整体操作②列表相当于其它语言中的数组③列表示意图:_8006端口

C#工具箱Menustrip控件中分割线的设置方法_c# 菜单 分割线-程序员宅基地

文章浏览阅读1.5w次,点赞7次,收藏11次。最近编C#程序,因为初学,不是太清楚,碰到了toolstripMenu中分割线设置的问题。遍寻中文网页,都是语言不详的,甚是呕人。上网找了个外文网站,给的答案甚是详细,先贴在下面。http://www.c-sharpcorner.com/uploadfile/mahesh/toolstrip-in-C-Sharp/照着上面的照猫画虎的整了一圈,暗叹理论与实践还是有所差距的。但不管怎_c# 菜单 分割线

wince下sources\sources.cmn\Makefile.def的相关作用_“\makefile.def”-程序员宅基地

文章浏览阅读866次。wince下sourcessources.cmnMakefile.def的相关作用_“\makefile.def”

wap svg 第八章 文字text--上拿-理疗-脚底安磨_html中如何设置svg<text>文字大小-程序员宅基地

文章浏览阅读1.8w次,点赞3次,收藏10次。虽然它可能是真实的,每一个画面讲述了一个故事,这是完全正确的,用言语来帮助讲故事。因此,SVG有几个元素,让你将文本添加到您的图形。文本术语Text Terminology在我们调查的主要方法添加文本,的<TEXT>元素之前,我们应该定义一些术语,你会看到,如果你读了SVG规范,或者如果你的工作与文字在任何图形环境:字符一个字符,作为一个XML文档而言,是一个数..._html中如何设置svg文字大小

随便推点

解决Mysql 主从或主主报1032错误_last_errno: 1032-程序员宅基地

文章浏览阅读8.2k次,点赞2次,收藏7次。1032错误的主要原因是主库更新或者是删除的记录在从库上不存在引起的。处理此种错误一般有两种思路:1、直接跳过错误执行语句2、找到错误执行语句,修复从库数据第一种解决方案会有造成主从不一致的隐患(delete语句可以跳过),第二种是从根本上解决问题比较推荐语句跳过操作方法如下:1032 错误提示如下:Replicate_Wild_Ignore_Table: ..._last_errno: 1032

button按钮居中_button居中-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏7次。今天在写页面时,发现给button按钮设置居中时,css页面写了text-align="center",但是不起作用,用了display属性也无作用,试了好多次发现要给button按钮添加个div,然..._button居中

hiberante开发备忘录_iphone rx备忘录-程序员宅基地

文章浏览阅读495次。在hb刚火的那正儿, 看过, 但是对ormaping不是很理解, 现在重新看hb, 以前很多不是很懂的地方现在基本已经全部豁然开朗. ·increment标识生成器由hibernate以递增的方式生成主键 ·identity标识生成器由底层数据库来负责生成主键,这个主要针对支持自增字段作为主键的数据库 ·sequence标识生成器由底层数据库提供的序列来生成主键 ·native标识生成器会根据底层_iphone rx备忘录

中国嵌入式应用市场四大热点及趋势_目前嵌入式系统是热点-程序员宅基地

文章浏览阅读2.2k次。嵌入式系统的广泛应用已经渗入到我们日常生活的各个方面。在手机、MP3、PDA、数码相机、电视机,甚至电饭锅、手表里都有嵌入式系统的身影,工业自动化控制、仪器仪表、汽车、航空航天等领域更是嵌入式系统的天下。据估计,每年全球嵌入式系统带来的相关工业产值已超过1万亿美元。随着多功能手机、便携式多媒体播放机、数码相机、HDTV和机顶盒等新兴产品逐渐获得市场的认可,嵌入式系统的市场正在以每年30%的速度递增_目前嵌入式系统是热点

java安全体系之JCA、JCE、JAAS、JSSE及其关系-程序员宅基地

文章浏览阅读341次。首先、如果是运行在internet上的系统,并且如果是个涉及到利益性的系统,不可避免的会遭受各种攻击(我们公司的很多系统从OS到DB到webapp就实时有收到攻击和破解),所以尽可能保证安全性将不再是架构师和安全部门唯一应该考虑的事,所有的开发、运维都应该有相应的安全意识。在文本中,将普及下java的安全体系。java安全体系包括四个部分:JCA、JCE、JSSE、JAAS。JCA,包括了..._安全管理中jca含义

[Android]-[adb] user版本开启adb且去掉adb授权弹框_免adb授权修改-程序员宅基地

文章浏览阅读2.3k次。配置两个属性即可:1.使user版本可以adbdevice/mediatek/mt6739/device.mk ifeq ($(TARGET_BUILD_VARIANT),user)- PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp+ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp,adb2.去掉user版本授权usb弹框b_免adb授权修改

推荐文章

热门文章

相关标签