旅行者的狂歡:一加 9RT 原神限定禮盒開啟預約:附送大量遊戲周邊和道具
linux總結
- 電腦的種類
- 伺服器的種類
- linux基本操作命令
- 異常情況
- 檔案目錄結構說明
- 大資料概念
- HDFS概念
- 公鑰私鑰
- Paramiko模組
- Hadoop目錄結構
- 偽分散式模式
- 偽分佈的YARM配置
- 配置日誌採集
- 完全分散式(開發重點)
電腦的種類
- 桌上型電腦
- 筆記本
- 伺服器
作業系統
作業系統的誕生
由於管理、協調、控制計算機各個硬體的工作
現在適用的很多軟體都必須執行在作業系統上
作業系統分類
windows,linux,macOS
伺服器的種類
雲主機伺服器
物理主機伺服器
五大組成部分
- 電源
- 主機板
- CPU
- 記憶體
- 硬碟
- 散熱系統
工作原理
1.電源:
冗餘技術:UPS(不間斷電源系統)、雙路或多路供電、發電機
2.CPU:
做資料運算處理
CPU路數:單路==1個 雙路==2個 四路==4個
CPU核數:把CPU比喻成廠房, 將CPU中的核數比喻成廠房中的工人, CPU核數是真正處理工作任務,CPU核數越多, 同時處理工作任務的效率越高
3.記憶體:
臨時儲存資料(斷電資料即丟失)
程式 程序(儲存在記憶體中) 守護程序
程式碼 執行起來的程式 根本停不下來的程序
4.硬碟:
永久儲存資料(斷電資料不會丟失)
硬碟種類:
機械硬碟(效能低) 固態硬碟(效能高) 硬碟介面(茶壺壺嘴):SATA< SCSI <SAS <PCI-E
伺服器磁碟陣列
1.伺服器上有多塊硬碟保證資料不容易丟失
2.伺服器上儲存資料較多可以將多塊硬碟進行整合
3.伺服器上儲存大容量資料效率更高
按照不同級別進行多塊硬碟整合:
raid0,raid1,raid5
5.遠端管理卡:
遠端控制管理伺服器的執行狀態
遠端安裝作業系統
遠端配置raid陣列資訊
PS:一定要確認遠端管理卡的預設地址資訊
6.光碟機(安裝系統)-- 淘汰
U盤安裝系統
kickstart cobbler -- 無人值守安裝系統
7.機櫃
機櫃裡面線纜一定要佈線整齊 設定標籤
什麼是虛擬化
將一臺計算機硬體"拆分"成多份分配使用
系統分割槽說明
standard parition:標準分割槽
LVM:特殊分割槽 進行分割槽動態擴容/縮容
通用方案
/boot:啟動分割槽,儲存和系統啟動相關的檔案
swap:交換分割槽,臨時將硬碟的多餘容量變為記憶體使用
記憶體<8GBswap分割槽大小=1.5倍記憶體容量
/: 根本區 將剩餘容量都給根等價於C盤
資料比較重要的場景
/boot:200M
swap:1G,2G,分割槽大小=1.5倍記憶體容量
/:20G-200G
/data:剩餘空間
靈活的分割槽方案
/boot:200M
swap:1G,2G,分割槽大小=1.5倍記憶體容量
/:20G-200G
剩餘空間不用分配
不支援很多滑鼠操作(快捷鍵)
如果虛擬機器出現故障需要親自去除錯太麻煩
解決上述問題的方式就是藉助於第三方連結工具
secureCRT 收費版(破解版是有⻛險) xshell(推薦使⽤) "免費版" putty 沒有什麼功能 只能滿⾜遠端連線
IP地址
每個連入網路的計算機都有一個IP地址,用於訪問網路,類似身份證號,網路分類:IPV4、IPV6版本
PORT號
一臺計算機上執行多個程式,為了便於管理有埠號的概念,埠號有一定的範圍並且是隨機分配的,每個程式都有埠號
IP + PORT
能夠定位到具體的一臺計算機上面的某個應用程式
linux基本操作命令
""" 命令提示符 [root@XXXX ~]# root表示⽤戶名資訊 @為分隔符 XXXX為主機名稱 ~表示所處⽬錄位置,預設是家⽬錄 """
1.檢視網絡卡資訊
ip a
2.測試網路
ping ip地址
3.檢視當前路徑下的檔案資訊(檔案、資料夾...)
ls
4.檢視linux系統下總命令數
連續按tab鍵即可
5.如何清空當前視窗資訊
clear
6.切換檔案路徑
cd 路徑名
7.返回上一級目錄
cd .. # 返回多級需要加斜槓 cd ../..
""" 幫助命令 man(mannual) eg:man 命令資訊 命令幫助資訊中 語法中的中括號資訊可有可無 ps:有些命令是不能通過man手冊獲取幫助資訊 """
系統命令
關機命令
shutdown shutdown -h 10 # 指定多少分鐘後進行關機 shutdown -c # 取消關機方案 shutdown -h 0/now # 立即關機
重啟命令
# 使用方法與關機差不多 shutdown shutdown -r 10 # 指定多少分鐘後進行重啟 shutdown -r 0/now # 表示進行立即重啟操作 shutdown -c # 取消重啟方案
1. 顯示歷史輸⼊命令資訊
利⽤⽅向鍵 上 下 或者輸入history檢視完整命令列表
2. 清楚所有螢幕資訊輸出
ctrl 鍵+ l
3. 中斷取消命令執行過程
ctrl鍵 + c # cancel 取消
4.快速移動游標到行首
ctrl鍵 + a
5. 快速移動游標到行尾
ctrl鍵+ e
6.將游標所在位置到行首的資訊進行刪除(剪下)
ctrl鍵 + u # 將游標所在位置到行尾的資訊進行刪除(剪下) ctrl鍵 + k
7. 將剪下內容進行貼上回來
ctrl鍵+ y
8. 鎖定系統視窗資訊狀態
ctrl鍵 + s # 解鎖系統視窗資訊狀態 ctrl鍵 + q
9. 系統命令補全快捷方式
tab鍵
10.命令列中快速移動游標
# 按照英文單詞進行移動游標 ctrl鍵 + 方向鍵 左 右
1 顯示當前路徑資訊
pwd
2 切換目錄結構
cd # 改變目錄位置 cd - # 快速切換路徑,返回到上一次所在路徑資訊 cd .. # 快速切換路徑,返回到當前路徑的上一級目錄中 cd ../.. # 上多級
3建立目錄結構
mkdir
eg:
建立多級目錄需要加引數-p
mkdir -p /oldgirl/oldbaby/heihei
建議:
''' 建立目錄時以絕對路徑建立目錄'''
''' 強調:在linux系統中,儘量不要輸入中文符號資訊(命令列) '''
1)如何建立檔案資訊
touch 檔案
2)如何檢查檔案或目錄是否存在
ls # list # 顯示檔案/目錄資料詳細資訊 ls -l a.txt # ls -ltr a.txt 倒序
3)如何檢視檔案資訊
cat 檔案
4)在空檔案中生成資料資訊
echo # 將資訊進行輸出 echo hello world # 等價於print('hello world') echo hello world > a.txt # w模式寫入檔案 echo baby.com >> a.txt # 追加模式寫入
5)對檔案或目錄資料資訊進行拷貝(複製)
語法:
cp 引數資訊 要進行復制的資訊 複製到什麼位置
常見問題:
在複製檔案時,不要在檔名稱後面加上/ 一般只有目錄後面有/ 檔案沒有存在會直接複製,如果已經存在會提示是否覆蓋 cp -a -a == -d + -r + -p -d 和連結檔案有關 -R 進行遞迴複製 -p 保持屬性不變
6)對檔案或目錄資料資訊進行剪下(移動)
mv # move mv 引數 要移動資料資訊 移動到什麼位置
7)資料的刪除命令
rm # remove rm 引數 要刪除的資料資訊 # 刪除oldboy目錄中的hosts01檔案 rm hosts01 # 刪除目錄操作 rm shanghai/ 報錯 rm -r shanghai/ 正確 # 如何強制刪除資料資訊 rm -f olddog.txt 不提示 rm -rf jason 不提示
內部自帶的vi
vi vi 你要編輯的檔案資訊
編輯檔案的操作步驟
第一個里程:利用vi命令開啟檔案
vi oldboy.txt # 檔案不存在會自動建立(先在記憶體中臨時建立)
進入到編輯模式,開始編輯檔案:
按鍵盤上小寫字母 i
進行編輯
退出編輯模式
按esc進行退出
關閉開啟的檔案
:wq w-write q-quit 儲存退出 :q! 不儲存進行退出
如何將游標快速移動到最後一行 # 大寫字母 G 如何將游標快速移動到第一行 # 小寫字母 gg 如何快速移動游標到中間指定行 # 小寫字母 10gg 如何快速移動游標到一行的行尾 # 符號資訊 shift+$ 如何快速移動游標到一行的首部 # 數字資訊 0
移動游標轉為編輯狀態
如何快速移動游標到下一行並進入編輯狀態 # 小寫字母 o 如何快速移動游標到一行的行尾並進行編輯 # 大寫字母 A 如何快速刪除游標所在位置到一行行尾所有資訊並進入編輯狀態 # 大寫字母 C 如何清空當前行的所有內容資訊並進入編輯狀態 # 小寫字母 cc
快速編輯文字內容資訊
如何複製文字資訊 # 小寫字母 yy 如何複製多行資訊 # 3yy 如何貼上文字資訊 # 小寫字母 p 如何貼上多行資訊 # 3p 如何刪除文字資訊 # 小寫字母 dd 實際是將指定行資訊進行剪下 如何刪除多行資訊 # 3dd 將游標所在行到最後一行都刪除 # 字母 dG
特殊操作文字內容方式
如何顯示文字行號資訊/如何取消行號 # :set nu/:set nonu 如何撤銷編輯資訊 # 小寫字母 u undo 如何取消撤銷操作 # ctrl + r redo 快速搜尋檔案資訊 # /待搜尋內容 n下一次匹配項
批量操作文字內容
批量刪除操作
vim是需要進行安裝的:
yum install vim tree bash-completion -y
第一個步驟:移動游標到相應位置
第二個步驟:進入到批量編輯模式(檢視塊模式)
ctrl + v
第三個步驟:選中多行資訊
第四個步驟:進行刪除
小寫字母 d 或者 x # 刪除游標選中的內容
"""vim命令比vi命令功能更加強大 但是快捷方式一致"""
在linux中用到一個東西沒有的話可以使用yum安裝
yum install vim # 安裝過程中會出現很多需要二次確認的過程 如果不想提示預設確認 yum install vim -y
異常情況
編輯過程中連結出現中斷,再次編輯檔案會提示相應資訊
解決方法:
刪除隱藏檔案
rm -f .oldboy.txt.swp
出現的原因:
1)編輯狀態突然出現了中斷 2)檔案被多個人使用 '''總結:出現了隱藏檔案,沒有及時刪除'''
檔案目錄結構說明
結構特點說明
1.linux根下面的目錄是一個有層次的樹狀結構 2.linux每個目錄可以掛載在不同的裝置(磁碟)上掛載
實踐操作實現掛載過程
1.擁有一個儲存裝置(光碟機)
2.找到相應光碟機
# ls /dev/cdrom # ls -l /dev/cdrom
3.進行掛載操作
mount /dev/cdrom /aaa/(掛載點目錄一定存在)
4.確認是否掛載成功
ls /aaa
目錄結構發展過程
一塊盤:根目錄 二塊盤:/usr目錄 繼續擴充套件>>>:FHS檔案系統目錄規範
網絡卡配置檔案
cat /etc/sysconfig/network-scripts/ifcfg-eth0
'''如果要編輯網絡卡檔案可以先提前備份一份資料''' cp XXX /tmp/XXX.bak ps:esc +. # 呼叫上一個命令最後一個引數資訊 # 網絡卡檔案修改後,必須重啟網路服務 systemctl restart network
初始化軟體安裝
# 提供命令引數補全功能 systemctl yum install -y vim tree bash-completion
網絡卡檔案引數說明
BOOTPROTO=none: 啟動協議 獲取IP地址的方法 自動獲取 dhcp手動設定
DEFROUTE=yes: 開啟了預設路由 網路(預設路由 動態路由 靜態路由)
NAME=eth0:網絡卡邏輯名稱
UUID=...:在虛擬化軟體標識一些硬體裝置資訊
DEVICE=eth0:網絡卡裝置名稱
ONBOOT=yes:確保網絡卡是否處於啟用狀態
# 當虛擬機器無法訪問外網的時候,也許使該項為no,應該改為yes
IPADDR=10.0.0.200: IP地址設定
PREFIX=24: 設定子網掩碼確保一個局域網裡面可以連線多少臺主機預設253
GATEWAY=10.0.0.254:閘道器資訊,不同區域網之間進行通訊的必經關卡 需要和虛擬編輯器中nat網絡卡設定保持一致
IPV6_PRIVACY=no
DNS=114.114.114.114:DNS 域名解析服務
網絡卡域名解析配置檔案
/etc/resolv.conf
主機名稱配置檔案
centos6主機名稱配置檔案
/etc/sysconfig/network
centos7主機名稱配置檔案所在路徑
cat /etc/hostname
本地域名解析檔案
vim /etc/hosts
網站頁面資訊變更方面:
小公司 直接除錯線上伺服器
大企業 直接除錯測試伺服器測試訪問 模擬真實環境訪問
1. 確認閘道器地址是否通暢
2. 確認網絡卡配置是否正確
3. 確認網路管理服務關閉
systemctl stop NetworkManager # 關閉網路管理服務 systemctl disable NetworkManager # 禁用網路管理服務 systemctl status NetworkManager # 檢視網路管理服務
cat /etc/fstab
臨時掛載:
mount /dev/cdrom /mnt
永久掛載:
修改一個和開機自動掛載相關的配置檔案 /etc/fstab
存放linux系統命令操作資訊的檔案
vim /etc/rc.local
系統啟動執行級別
系統啟動時候,有三種系統
A系統啟動:網路服務執行 安全服務執行 儲存服務執行 01級別 B系統啟動:安全服務執行 儲存服務執行 02級別 C系統啟動:儲存服務執行 03級別 執行啟動級別不一樣
centos6 (7種執行級別) 0 關機級別(init 0)
1 單使用者模式(重置使用者密碼資訊root 修復系統) 救援模式 2 多使用者模式 NFS (沒有網路服務) 3 多使用者模式 (命令列模式) 4 未知 未使用 5 圖形化介面模式(init 5) 6 重啟級別
centos7 (target目標)
ls /usr/lib/systemd/system/runlevel*target -l poweroff.target rescue.target multi-user.target multi-user.target multi-user.target graphical.target reboot.target
配置環境變數資訊或者別名資訊檔案(重要)
cat /etc/profile
環境變數特徵:
01. 環境變數都用大寫字母表示 02. 環境變數可以被所有使用者所使用 03. 環境一般是系統安裝就已經設定
專門用於設定別名資訊
cat /etc/bashrc
使複雜命令簡單化
ls -l /etc/hosts # 檢視檔案許可權
ll /etc/hosts # 檢視檔案許可權
別名定義優先順序:
'''別名的定義既可以在profile裡面也可以在bashrc裡設定''' /etc/profile 國法 /etc/bashrc 國法 ~/.bashrc 家規 ~/.bash_profile 家規
使用者登陸系統之後提示資訊
/etc/motd
使用者登陸系統之前提示資訊
# cat /etc/issue
/usr/local/ 用於儲存使用者安裝軟體程式資訊
linux系統如何安裝軟體(四種方式)
01. yum安裝軟體
# 可以解決軟體的依賴關係
02. rpm包方式安裝軟體
# 在系統中需要有軟體安裝包
03. 編譯安裝軟體
eg:購買食材(非成品)進行烹飪 可以靈活調整食物的味道
設定軟體安裝路徑 指定軟體功能資訊
04. 二進位制包安裝軟體
eg:小零食即食即用 方便簡單
經常發生變化的檔案儲存在variable
經常變化的檔案>>>:日誌檔案
/var/log/messages 服務執行情況資訊、系統執行或異常資訊
/var/log/secure 使用者登陸資訊儲存檔案
規律檢視日誌資訊
grep "Failed" /var/log/secure
對於日誌檔案過大必須要做切割處理
secure-0k > secure-100k > 大小範圍10M > 切割secure-bak01 secure
#cat /proc/cpuinfo
效能優化
安全優化
編碼優化
1)瞭解自己的系統情況
cat /etc/redhat-release
特徵:
01. 由大寫字母組成 02. 配置的環境變數所有使用者都必須遵循 03. 系統中預設就有的變數資訊
第一個環境變數:PS1 (命令提示符資訊)
echo $PS1
修改環境變數:
第一個里程:臨時修改
PS1="[\u@\h \w]\$" 錯誤修改環境變數方式 export PS1="[\u@\h \w]\$" 正確修改環境變數方式
第二個里程:永久修改
vim /etc/profile export PS1="[\u@\h \w]\$ " # 新增內容 source /etc/profile # 重新載入檔案內容
1)需要修改yum原始檔(指定使用哪個yum軟體倉庫) # 類似於pip換源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum repolis
2)需要修改yum擴充套件源epel源
需要下載wegt
yum install wegt -y
3)所有原始檔更新進行最終確認
yum repolist
大資料概念
1.什麼樣的資料才可以稱之為是"大資料"
1.海量:資料量一定要大 2.高增長率:一定的時間內資料快速增長 3.多樣化:資料的種類千奇百怪
2.研究大資料的目的
1.海量資料的儲存 2.海量資料的分析計算
3.重要的度量單位
bit(位)、Byte(位元組)、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB
它是相當於一款資料庫軟體,更是一個大資料神態圈
Hadoop1.X
MapReduce # 計算與資源排程 HDFS # 資料儲存 Common # 輔助工具
Hadoop2.X與3.X
MapReduce # 計算 Yarn # 資源排程 HDFS # 資料儲存 Common # 輔助工具
NameNode(nn):儲存檔案的元資料 # 相當於目錄 DataNode(dn):儲存檔案的真實資料 # 當對於文字內容 Secondary NameNode(2nn):輔助NameNode工作 # 相當於備用設施
Resource Manager:類似於大老闆 Node Manager:類似於各部門經理 Application Master:類似於部門中真正幹活的員工 Container:類似於每個部門擁有的各項資源
Map就是將複雜的任務拆分成多個小任務分發給不同的節點完成 Reduce就是將每個節點完成的任務彙總到一起
1.資料來源層 針對結構化資料(關係型資料庫)採用sqoop進行資料同步 針對半結構化、非結構化資料(非關係型資料庫)採用flume、kafka進行同步 更多請參考群內pdf檔案
HDFS概念
⼀個⽂件系統,通過⽬錄樹來定位⽂件; 其次,它是分散式的,由很多伺服器聯合起來實現其功能,叢集中的伺服器有各 ⾃的⻆⾊
優點:
1.高容錯性
2.適合處理大資料量
3.可以構建在廉價機器上
缺點:
1.不適合低延時資料訪問
2.無法高效的對大量小檔案進行儲存
3.支援資料append(追加)
HDFS檔案塊
可以最多儲存3個副本塊
HDFS儲存資料的資料塊大小
1.X版本最小是64M其它版本是128M
'''資料塊大小使用預設128M即可,不需要修改'''
熱備與冷備
熱備:不停服更新
冷備:停服更新
熱資料與冷資料
熱資料:使用頻率較高的資料
冷資料:使用頻率較低的資料
儲存副本節點選擇
兩個備份在同一個機架,另一個備份在其他機架
公鑰私鑰
# 比使用者名稱密碼的方式更加安全
通過ssh遠端連線伺服器並執行想要命令 類似於Xshell 連結伺服器有兩種方式:
1.使用者名稱和密碼連線伺服器
2.公鑰私鑰連線伺服器
Paramiko模組
paramiko模組支援上面兩種連線伺服器的方式: 1.使用者名稱和密碼連線伺服器 2.公鑰私鑰連線伺服器
安裝
pip3 install paramiko
Hadoop目錄結構
bin:
主要服務 hadoop 管理整個hadoop叢集 hdfs 管理資料儲存 yarn 管理資源排程
偽分散式模式
需要配置的檔案
1./etc/hadoop路徑下
2./etc/hadoop
3./etc/hadoop路徑下
4.退出到hadoop根目錄下(hadoop-2.7.2)
6.瀏覽器介面Browse Directory
7.將hadoop-2.7.2路徑下的wcinput檔案上傳到 hdfs路徑下
8.在hdfs上實現字元統計
偽分佈的YARM配置
需要修改的檔案
在hadoop-2.7.2路徑下
在hadoop路徑下
在hadoop-2.7.2路徑下啟動yarn
在hadoop-2.7.2路徑下啟動NodeManager
配置日誌採集
需要配置的檔案
在hadoop路徑下編輯檔案
複製插入
<!-- 日誌聚集功能使能 --> <property> <name>yarn.log-aggregationenable</name> <value>true</value> </property> <!-- 日誌保留時間設定 7 天 --> <property> <name>yarn.log-aggregation.retainseconds</name> <value>604800</value> </property>
'''
注意:開啟日誌聚集功能,需要重新啟動 NodeManager 、ResourceManager 和 HistoryManager。
'''
完全分散式(開發重點)
準備工作
1)準備 3臺客戶機
2)安裝 JDK
3)配置環境變數
4)安裝 Hadoop
5)配置環境變數
6)配置叢集
7)單點啟動
8)配置 ssh
9)群起並測試叢集
單點啟動(瞭解)
1.配置檔案位置:/opt/module/hadoop-2.7.2/etc/hadoop/slaves。
2.同步所有節點配置檔案
3.將之前單節點啟動的datanode、namenode全部退出
4.啟動HDFS
5.驗證每個節點對於啟動的服務
jps檢視照著之前的表格比較不能出錯
6.啟動yarn(一定要在hadoop103上啟動 因為rm在這裡)
7.驗證每個節點對於啟動的服務