大数据学习教程:Linux高级教程(下)

四、大数据集群服务器搭建

1. 新增Linux服务器

1.1、克隆虚拟机

学习环境中,一般使用VMware虚拟机克隆Linux系统,用来进行集群服务器的搭建。

VMware支持两种类型的克隆:完整克隆、链接克隆  

完整克隆是和原始虚拟机完全独立的一个复制,它不和原始虚拟机共享任何资源。可以脱离原始虚拟机独立使用。链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却大大缩短了创建克隆虚拟机的时间,同时还节省了宝贵的物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。

虚拟机克隆的前置条件:虚拟机处于关闭状态。

图片

虚拟机克隆的流程:

图片

图片

图片

图片

图片

图片

图片

1.2、修改虚拟机的硬件配置

图片

图片

图片

图片

1.3、修改虚拟机的网络配置

修改主机名hostname:

 
 

vim /etc/hostname
node2.itcast.cn

修改IP地址

 
 

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet" # 网卡类型 以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" #网卡名称
UUID="74c3b442-480d-4885-9ffd-e9f0087c9cf7"
DEVICE="ens33"
ONBOOT="yes" #是否开机启动网卡服务
IPADDR="192.168.88.152" #IP地址
PREFIX="24" #子网掩码 等效: NETMASK=255.255.255.0
GATEWAY="192.168.88.2" #网关服务
DNS1="192.168.88.2" #网关DNS解析
DOMAIN="114.114.114.114" #公网DNS解析 114.114.114.114 谷歌:8.8.8.8 阿里百度DNS
IPV6_PRIVACY="no

systemctl restart network   # 重启网络服务

2. 关闭防火墙

2.1、关闭firewalld

 
 

# 查看防火墙状态 systemctl status firewalld

# 关闭防火墙
systemctl stop firewalld

# 关闭防火墙开机自启动
systemctl disable firewalld

# centos服务开启关闭命令
centos6:(某些可以在centos7下使用)
service 服务名 start|stop|status|restart
chkconfig on|off 服务名

centos7:
systemctl start|stop|status|restart 服务名
systemctl disable|enable 服务名 #开机自启动 关闭自启

2.2、关闭SElinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

注意需要重启才能生效。

 
 

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled

3. 修改主机名

使用vi编辑器,修改主机名:

vim /etc/hostname root

重启后生效

4. 修改hosts映射

分别编辑每台虚拟机的hosts文件,在原有内容的基础上,填下以下内容:

注意:不要修改文件原来的内容,三台虚拟机的配置内容都一样。

 
 

vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.151 node1.itcast.cn node1
192.168.88.152 node2.itcast.cn node2
192.168.88.153 node3.itcast.cn node3

5. SSH免密登录

 
 

# 实现node1----->node2
# step1
在node1生成公钥私钥
ssh-keygen 一顿回车 在当前用户的home下生成公钥私钥 隐藏文件
[root@node1 .ssh]# pwd
/root/.ssh
[root@node1 .ssh]# ll
total 12
-rw------- 1 root root 1675 May 20 11:59 id_rsa
-rw-r--r-- 1 root root 402 May 20 11:59 id_rsa.pub
-rw-r--r-- 1 root root 183 May 20 11:50 known_hosts

# step2
copy公钥给node2
ssh-copy-id node2
注意第一次需要密码
# step3
[root@node1 .ssh]# ssh node2
Last login: Thu May 20 12:03:30 2021 from node1.itcast.cn
[root@node2 ~]# exit
logout
Connection to node2 closed.
# 课程要求:至少打通node1---->node1 node2 node3 这三个免密登录

# 至于所有机器之间要不要互相免密登录 看心情

6. 时钟同步

图片

图片

命令

英文

含义

ntpdate 互联网时间服务器地址

Network Time Protocol

同步时间

阿里云时钟同步服务器:ntpdate ntp4.aliyun.com

7. 远程文件拷贝

远程文件拷贝命令:scp

scp是 remote file copy program 的缩写, scp是远程文件拷贝命令

7.1、从本机拷贝到远程服务器

图片

准备工作

 
 

# 创建目录
mkdir -p /export/aaa/bbb/ccc
# 创建文件
touch /export/aaa/01.txt /export/aaa/02.txt
# 显示
tree /export/aaa

1、文件

语法格式

 
 

拷贝文件
scp local_file remote_username@remote_ip:remote_folder

需求: 将本地 01.txt 文件 复制到 192.168.153.102 机器的 /export目录下  

scp  /export/aaa/01.txt   root@192.168.153.102:/export

scp  /export/aaa/02.txt   root@hadoop02:/export

scp  /export/aaa/02.txt   hadoop02:/export

图片

2、文件夹

语法格式

 
 

拷贝目录
scp -r local_folder remote_username@remote_ip:remote_folder

