首页
壁纸
留言板
友链
更多
统计归档
Search
1
TensorBoard:训练日志及网络结构可视化工具
12,595 阅读
2
主板开机跳线接线图【F_PANEL接线图】
7,385 阅读
3
Linux使用V2Ray 原生客户端
6,472 阅读
4
移动光猫获取超级密码&开启公网ipv6
5,356 阅读
5
NVIDIA 显卡限制功率
3,184 阅读
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
登录
/
注册
Search
标签搜索
好物分享
学习笔记
linux
MySQL
nvidia
typero
内网穿透
webdav
vps
java
cudann
gcc
cuda
树莓派
CNN
图像去雾
ssh安全
nps
暗通道先验
阿里云
jupiter
累计撰写
358
篇文章
累计收到
72
条评论
首页
栏目
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
页面
壁纸
留言板
友链
统计归档
搜索到
76
篇与
的结果
2023-10-13
openEuler重置root密码(单用户模式)
重启系统在进入内核引导界面时按下键盘上的“e”键进入内核编辑界面在进入内核编辑界面后移动光标往下找到linux开头一行,在行的最后面输入:init=/bin/sh输入完成后,按快捷键:Ctrl+x 进入单用户模式,加载过程大概20秒,请耐心等待输入 mount -o remount,rw /,回车后输入 passwd ,然后输入两次新密码,如果输入第一次密码后提示密码复杂度不够,可忽略,直接再次输入,同样可以更改成功。然后输入 touch /.autorelabel 回车,输入 exec /sbin/init ,进入登录界面,注意:此时需重启系统后再用新设置的密码登陆。系统重启过程中,进入登录界面输入新设置的root密码,登录系统
2023年10月13日
553 阅读
0 评论
1 点赞
2023-08-22
openvpn配置客户端静态IP
1.应用背景有多个内网及公网的机器需要打通然后部署了openvpn服务,但是一旦有机器重启就好导致ip发生变化,因此需要想办法固定IP。查找了一些资料后记录如下。2.配置步骤在 VPN 服务器上创建一个客户端配置文件目录。例如,可以在/etc/openvpn/ccd 目录下创建一个子目录。sudo mkdir /etc/openvpn/ccd编辑 VPN 服务器配置文件,添加以下内容:client-config-dir /etc/openvpn/ccd ifconfig-pool-persist ipp.txt这样配置将告诉 OpenVPN 使用 /etc/openvpn/ccd 目录中的配置文件为每个客户端分配固定的 IP 地址,并将 IP 地址持久保存在 ipp.txt 文件中。对于每个客户端,创建一个与其名称对应的配置文件,并指定需要分配给该客户端的固定 IP 地址。例如,如果有一个名为 client1 的客户端,可以创建一个名为 /etc/openvpn/ccd/client1 的文件,并在其中写入以下内容:ifconfig-push 10.8.0.10 255.255.255.0这将分配 IP 地址 10.8.0.10 给 client1。你可以为每个客户端创建类似的配置文件,只需更改 IP 地址即可。重启 OpenVPN 服务,使配置生效。sudo service openvpn restart现在,每个客户端连接到 VPN 服务器时,将被分配其对应的固定 IP 地址。请注意,每个客户端的配置文件将根据其名称匹配到相应的 IP 地址。参考资料OpenVPN设置客户端固定IP - 知乎 (zhihu.com)OpenVPN 添加用户分配静态ip (liuyingguang.cn)
2023年08月22日
2,504 阅读
0 评论
0 点赞
2023-08-21
nmap主机&端口扫描工具学习笔记
1.Nmap简介Nmap是一款非常强大的主机发现和端口扫描工具,而且nmap运用自带的脚本,还能完成漏洞检测,同时支持多平台。官网为:www.nmap.org。一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。1.1 Nmap的优点:灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描强大。Nmap可以用于扫描互联网上大规模的计算机可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍社区支持。Nmap背后有强大的社区团队支持1.2 Nmap包含四项基本功能:主机发现 (Host Discovery)端口扫描 (Port Scanning)版本侦测 (Version Detection)操作系统侦测 (Operating System Detection)而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑),首先需要进行主机发现,随后确定端口状态,然后确定端口上运行的具体应用程序和版本信息,然后可以进行操作系统的侦测。而在这四项功能的基础上,nmap还提供防火墙和 IDS 的规避技巧,可以综合运用到四个基本功能的各个阶段。另外nmap还提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。2.常用命令2.1 端口扫描2.1.1 默认扫描1000个端口扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口)alpine1:~# nmap 127.0.0.1 Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-21 08:19 UTC Nmap scan report for alpine1.mshome.net (127.0.0.1) Host is up (0.0000070s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http2.1.2 指定端口扫描nmap 192.168.31.180 -p 80 nmap 192.168.31.180 -p 1-80 nmap 192.168.31.180 -p 80,3389,22,21 nmap 192.168.31.180 -p 1-655352.1.3 设置扫描方式-sS 使用TCP的SYN进行扫描 -sT 使用TCP进行扫描 -sA 使用TCP的ACK进行扫描 -sU UDP扫描 -sI Idle扫描 -sF FIN扫描 -b<FTP中继主机> FTP反弹扫描2.2 主机探测扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。本质上是Ping扫描,能Ping通有回包,就判定主机在线。alpine1:~# nmap -sP 172.31.126.0/24 Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-21 08:29 UTC Nmap scan report for alpine1.mshome.net (172.31.126.219) Host is up. Nmap done: 256 IP addresses (1 host up) scanned in 10.44 seconds2.3 服务识别扫描端口时,默认显示端口对应的服务,但不显示服务版本。想要识别具体的「服务版本」,可以使用 -sV 参数。nmap 127.0.0.1 -p 80 -sV2.4 操作系统识别想要识别「操作系统版本」,可以使用 -O 参数。alpine1:~# nmap -p 80 -O 127.0.0.1 Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-21 08:37 UTC Nmap scan report for alpine1.mshome.net (127.0.0.1) Host is up (0.000051s latency). PORT STATE SERVICE 80/tcp open http Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6.32 OS details: Linux 2.6.32 Network Distance: 0 hops OS detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 1.74 seconds参考资料黑客工具之Nmap详细使用教程 - 掘金 (juejin.cn)Nmap使用教程图文教程(超详细) - 知乎 (zhihu.com)nmap命令-----基础用法 - nmap - 博客园 (cnblogs.com)
2023年08月21日
41 阅读
0 评论
0 点赞
2023-08-09
linux 的防火墙 ufw、firwalld、iptables
1.防火墙综述linux 防火墙,常用的包括三种:ufw 、 firewalld 和 iptables。UFW、firewall、iptables,其中,UFW是Debian系列的默认防火墙,firewall 是红帽系列7及以上的防火墙(如CentOS7.x),iptables是红帽系列6及以下(如CentOS6.x)的防火墙,3者学习难度依次递增。常见的防火墙分为两种,一种是3层防火墙,另一种是 7 层防火墙。在 TCP/IP 的七层网络中,第三层是网络层,三层防火墙会在这层对源地址和目标地址进行检测。但七层防火墙会对 源端口、目标端口、源ip、目标ip 全都进行检测。2.ufw2.1 概述因为原生的 iptable 配置麻烦,学习成本较高。 ufw全称 Uncomplicated Firewall 是 ubuntu提供的一个 iptables 的接口。同时支持 ipv4 和 ipv6。最新版的UFW默认启用了IPV6配置,你也可以通过以下命令进行检查:# cat /etc/default/ufw | grep -i ipv6 IPV6=yes2.2 默认策略默认情况下,UFW 设置了:禁止所有流量转入,允许所有流量转出。(这点和 iptable 的默认允许所有流量转入不同)。我们也可以更改此默认配置:cat /etc/default/ufw |grep -i default_input # 加 -i 是关闭大小写区分。 DEFAULT_INPUT_POLICY="DROP"2.3 安装启动与关闭sudo apt-get install ufw # 安装 sudo ufw enable # 启动防火墙并设置开机启动 sudo ufw default deny # 关闭外部主机对本机的访问(不影响本机对外部主机访问) sudo ufw disable # 关闭防火墙并关闭开机自启 sudo ufw status # 查看防火墙状态2.4 设置UFW规则sudo ufw allow port_number // 开放 port_number 端口 sudo ufw allow from 192.168.1.1 // 允许指定主机的访问 sudo ufw allow ssh // 禁止外部访问ssh服务 # 由于在/etc/services中, 22端口对应的服务名是ssh。 # 上面的命令也等价于sudo ufw allow 22 sudo ufw allow 80/tcp // 也可以指定端口号和协议 // 当没有给出协议的时候,UFW 同时创建tcp和udp的规则。 sudo ufw allow 7100:7200/tcp // 批量管理端口 sudo ufw allow from 64.63.62.61 to any port 22 // 允许指定 IP 地址访问指定端口 sudo ufw allow from 192.168.1.0/24 to any port 3306 // 允许子网 sudo ufw deny from 23.24.25.0/24 //禁止来自23.24.25.0/24的所有连接 sudo ufw allow in on eth2 to any port 3306 // 允许指定网络接口的连接 sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443 //禁止从23.24.25.0/24对80和443端口的访问 2.5 删除 UFW 规则有两种不同的方式可以删除 UFW 规则。通过规则序号和通过指定的规则。通过规则序号来删除 UFW 规则很简单,特别是你刚接触 UFW。想要通过规则序号来删除,你需要找到你想删除的规则序号。想要这么做,运行下面的命令:sudo ufw status numbered输出:Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 8080/tcp ALLOW IN Anywhere想要删除规则,序号为3,这个规则允许对端口8080的连接,你可以使用下面的命令:sudo ufw delete 3删除规则的第二种方法就是指定实际的规则。例如,如果你添加过一个打开端口8069的规则,你可以通过下面的命令删除它:sudo ufw delete allow 80692.6 重置 UFW重置 UFW 将会禁用 UFW,删除所有激活的规则。如果你想撤销所有的应用规则,并且重新开始时,这个很有用。想要重置 UFW,简单输入下面的命令:sudo ufw reset3.firewall3.1 概述Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。关于 firewall 防火墙配置,需要注意的是:这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。3.2 规则配置查看默认域的配置firewall-cmd --list-all应急命令firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆 firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh firewall-cmd --query-panic # 查看是否为应急模式管理端口firewall-cmd --add-port=<port>/<protocol> # 添加端口/协议(TCP/UDP) firewall-cmd --remove-port=<port>/<protocol> # 移除端口/协议(TCP/UDP) firewall-cmd --list-ports # 查看开放的端口开放指定端口,并重新加载firewall-cmd --add-port=443/tcp --permanent # 开放端口 firewall-cmd --reload # 重新加载 firewall-cmd --query-port=443/tcp # 查询是否放开4.iptables通过四表五连进行管理,比较复杂,暂时放弃学习,等用到了再学。参考资料linux 的防火墙 ufw、firwalld、iptables 、 - 沧海一声笑rush - 博客园 (cnblogs.com)ubuntu防火墙设置 (ufw、iptables)-小白实操记录如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙 - 知乎 (zhihu.com)Linux 防火墙教程:IPTables 表、链、规则基础-云社区-华为云 (huaweicloud.com)iptables的四表五链与NAT工作原理 - 知乎 (zhihu.com)
2023年08月09日
475 阅读
1 评论
0 点赞
2023-06-06
ossfs:Linux挂载阿里云oss Bucket
1.简介ossfs允许您在Linux系统中将对象存储OSS的存储空间(Bucket)挂载到本地文件系统。挂载完成后,您能够像操作本地文件一样操作OSS的对象(Object),从而实现数据共享。下载地址Linux发行版下载Ubuntu 20.04 (x64)ossfs_1.80.7_ubuntu20.04_amd64.debUbuntu 18.04 (x64)ossfs_1.80.7_ubuntu18.04_amd64.debUbuntu 16.04 (x64)ossfs_1.80.7_ubuntu16.04_amd64.debUbuntu 14.04 (x64)ossfs_1.80.7_ubuntu14.04_amd64.debCentOS 8.0 (x64)ossfs_1.80.7_centos8.0_x86_64.rpmCentOS 7.0 (x64)ossfs_1.80.7_centos7.0_x86_64.rpmAnolis8/Alibaba Cloud Linux 3ossfs_1.80.7_anolisos8.0_x86_64.rpmAnolis7/Alibaba Cloud Linux 2ossfs_1.80.7_anolisos7.0_x86_64.rpm2.安装2.1 下载安装下载安装包。以下载CentOS 7.0 (x64)版本为例:sudo wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm安装ossfs。Ubuntu系统以Ubuntu 16.04 (x64)版本为例,安装命令如下:sudo apt-get update sudo apt-get install gdebi-core sudo gdebi ossfs_1.80.6_ubuntu16.04_amd64.debCentOS系统以CentOS 7.0(x64)版本为例,安装命令如下:sudo yum install ossfs_1.80.6_centos7.0_x86_64.rpm2.2 源码安装安装编译环境Ubuntu 14.04:sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \ libfuse-dev libssl-dev libxml2-dev make pkg-configCentOS 7.0:sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \ fuse-devel make openssl-devel编译并安装git clone https://github.com/aliyun/ossfs.git cd ossfs ./autogen.sh ./configure make sudo make install3.使用3.1 配置账号访问信息。将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的权限建议设置为640。sudo echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs sudo chmod 640 /etc/passwd-ossfsBucketName、yourAccessKeyId、yourAccessKeySecret请按需替换为您实际的Bucket名称、AccessKey ID和AccessKey Secret,例如:sudo echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs sudo chmod 640 /etc/passwd-ossfs3.2 将Bucket挂载到指定目录。sudo ossfs BucketName mountfolder -o url=Endpoint说明 如果是root用户,命令中不需要增加sudo。增加sudo会导致无法挂载,报错sudo: ossfs: command not found。将北京地域名称为caucshop的Bucket挂载到/ossfs目录下的示例如下:sudo mkdir /ossfs sudo ossfs caucshop /ossfs -o url=http://oss-cn-beijing.aliyuncs.com重要 如果您使用从阿里云购买的云服务器ECS来提供ossfs服务,您可以使用内网域名。例如,在该示例中您可以将OSS Endpoint 修改为oss-cn-hangzhou-internal.aliyuncs.com,从而节省流量费用。有关OSS内网域名的更多信息,请参见访问域名和数据中心。3.3 取消挂载sudo fusermount -u /tmp/ossfs参考资料快速安装 (aliyun.com)aliyun/ossfs: Export s3fs for aliyun oss. (github.com)
2023年06月06日
723 阅读
0 评论
0 点赞
2022-11-23
[LibreSpeed]:自建speedtest(服务器带宽测试工具)
1.背景自建了web服务有时候服务卡顿的时候想要测试一下客户端到服务器的带宽,使用专门的工具比较繁琐。因此考虑在服务器上搭建speedtest2.搭建步骤(基于宝塔)2.1 创建站点可以用域名-需要实现解析,也可以用IP:端口的方式访问$\color{red}{上面有个错误示范,PHP版本需要选,不能不指定PHP}$2.2 下载源码cd /www/wwwroot/speedtest.inat.top wget https://codeload.github.com/librespeed/speedtest/tar.gz/refs/tags/5.2.5/speedtest-5.2.5.tar.gz tar xzvf speedtest-5.2.5.tar.gz mv speedtest-5.2.5/* ./2.3 修改首页rm index.html cp example-singleServer-full.html index.html2.4 访问测试参考资料1.https://github.com/librespeed/speedtest
2022年11月23日
1,281 阅读
1 评论
0 点赞
2022-11-17
PIP换源
PIP换源1.临时换源使用-i参数指定临时源,任选一个即可#清华源 pip3 install markdown -i https://pypi.tuna.tsinghua.edu.cn/simple #阿里源 pip3 install markdown -i https://mirrors.aliyun.com/pypi/simple/ #腾讯源 pip3 install markdown -i https://mirrors.cloud.tencent.com/pypi/simple #豆瓣源 pip3 install markdown -i https://pypi.douban.com/simple/2.永久换源#清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #阿里源 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ #腾讯源 pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple #豆瓣源 pip config set global.index-url https://pypi.douban.com/simple/ #换回默认源 pip config unset global.index-url
2022年11月17日
350 阅读
0 评论
0 点赞
2022-06-19
linux搭建ntp时间同步服务器
1.NTP简介NTP是Network Time Protocol的缩写,又称为网络时间协议。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议。为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。2.服务器配置2.1 安装sudo apt-get install ntp2.2 修改配置(利用server设定上层NTP服务器)sudo vim /etc/ntp.conf上层NTP服务器的设定方式为:server [IP OR HOSTNAME] [PREFER]常见的时间服务器server 2.cn.pool.ntp.org server 3.asia.pool.ntp.org server 0.cn.pool.ntp.org写入到配置文件启动ntp服务/etc/init.d/ntp start3.客户端使用服务同步时间sudo apt install ntpdate ntpdate ${服务器IP}root@wky:~# ntpdate amd.inat.top 19 Jun 01:02:33 ntpdate[3236]: step time server 10.1.131.250 offset 13812059.680274 sec root@wky:~# date 2022年 06月 19日 星期日 01:02:39 +09参考资料Ubuntu搭建NTP服务器ubuntu安装ntp服务器(linux配置ntp服务器)
2022年06月19日
714 阅读
0 评论
0 点赞
2022-06-17
Linux搭建搭建Hadoop环境
1.准备工作1.1 准备机器准备若干台Linux的机器(1-n),物理机虚拟机均可1.2 关闭selinux(每台机器)sudo vim /etc/sysconfig/selinuxreboot1.3 安装JDK(每台机器)下载解压jdkcd /software tar -zxvf jdk-8u201-linux-x64.tar.gz mv jdk1.8.0_201/ java修改环境变量,在末尾添加如下内容sudo vim /etc/profileexport JAVA_HOME=/software/java export PATH="$JAVA_HOME/bin:$PATH"source /etc/profile验证(注意如果是openjdk版本的把openjdk版本的删除掉)(base) [jupiter@centeros bin]$ java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)2.搭建hadoop伪分布式(单节点)2.1 下载并解压hadoop官网:https://hadoop.apache.org/cd /software wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.1/hadoop-3.3.3.tar.gz tar -xzvf hadoop-3.3.3.tar.gz mv hadoop-3.3.3 hadoop cd hadoop配置相关环境变量sudo vim /etc/profile # 加入如下内容 #HADOOP_HOME export HADOOP_HOME=/software/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbinsource /etc/profile2.2 修改hadoop相关配置主要需要配置四个文件,对应hadoop四大模块,均位于etc/hadoop下面hadoop四大模块common:core-site.xmlcommon 及核心公共模块,默认配置(core-site.xml),主要包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的APIhdfs (hadoop distribute file system):hdfs-site.xml分布式文件系统,提供对应用程序数据的高吞吐量,高伸缩性,高容错性的访问。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。(namenode+datanode+secondarynode)mapreduce:mapred-site.xmlmapreduce 是一种分而治之思想,是一种计算模型,用以进行大数据量的计算。Hadoop的MapReduce实现,和Common、HDFS一起,构成了Hadoop发展初期的三个组件。MapReduce将应用划分为Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。mapreduce的运行流程 input->map->shuffle->reduce->output 。input 数据输入文件分片,map负责就进数据处理,多个mapper之间并行处理,shuffle负责数据混淆分区、排序、拷贝、分组、压缩等操作,完成后将数据传给reduce进行处理,reduce负责对map阶段的数据进行汇总。yarn:yarn-site.xmlYarn是Hadoop集群的资源管理系统,由两部分功能组成资源管理和任务调度监控主要的组件,ResourceManager:Global(全局)的进程 ;NodeManager:运行在每个节点上的进程,ApplicationMaster:Application-specific(应用级别)的进程,向rm申请资源,对运行在datanode的应用进行监控;Scheduler:是ResourceManager的一个组件,Container:节点上一组CPU和内存资源容器。core-site.xml<configuration> <!-- 指定HDFS老大(namenode)的通信地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <!-- 指定hadoop运行时产生文件的存储路径 --> <name>hadoop.tmp.dir</name> <value>/software/hadoop/tmp</value> </property> </configuration>hdfs-site.xml<configuration> <!--配置hdfs副本数量--> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>mapred-site.xml<configuration> <!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>yarn-site.xml<configuration> <!-- 通知框架MR使用YARN --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>2.3 运行Hadoop修改etc/hadoop/hadoop-env.shexport JAVA_HOME="/software/java"初始化HDFS系统hdfs namenode -format启动hadoop#先启动HDFS sbin/start-dfs.sh #再启动YARN sbin/start-yarn.sh查看进程信息jps(base) [jupiter@centeros hadoop]$ jps 32613 SecondaryNameNode 374 ResourceManager 903 Jps 521 NodeManager 32222 NameNode4.验证http://centeros.inat.top:9870/:HDFS管理界面http://centeros.inat.top:8088/:MapReduce管理界面3.搭建hadoop分布式(集群)参考:https://github.com/AdamJupiter/BigData/blob/master/hadoop%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/hadoop2.0%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA.md参考资料centeros安装java8hadoop伪分布式环境搭建,完整的详细步骤Hadoop-单节点配置hadoop常用配置文件https://github.com/AdamJupiter/hadoop-guide
2022年06月17日
981 阅读
0 评论
0 点赞
2022-06-15
Prometheus+Grafana:Linux设备群监控系统
1.Prometheus1.1. Prometheus简介Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。Promethus有以下特点:支持多维数据模型:由度量名和键值对组成的时间序列数据内置时间序列数据库TSDB支持PromQL查询语言,可以完成非常复杂的查询和分析,对图表展示和告警非常有意义支持HTTP的Pull方式采集时间序列数据支持PushGateway采集瞬时任务的数据支持服务发现和静态配置两种方式发现目标支持接入Grafana1.2. Prometheus架构1.2.1. Prometheus Server主要负责数据采集和存储,提供PromQL查询语言的支持。包含了三个组件:Retrieval: 获取监控数据TSDB: 时间序列数据库(Time Series Database),我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的。具备以下特点:大部分时间都是顺序写入操作,很少涉及修改数据删除操作都是删除一段时间的数据,而不涉及到删除无规律数据读操作一般都是升序或者降序HTTP Server: 为告警和出图提供查询接口1.2.2. 指标采集Exporters: Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取Pushgateway: 支持临时性Job主动推送指标的中间网关1.2.3. 服务发现Kubernetes_sd: 支持从Kubernetes中自动发现服务和采集信息。而Zabbix监控项原型就不适合Kubernets,因为随着Pod的重启或者升级,Pod的名称是会随机变化的。file_sd: 通过配置文件来实现服务的自动发现1.2.4. 告警管理通过相关的告警配置,对触发阈值的告警通过页面展示、短信和邮件通知的方式告知运维人员。1.2.5. 图形化展示通过PromQL语句查询指标信息,并在页面展示。虽然Prometheus自带UI界面,但是大部分都是使用Grafana出图。另外第三方也可以通过 API 接口来获取监控指标。2.Prometheus简单部署2.1 部署和配置prometheus(在监控中心布置)下载prometheus(网页下载地址:https://prometheus.io/download/)wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz tar -xvf prometheus-2.36.1.linux-amd64.tar.gz mv prometheus-2.36.1.linux-amd64 prometheus cd prometheus修改配置文件vim prometheus.yml# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] # node_exporter 监控数据采集 - job_name: 'node' static_configs: - targets: - "3090.inat.top:9100" - "v100.inat.top:9100" - "raspberry.inat.top:9100" - "agx.inat.top:9100" - "nx.inat.top:9100" - "nano.inat.top:9100"检查配置文件./promtool check config prometheus.yml启动测试./prometheus配置开机自启动sudo vim /etc/systemd/system/prometheus.service[Unit] Description=prometheus service After=network.target [Service] ExecStart=/software/prometheus/prometheus --config.file=/software/prometheus/prometheus.yml Restart=always RestartSec=20 TimeoutSec=300 User=root Group=root StandardOutput=journal StandardError=journal WorkingDirectory=/software/prometheus/ [Install] WantedBy=default.targetsudo systemctl daemon-reload sudo systemctl start prometheus.service sudo systemctl enable prometheus.servicesudo systemctl status prometheus.service2.2 部署Node-Exporter(在被监控的机器上布置)下载Node-Exporter(网页下载地址:https://prometheus.io/download/)wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz tar -xvf node_exporter-1.0.1.linux-amd64.tar.gz mv node_exporter-1.0.1.linux-amd64 node_exporter cd node_exporter创建monitor用户和组sudo groupadd -g 9100 monitor sudo useradd -g 9100 -u 9100 -s /sbin/nologin -M monitor修改对应文件夹的权限sudo chown -R monitor.monitor /software/node_exporter启动测试./node_exporter配置开机自启动sudo vim /etc/systemd/system/node_exporter.service[Unit] Description=node-exporter service After=network.target [Service] User=monitor Group=monitor KillMode=control-group Restart=on-failure RestartSec=60 ExecStart=/software/node_exporter/node_exporter [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload sudo systemctl start node_exporter.service sudo systemctl enable node_exporter.servicesudo systemctl status node_exporter.service3.部署Grafana(在监控中心部署)下载Grafana(网页下载地址:https://grafana.com/grafana/download)sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/enterprise/release/grafana-enterprise_8.5.5_amd64.deb sudo dpkg -i grafana-enterprise_8.5.5_amd64.deb设置开机自启动 sudo /bin/systemctl daemon-reload sudo /bin/systemctl start grafana-server sudo /bin/systemctl enable grafana-server sudo /bin/systemctl status grafana-server访问测试(默认用户名和密码均为admin)添加数据源添加dashbord查看dashbord参考资料Prometheus看完这些,入门就够了Prometheus 重启失败的教训Prometheus(普罗米修斯)监控Prometheus(普罗米修斯)监控系统(一)https://grafana.com/grafana/downloadhttps://prometheus.io/download/
2022年06月15日
967 阅读
0 评论
0 点赞
2022-06-13
ubuntu挂载新硬盘
1.定位新硬盘(base) 3090@3090:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 1.8T 0 disk /data sr0 11:0 1 1024M 0 rom sdc 8:32 0 14.6T 0 disk └─sdc1 8:33 0 14.6T 0 part sda 8:0 0 477G 0 disk ├─sda2 8:2 0 7.6G 0 part [SWAP] ├─sda3 8:3 0 468.4G 0 part / └─sda1 8:1 0 976M 0 part /boot/efi发现待挂载的硬盘为sdc12.硬盘格式化mkfs -t ext4 /dev/sdc1mke2fs 1.42.13 (17-May-2015) /dev/sdc1 contains a xfs file system Proceed anyway? (y,n) y Creating filesystem with 3906469376 4k blocks and 488308736 inodes Filesystem UUID: ed6952c9-b147-4cfb-b68f-d79e4fcecbb5 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 2560000000, 3855122432 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done3.挂载3.1 手动挂载挂载到挂载点/16tsudo mount /dev/sdc1 /16t查看挂载结果(base) 3090@3090:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 63G 0 63G 0% /dev tmpfs 13G 19M 13G 1% /run /dev/sda3 461G 31G 407G 8% / tmpfs 63G 180K 63G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 63G 0 63G 0% /sys/fs/cgroup /dev/sdb 1.8T 9.2G 1.7T 1% /data /dev/sda1 975M 4.3M 970M 1% /boot/efi tmpfs 13G 64K 13G 1% /run/user/1000 tmpfs 13G 0 13G 0% /run/user/1001 /dev/sdc1 15T 9.1M 14T 1% /16t3.2 配置开机自动挂载查看UUID(base) 3090@3090:~$ sudo blkid /dev/sdc1 /dev/sdc1: UUID="ed6952c9-b147-4cfb-b68f-d79e4fcecbb5" TYPE="ext4" PARTLABEL="primary" PARTUUID="bbcf63f5-3927-41e8-abc6-ca9062aec08c"修改/etc/fstabsudo vim /etc/fstab# 在末尾添加如下内容 UUID=ed6952c9-b147-4cfb-b68f-d79e4fcecbb5 /16t auto defaults 0 0 参考资料Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)ubuntu 挂载硬盘指令fstab挂载参数
2022年06月13日
496 阅读
0 评论
0 点赞
2022-06-13
ubunt设置静态IP
1.查看网卡名,确定需要配置的目标网卡ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether d8:9e:f3:35:c3:66 brd ff:ff:ff:ff:ff:ff inet 10.1.9.50/24 brd 10.1.9.255 scope global enp0s25 valid_lft forever preferred_lft forever inet6 2001:da8:a012:2da:f3c5:dc14:1316:2268/64 scope global noprefixroute dynamic valid_lft 2591982sec preferred_lft 604782sec inet6 fe80::e49c:f19c:2e03:e014/64 scope link valid_lft forever preferred_lft forever 3: enp8s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether d8:9e:f3:35:c3:74 brd ff:ff:ff:ff:ff:ff2.对指定网卡enp0s25设置固定IPsudo vim /etc/network/interfaces增加如下内容auto enp0s25 # 设置自动启动enp0s25接口 iface enp0s25 inet static # 配置静态IP address 10.1.9.67 # IP地址 netmask 255.255.255.0 # 子网掩码 gateway 10.1.9.1 # 网关3.重启网络sudo /etc/init.d/networking restart参考资料ubuntu 查看网卡的网关_Ubuntu系统怎么设置静态ip?同样适用于深度系统的教程Ubuntu系统设置静态IP
2022年06月13日
427 阅读
0 评论
0 点赞
2022-06-07
NVIDIA 显卡限制功率
1.应用背景给实验室的一台服务器Dell T7910加装了两块3090显卡,但是由于供电口不够,所有用了两个6pin转8pin的转接线进行转接,导致显卡的电源输入功率不够,跑实验的时候一跑到满载就会扛不住关机重启,暂时无法更换电源,因此考虑对显卡功率进行限制。2.配置实现2.1 临时设置nvidia-smi -pm 1 # enable persistance mode nvidia-smi -pl 250 # set power limit to 250W3090配置前的最大功率为350W,因供电原因配置限制后的最大功率为250W2.2 永久设置新建nvidia-setpower.service文件sudo vim /etc/systemd/system/nvidia-setpower.service[Unit] Description=Nvidia SetPower Service After=network.target Wants=network.target [Service] Type=simple PIDFile=/run/nvidia-setpower.pid ExecStart=sh /usr/bin/nvidia-setpower.sh Restart=on-failure # Don't restart in the case of configuration error RestartPreventExitStatus=23 [Install] WantedBy=multi-user.target新建nvidia-setpower.shsudo vim /usr/bin/nvidia-setpower.shsudo nvidia-smi -pm 1 sudo nvidia-smi -pl 250sudo nvidia-smi -i 1 -pl 250,-i可以指定第几个显卡。设置服务开机启动:systemctl daemon-reload systemctl start nvidia-setpower.service systemctl enable nvidia-setpower.service参考资料NVIDIA 显卡在 Ubuntu下限制其功率的方法ubuntu 永久 设置 降低N显卡功率 nvidia-smi
2022年06月07日
3,184 阅读
2 评论
0 点赞
2022-05-13
cifs:Ubuntu 挂载 Samba 共享文件夹
1.安装cifs-utifssudo apt-get install cifs-utils2.列举指定IP地址所提供的共享文件夹列表sudo apt install smbclient smbclient -L ${ip_addr} -U ${username}%${password}3.挂载共享文件夹sudo mount -t cifs //指定SambaIP/文件夹名 /mnt/ -o username=${username},password=${password},iocharset=utf8,vers=1.04.实现开机自动挂载在/etc/fstab的末尾加入如下内容vim /etc/fstab//指定SambaIP/文件夹名 /mnt/ cifs defaults,username=${username},password=${password},iocharset=utf8,vers=1.0参考资料Ubuntu 挂载 Samba 共享文件夹Ubuntu 下挂载samba 服务
2022年05月13日
808 阅读
0 评论
0 点赞
2022-03-17
Linux批量修改文件后缀名
1.find+awk+xargs# .jpg-->.xml find ./ -name "*.jpg" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.jpg ./{}.xml2.shell脚本#!/bin/bash find ./ -name *.jpg | while read i do echo "$i"; mv $i.jpg $i.xml done参考资料详解Linux批量更改文件后缀名
2022年03月17日
829 阅读
0 评论
0 点赞
1
2
3
...
6