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

news2024/12/23 13:54:51

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构设计师_备考第2天(计算机组成与体系结构)

文章目录 考频(3分左右)一、计算机结构二、CPU组成三、冯诺依曼结构和哈弗结构四、层次化存储结构五、Cache 考频(3分左右) 提示:这里可以添加本文要记录的大概内容: 计算机结构(★&#xff0…

魔法上网端口号被占用通过端口号找到进程并且杀掉进程随笔

Windows11系统由于魔法上网被异常关闭导致再次启动的时候报出端口号被占用问题记录以前忘记的通过端口杀掉进程相关操作。 在命令行(winr,输入cmd)中输入: netstat -ano 可以看到本机正在使用的ip地址和端口号如图: 在命令行(wi…

Array.prototype.slice.call()方法详解

slice:用来截取截取字符串方法Array: javascript的一个引用类型,其原型prototype上有一个方法叫slicecall和apply : 用来改变对象中函数内部的this引用,使得函数可以随便换‘妈妈’ 为什么不直接用 arguments.slice(1)呢 不是一样的么? 答案…

springboot第33集:nacos图

./startup.sh -m standalone Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。 鉴…

门面模式:简化复杂系统的接口调用

门面模式:简化复杂系统的接口调用 什么是门面模式? 门面模式(Facade Pattern)是一种结构型设计模式,它提供了一个简单的接口,用于访问复杂子系统中的一组接口。门面模式通过封装子系统的复杂性&#xff0…

如何免费制作中小学分班查询系统?

暑假即将结束,新学年即将开始,学校面临着一个重要任务:学生分班。不论是新生入学还是低年级升入高年级,都需要进行分班工作。这对负责分班的老师们来说,增加了相当大的工作量和挑战。 在开学前,如何快速解…

排序八卦炉之插入和希尔

文章目录 1.插入排序1.1代码1.2复杂度 2.希尔排序2.1代码2.2复杂度2.3算法解析 1.插入排序 1.1代码 //插入排序1.0 /* void InsertSort(int* a, int n) {//i&#xff1a; 0 -- 倒数第2个元素for (int i 0; i < n - 1; i){//end记录iint end i;//tmp记录end后一个值int tm…

ios_base::out和ios::out、ios_base::in和ios::in、ios_base::app和ios::app等之间有什么区别吗?

2023年8月2日&#xff0c;周三晚上 今天我看到了这样的两行代码&#xff1a; std::ofstream file("example.txt", std::ios_base::out);std::ofstream file("example.txt", std::ios::out);这让我产生了几个疑问&#xff1a; 为什么有时候用ios_base::o…

物联网潜在的巨大价值在于大数据分析

物联网潜在的巨大价值在于大数据分析 从数据里去挖掘市场或者用户的精准需求。 往小的说&#xff0c;后台可以统计用户家里各各插座一年甚至更久的用电情况&#xff0c;这些数据也可以通过app或者小程序展现给用户。 用户可以很直观看到自己一年的用电情况&#xff0c;哪个家…

2.6 伽马校正 一、Gamma校正

一、Gamma校正 颜色空间 通用&#xff1a;sRGB 电影&#xff1a;DCI-P3 电视&#xff1a;Rec-709、PAL等 印刷&#xff1a;CMYK、Adobe RGB 传递函数 我们知道了颜色的颜色值&#xff0c;要在电子设备上显示&#xff0c;就要把它转换为视频信号&#xff0c;传递函数就是用…

Linux上安装Keepalived,多台Nginx配置Keepalived(保姆级教程)

目录 一、yum安装 第一步&#xff1a;下载 第二步&#xff1a;编辑Keepalived配置文件&#xff08;第一台&#xff09; 第三步&#xff1a;编辑Keepalived配置文件&#xff08;第二台&#xff09; 第四步&#xff1a;我们在本机利用cmd ping一下 一、yum安装 第一步&…

[国产MCU]-BL602开发实例-开发环境搭建

开发环境搭建 文章目录 开发环境搭建1、BL602介绍2、软件准备3、源码编译3.1 编译内置工程3.2 自定义工程、自定义组件添加与编译4、固件下载BL602 是一款Wi-Fi + BLE组合的芯片组,用于低功耗和高性能应用开发。无线子系统包含2.4G无线电,Wi-Fi 802.11b/g/n和BLE 5.0 基带/MA…

【编程范式】聊聊编程的本质

任何算法都会有两个部分&#xff0c; 一个是 Logic 部分&#xff0c;这是用来解决实际问题的。另一个是 Control 部分&#xff0c;这是用来决定用什么策略来解决问题。Logic 部分是真正意义上的解决问题的算法&#xff0c;而 Control 部分只是影响解决这个问题的效率。程序运行…

单元测试之- mock工具mockito

常用的mock工具mockito 在编写单元测试时&#xff0c;需要mock依赖的对象&#xff0c;减少依赖对象对测试的影响&#xff0c;Mocktio是常用的mock工具之一&#xff0c;那么mockito提供了哪些功能呢&#xff1f; Mock对象的创建和配置&#xff1a;Mockito可以通过简单的语法创建…

WebView2对比CefSharp的超强优势

第一次使用了CefSharp组件&#xff0c;集成开发结束后&#xff0c;测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件&#xff0c;具体情况可以阅读我的博客​ ​《.NET桌面程序集成Web网页开发的十种解决方案》​​。最终选用了微软新出…

质数(判定质数 分解质因数 筛质数)

这里写目录标题 一、判定质数思路分析代码实现 二、分解质因数思路分析典型题目代码实现 三、质数筛经典题目思路分析1. 朴素筛法2. 埃氏筛法3. 欧拉筛法 一、判定质数 思路分析 由于每个合数的因子是成对出现的&#xff0c;即如果 d d d 是 n n n 的因子&#xff0c;那么 …

【python】两数之和 python实现(详细讲解)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

使用gdb打印寄存器和地址的值

目录 一、文件介绍&#xff1a;1、源码2、目标文件test13、使用dynamorio工具生成的注释文件&#xff08;后面简称它注释文件吧&#xff09; 二、使用gdb调试目标文件1、设置断点2、设置汇编格式为intel3、打开tui界面&#xff08;汇编c语言&#xff09;4、run5、查看当前指令5…

tomcat8的安装与服务启动脚本的配置并部署jpress应用

目录 一.了解tomcat8 二.下载安装包 三.安装jdk与tomcat 1.安装jdk 2.安装tomcat &#xff08;1&#xff09;解压安装包并创建软链接 &#xff08;2&#xff09;设置启动用户并更改权限 &#xff08;3&#xff09;编写系统服务文件 &#xff08;4&#xff09;重新加载文件…

【计算机视觉|语音分离】期望在嘈杂环境中聆听:一个用于语音分离的不依赖于讲话者的“音频-视觉模型”

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation 链接&#xff1a;Looking to listen at the cocktail party: a speaker-in…