需求: 将本地 aaa 目录 复制到 192.168.150.102 机器的 /export 目录下

 
 

scp -r /export/aaa root@192.168.153.102:/export
scp -r /export/aaa root@hadoop02:/export
scp -r /export/aaa hadoop02:/export

7.2、从远程服务器复制到本机

图片

准备工作

 
 

# 创建目录
mkdir -p /export/a1/b1/c1
# 创建文件
touch /export/a1/111.txt touch /export/a1/222.txt
# 显示内容
tree /export/a1

1、文件

语法格式

 
 

scp remote_username@remote_ip:remote_file local_folder

练习: 将 hadoop02的 111.txt 文件 复制到 hadoop01的 export目录下

scp root@192.168.100.202:/export/a1/111.txt /export
scp root@hadoop02:/export/a1/222.txt /export
scp hadoop02:/export/a1/222.txt /export

2 目录

语法格式

scp -r remote_username@remote_ip:remote_folder local_folder

练习: 将hadoop02的 /export/a1/ 目录 复制到 hadoop01 的 export目录下

scp -r root@192.168.100.202:/export/a1 /export
scp -r hadoop02:/export/a1 /export

五、Shell编程

1. 什么是Shell

1.1、简介

Shell 是一个用 C 语言编写的程序, 通过 Shell 用户可以访问操作系统内核服务。 

它类似于 DOS 下的 command 和后来的 cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。 

Shell script 是一种为shell编写的脚本程序。 Shell 编程一般指shell脚本编程,不是指开发shell自身。

1.2、Shell解释器

Shell编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 

Linux的Shell解释器种类众多,一个系统可以存在多个 shell,可以通过cat  /etc/shells 命令查看系统中安装的 shell。 

图片

bash 由于易用和免费,在日常工作中被广泛使用。同时, bash 也是大多数Linux 系统默认的 Shell。

总结:java执行需要虚拟机解释器, 同理shell程序执行也需要解析器

2. 快速入门

2.1、编写Shell脚本

使用 vi 编辑器新建一个文件hello.sh(扩展名并不影响脚本执行)

 
 

#!/bin/bash
echo "Hello World !"
# ! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell

echo命令 用于向窗口输出文本。 

图片

给shell程序赋予执行权限: 

chmod +x ./hello.sh  # 使脚本具有执行权限  

图片

2.2、执行Shell脚本

执行shell程序:

./hello.sh  #执行脚本  

图片

直接写 hello.sh,linux 系统会去 PATH 里寻找有没有叫hello.sh的。  

用 ./hello.sh 告诉系统说,就在当前目录找

还可以作为解释器参数运行。直接运行解释器,其参数就是 shell 脚本的文件名,如:sh  /root/shelldemo/hello.sh

在使用解释器直接执行shell程序这种方式来运行脚本,不需要考虑脚本程序的执行权限了

图片

小结: 使用vi编辑器,创建shell程序文件。通常使用.sh作为shell程序后缀名。

shell程序的基本格式:

1、指定解释器信息。默认:/bin/bash

2、书写shell程序代码

3、保存shell程序代码

4、执行shell程序     提前:给shell程序授予可执行权限    

第一种:./xxx.sh   #在当前目录中执行shell程序    

第二种:/xx/xxx.sh   #书写全路径的shell程序    

第三种:sh /xx/xxx.sh  #把shell程序作用/bin/sh解释器的参数,通过运行解释器来执行shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/57158.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GCC版本升高到11.3后编译之前同样的C++代码出现的若干错误

目录 1 gtest-death-test.cc:1301:24: error: ‘dummy’ may be used uninitialized 2 error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘Eigen::internal::Packet4c’ 3 error: comparison is always true due to limited ra…

恒运资本:满仓的含义?

满仓,望文生义,便是财经领域中的一个术语。它指的是出资者将一切可用资金悉数用于购买股票、基金或其他金融资产。满仓的意义是出资者对某种出资产品充满决心,并乐意将自己的大部分资金投入其中,以希望取得更高的报答。但是&#…

【Android Framework系列】第9章 AMS之Hook实现登录页跳转

1 前言 前面章节我们学习了【Android Framework系列】第5章 AMS启动流程和【Android Framework系列】第6章 AMS原理之Launcher启动流程,大概了解了AMS的原理及启动流程,这一章节我们通过反射和动态代理对不同Android版本下的AMS进行Hook,实现…

亿发软件:专业医疗器械GSP管理系统解决方案,智能化药械规范经营

如今医疗器械市场得到进一步发展,为了确保市场上医疗器械管理效率与品质保障,直击医疗器械行业管理困境,推出医疗器械GSP管理软件!专业医疗器械GSP软件全面满足医疗器械企业的应用要求,打造管理解决方案。1、信息传输和…

2023-08-02 LeetCode每日一题(翻转卡片游戏)

2023-08-02每日一题 一、题目编号 822. 翻转卡片游戏二、题目链接 点击跳转到题目位置 三、题目描述 在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,…

云上 Index:看「简墨」如何为云原生打造全新索引

拓数派首款数据计算引擎 PieCloudDB Database 是一款全新的云原生虚拟数仓。为了提升用户使用体验,提高查询效率,在实现存算分离的同时,PieCloudDB 设计与打造了全新的存储引擎「简墨」等模块,并针对云场景和分析型场景设计了高效…

ELD透明屏在智能家居中有哪些优点展示?

ELD透明屏是一种新型的显示技术,它能够在不需要背光的情况下显示图像和文字。 ELD透明屏的原理是利用电致发光效应,通过在透明基板上涂覆一层特殊的发光材料,当电流通过时,发光材料会发出光线,从而实现显示效果。 ELD…

零碎小知识点汇总——记录工作中遇到的问题——基础积累

1.npm install安装包时,常用的-S -D有什么区别? 参考链接:https://blog.csdn.net/sunyctf/article/details/127667543 主要的区别就是依赖配置写入package.json文件的位置不同而已 npm install有一个别名:npm i -S:写入dependen…

Qt 中引入ffmpeg 动态库

1、前期准备 在qt引入ffmpeg动态库的时候,需要准备ffmpeg的动态库和头文件。 2、打开qt项目 在qt项目的.pro文件中添加以下几行代码 INCLUDEPATH $$PWD/thirtLib/ffmpeg4.2/include win32: LIBS -L$$PWD/thirtLib/ffmpeg4.2/lib/ -lavcodec -lavdevice -lavf…

Java的代理模式

java有三种代理模式 静态代理 jdk动态代理 cglib实现动态代理 代理模式的定义: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的…

TCP三次握手与四次断开

TCP三次握手机制 三次握手是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。 1、客户端发送建立TCP连接的请求报文,其…

小研究 - 基于解析树的 Java Web 灰盒模糊测试(二)

由于 Java Web 应用业务场景复杂, 且对输入数据的结构有效性要求较高, 现有的测试方法和工具在测试Java Web 时存在测试用例的有效率较低的问题. 为了解决上述问题, 本文提出了基于解析树的 Java Web 应用灰盒模糊测试方法. 首先为 Java Web 应用程序的输入数据包进行语法建模创…

《零基础入门学习Python》第077讲:Tkinter 模块:标准对话框

Tkinter 为了提供了三种标准对话框模块,它们分别是: messageboxfiledialogcolorchooser 注:这三个模块原来是独立的,分别是 tkMessageBox、tkFileDialog 和 tkColorChooser,需要导入才能使用。在 Python3 之后&#…

HCIP OSPF链路状态类型总结

OSPF的LSA OSPF是典型的链路状态路由协议,使用LAS(链路状态通告)来承载链路状态信息。LSA是OSPF的一个核心内容,如果没有LSA,OSPF 是无法描述网络的拓扑结构及网段信息的,也无法传递路由信息,更…

2023年信息系统项目管理师-粗略了解整体主要知识脉络

1. 五大过程组 2.十大知识领域 3. 十大知识领域与五大过程组的关系 4. 十大知识领域的关系图 5. 十大知识域与五大过程组的记忆方法 6. 仅开展一次或仅在项目预定义的时候开展 7.需要定期开展的过程

【方法】PDF可以转换成Word文档吗?如何操作?

很多人喜欢在工作中使用PDF,因为PDF格式可以准确地保留文档的原始格式,比如字体、图像、布局和颜色等。 但如果编辑文档的话,PDF还是没有Word文档方便。那可以将PDF转换成Word格式,再来编辑吗?如何操作呢?…

网络安全进阶学习第十一课——MySQL手工注入(2)

文章目录 一、UA注入1、原理2、靶场演示:1)一旦页面出现如下现状,就可以使用UA注入2)BP抓包3)修改User-Agent 二、referer注入1、原理2、靶场演示:1)使用BP抓包2)修改Referer 三、DN…

Express中间件

1.创建最基本的中间件 const express require(express); const send require(send);const app express()const mw function (req, res, next) {console.log(middleware);// 一定要调用next() 把流转关系交给下一个中间件或路由next() }app.listen(80, () > {console.l…

CRM系统如何进行公海池线索分配自动化?

在销售过程中,线索分配是一个非常重要的环节。传统的线索分配方式往往是由销售主管手动进行,不仅效率低下,还存在着不公平、不灵活的问题。因此,许多企业通过CRM来实现公海池线索分配自动化。 1、基于规则的分配 CRM可以让用户设…

Vivado常见critical warning 、error

综合 Designutils 20-1281 如下图所示 可能原因 在复制Vivado工程时,IP文件缺少导致 解决方法 重新生成IP即可