- 2.1 viコマンドの解釈
- 2.2コマンドラインモードのショートカットキー
- 2.3、一般的なシステムコマンド
- 2.4、プロセスのポート番号を表示する
- 2.5、yumインストールhttpdサービス
- 2.6、httpdテスト127.0.0.1アドレスアクセス
- 2.7。高リスクコマンドの強制終了
- 2.8。yumソフトウェアのインストールとアンインストール(アンインストール時に依存関係を確認しないでください)
- 2.9、wgetダウンロードインストールパッケージ、圧縮、解凍
1.最後のコースレビュー
- ブログリンク:https://blog.csdn.net/SparkOnYarn/article/details/104800105
- 例:usermod -g hadoop -G hadoop、ruoze、root hadoop分析:ruozeユーザーのメイングループはruozeであり、まだbigdata、jepsonグループにあります。
[root@hadoop001 ~]# id hadoop
uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop),0(root)
[root@hadoop001 ~]# usermod -g hadoop -G hadoop,ruoze,root hadoop
[root@hadoop001 ~]# id hadoop
uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop),0(root),1001(ruoze)
2、Linux基本コマンド4
2.1、vi命令
1.グラフィカルvi編集コマンド:
注:viを使用してファイルを編集します。コマンドラインモードでファイルをコピーすると、ファイルにコピーされ、内容は失われます。失った。
- したがって、貼り付けるときは編集モードにする必要があります
2.エラーを見つけるその他の方法:
- これは、前に説明した方法です:cat xxx.log | grep -C 10 ERROR> error.log
- Shift +:/キーワードを押し続けて最後の行モードに入り、スラッシュとキーワードを追加し、Enterキーを押して自動的に一致させます。Nキーを押して次のキーワードを検索します。
3. viでファイルの行番号を設定します。
最後の行モード入力も入力します。setnu、ファイルが配置されている行数を確認できます。終了行番号:nonuを設定
4.ファイルの内容を空にします。
- cat / dev / null> xxx.log
- echo ""> xxx.logファイルにバイトが含まれていますが、これはあまり良くありません
2.2コマンドラインモードのショートカットキー
ショートカットキー | 定義 |
---|---|
dd | 現在の行を削除 |
dG | 現在のカーソルの下にあるすべての行を削除します |
ndd | 現在のカーソルの下のn行を削除(現在のカーソル行からn行下) |
gg | 最初の行の最初の文字にジャンプする |
G | 最終行の最初の文字にジャンプ |
ファイルの内容をクリアします。virz.logはコマンドラインモードに入り、ggは最初の行の最初の文字にジャンプし、dGは現在のカーソルの下にあるすべての行を削除します。iキーを押して編集モードに入り、他の場所からファイルに内容をコピーします、Shift +:最後の行モードに入り、wqと入力して保存して終了します。
注:編集モードでない場合、直接コピーするとファイルの内容が失われます。
制作シナリオ:別のテキストからコンテンツをコピーして、このファイルをグローバルにカバーします
。ビッグデータのコンポーネントはxmlファイルです
1.公式のデフォルト設定ファイルXXXXX 30行
2. Windowsのメモ帳editplusは対応するパラメーター300行を編集します
2.3、一般的なシステムコマンド
1、未来一个机器上肯定是有很多磁盘的,空间比较小的忽略不计,只要看挂载到根目录或者挂载到其它目录的文件。
[root@hadoop001 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 13G 25G 35% / 系统盘200G
/dev/vdb1 1T 10G XXX /data01 数据盘
/dev/vdb2 1T 10G XXX /data02 数据盘
/dev/vdb3 1T 10G XXX /data02 数据盘
/dev/vdb4 1T 10G XXX /data02 数据盘
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 344K 920M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
J总公司一台机器系统盘200G,配了10T的数据盘
2、free -m
[root@hadoop ~]# free -m
total used free shared buffers cached
Mem: 3830 3142 687 0 180 1559
-/+ buffers/cache: 1403 2427
Swap: 0 0 0
//我的腾讯云服务器买的2核4G,4G*1024=4096M,出去系统占用,还剩3830兆;used表示已经使用了多少内存,正常使用total-used=free.
total表示系统总物理内存3830m
used表示总计分配给缓存(包含buffers和cached),但其中部分缓存未实际使用
free表示未分配的内存
shared表示共享内存
buffers表示系统分配但未被使用的buffers数量
cached表示系统分配但未被使用的cache的数量
在free命令中显示的buffer和cache,他们都是占用内存
buffer:作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区
cached:作为page cache的内存,文件系统的cache,是memory的缓冲区。
如果cache的值很大,说明cache住的文件数很多,如果频繁访问的文件的文件都能被cache住,那么磁盘的读IO势必会非常小。
3、系统负载
top - 17:01:13 up 4 days, 3:16, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 69 total, 1 running, 68 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.7 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1883724 total, 75604 free, 1218004 used, 590116 buff/cache
KiB Swap: 1048572 total, 1048572 free, 0 used. 489276 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1701 root 10 -10 131084 14148 6544 S 0.7 0.8 49:52.11 AliYunDun
1 root 20 0 43176 3424 2308 S 0.0 0.2 0:02.60 systemd
//一个系统卡不卡就看load average: 0.00,0.01,0.05;就看这三个值,1min,5min,15min级别的负载;J总的经验值,这三个值不要超过10,否则认为此物理服务器。
//主要观察top10进程,某个进程消耗的CPU占多少,去看看某个进程是做什么的
云服务器不算公司资产的,并且一年费用也很高;所以最好下迁到IDC机房。
発生した問題:
J本社の状況、CPUは3906%、3つのレベルは100、100、100です。これは、サービスが改ざんされていることを示します:ハードウェアの問題、コードレベルの問題、hbaseリージョンサーバープロセス、解決方法:ユニバーサルリスタート
拡張コンテンツ:
Brother Jのブログを参照してください:http://blog.itpub.net/30089851/viewspace-2131678/
2.4、プロセスを表示、ポート番号を表示
1. ps -ef実行中のすべてのプロセスをバックグラウンドで印刷します。
1、最后一行都是会查看自己本身的进程:
[root@hadoop001 ~]# ps -ef|grep ssh
root 2949 1 0 Mar09 ? 00:00:00 /usr/sbin/sshd -D
root 10706 2949 0 15:26 ? 00:00:00 sshd: root@pts/0
root 10975 10708 0 18:25 pts/0 00:00:00 grep --color=auto ssh
//进程用户 进程的pid 进程的父id 进程用户的内容(进程所属的目录)
2. Netstat -nlpは、すべてのポート番号をバックグラウンドで出力します。
- 最初に名前でpidを見つけ、次にpidでポートを見つけます
[root@hadoop001 ~]# netstat -nlp|grep 2949
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2949/sshd
-
たとえば、実行条件を満たすビッグデータコンポーネントのサービス
1.プロセスを開始します:ps -ef
2.ポートnetstatを開始する必要がない場合があります。 -
SecureCRTを介して接続する場合、CRTのデフォルトのポート番号は22です。ポート番号が変更された場合、まずps -efでpidを見つけ、次にnetstatに従ってポート番号をリッスンします。
2.5、yumインストールhttpdサービス
1. CentOSシステムにインストールします:yum install httpd
1、启动httpd服务,因为我们的是CentOS7系统,使用service httpd start(这个是CentOS6的系统命令),会指向systemctl start httpd.service;
//至于这个命令为什么要优化呢,service启动服务查看状态只能一个一个进程来,而systemctl可以多个进程一起执行。
service httpd start CentOS6.X、CentOS7.X都可以适用
systemctl status httpd nginx php 只适用于CentOS7.X
[root@hadoop ~]# service httpd start
Redirecting to /bin/systemctl start httpd.service
[root@hadoop ~]# systemctl stop httpd.service
[root@hadoop ~]# systemctl start httpd.service
2、可以查看到父进程是10805
[root@hadoop ~]# ps -ef|grep httpd
root 10805 1 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 10806 10805 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 10807 10805 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 10808 10805 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 10809 10805 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 10810 10805 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 10812 10601 0 22:48 pts/0 00:00:00 grep --color=auto httpd
3、我们根据父进程的pid查询得到httpd的端口号就是80
[root@hadoop ~]# netstat -nlp|grep 10805
tcp6 0 0 :::80 :::* LISTEN 10805/httpd
4、测试服务是否部署成功:
http://144.34.179.161:80、http://144.34.179.161两者访问的是一样的
https://144.34.179.161 此种协议默认的端口就是443端口
シナリオ:ビッグデータコンポーネントをCentOSシステムにデプロイすると、リンクが拒否され、接続が拒否されました(アクセスするWindows IDEAなど)、確認方法:ping ip、telnet ip port
1、在windows中打开cmd窗口如下验证到的是没有问题的
C:\Users\Administrator>ping 144.34.179.161
正在 Ping 144.34.179.161 具有 32 字节的数据:
来自 144.34.179.161 的回复: 字节=32 时间=233ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=228ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=236ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=235ms TTL=41
144.34.179.161 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 228ms,最长 = 236ms,平均 = 233ms
2、windows上配置telnet服务:如下图,需要重启电脑
2. LinuxマシンにTelnetサービスをインストールします。
[root@hadoop001 ~]# yum install -y telnet
[root@hadoop001 ~]# telnet 47.98.238.163 80
Trying 47.98.238.163...
Connected to 47.98.238.163.
Escape character is '^]'.
3、linux中如何识别云主机的内网IP
[root@hadoop ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:B7:5D:8C
inet addr:172.17.0.5 Bcast:172.17.15.255 Mask:255.255.240.0
inet6 addr: fe80::5054:ff:feb7:5d8c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1887747 errors:0 dropped:0 overruns:0 frame:0
TX packets:1928101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:154096543 (146.9 MiB) TX bytes:276296393 (263.4 MiB)
4、windows上查询本机ip:
ipconfig
質問:上司はAサーバーにログインしてXXXソフトウェアのWebインターフェースを開くと言いましたか?
- これは、ps -ef | grep xxxサービスの対応するpidにすぎません。次に、netstat -nlp | grep pidを使用して、対応するポートのポート番号を見つけます。
2.6、httpdテスト127.0.0.1アドレスアクセス
しかし:今後の作業で発生する可能性のある問題:
0.0.0.0
:22は現在のIPを表す::: 22は現在のIPを表す
125.210.74.170:22 は現在のIPを表す
127.0.0.1:22はローカルにのみアクセスでき、Windowsと他のサーバーは
ローカルホストにアクセスできません:22
现在httpd的服务是对外的,我们测试把它修改成127.0.0.1:80
1、测试修改,编辑文件:
vi /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
2、service httpd start
3、144.34.179.161无法访问
4、curl http://127.0.0.0:80这样是可以访问的
[root@hadoop conf]# netstat -nlp|grep http
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 11482/httpd
//只有自己访问自己是不行的,idea开发代码都无法连接搞个毛
重要なメモ:
- 本番環境で構成ファイルを変更するには、まずファイルcp xxx.conf xxx.conf.20200313のコピーを作成して、再度保存します。
- psプロセスxxxが突き止められています。表示するにはtopコマンドを使用します。
2.7。killを使用してプロセスを強制終了する
1、测试发现删除父进程,httpd的子进程仍然存在:
[root@hadoop conf]# ps -ef|grep http
root 11482 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11483 11482 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11484 11482 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11485 11482 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11486 11482 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11487 11482 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 11552 11417 0 00:13 pts/0 00:00:00 grep --color=auto http
[root@hadoop conf]# kill -9 11482
[root@hadoop conf]# ps -ef|grep http
apache 11483 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11484 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11485 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11486 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11487 1 0 00:05 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
2、高位命令:
[root@hadoop conf]# ps -ef|grep http
root 11608 1 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11609 11608 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11610 11608 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11611 11608 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11612 11608 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 11613 11608 0 00:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 11615 11417 0 00:19 pts/0 00:00:00 grep --color=auto http
[root@hadoop conf]# echo $(pgrep -f http)
11608 11609 11610 11611 11612 11613
[root@hadoop conf]# kill -9 $(pgrep -f http)
[root@hadoop conf]# ps -ef|grep http
root 11652 11417 0 00:19 pts/0 00:00:00 grep --color=auto http
kill -9 进程pid
kill -9 进程pid 进程pid 进程pid
kill -9 $(pgrep -f 匹配关键词)
//建议:大家杀进程之前,先ps找到相关的进程,搞清楚哪些进程是你要杀的,别把别人正在写的数据给kill掉了。J总公司一般不会删除数据,只会把目录进行迁移,
2.8。yumソフトウェアのインストールとアンインストール(アンインストール時に依存関係を確認しないでください)
- yumアップデート
- yum install -y httpd
- yum削除httpd
- Yum Research httpd
たとえば、しばらくすると、インストールパッケージの名前を忘れてしまいました。
1、查询我们有什么安装包
[root@hadoop ~]# rpm -qa|grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64
2、卸载这个安装包
[root@hadoop ~]# rpm -e httpd-2.4.6-90.el7.centos.x86_64
warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
3、再次监听
[root@hadoop ~]# rpm -qa|grep http
httpd-tools-2.4.6-90.el7.centos.x86_64
[root@hadoop ~]# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64
4、卸载的时候还会校验包的依赖性:
[root@hadoop ~]# rpm -qa|grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64
[root@hadoop ~]# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64
error: Failed dependencies:
httpd-tools = 2.4.6-90.el7.centos is needed by (installed) httpd-2.4.6-90.el7.centos.x86_64
5、那我们不校验直接把包给干掉,管它是不是什么依赖包呢
rpm -e --nodeps httpd-tools-2.4.6-90.el7.centos.x86_64
2.9、wgetダウンロードインストールパッケージ、圧縮、解凍
1. Wgetダウンロードインストールパッケージ:
- [root @ hadoop〜]#wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2.tar.gz
-bash:wget:コマンドが見つかりません
[root @ hadoop〜 ]#yum install -y wget
2. zipを使用してフォルダーを圧縮します
。zip -r xxx.zip ./*フォルダーに圧縮、ファイル
zip -r xxx.zip / ruozedata / *フォルダー外にのみ圧縮、解凍後、ruozedataディレクトリーがあります。
3.ビッグデータコンポーネントの圧縮パッケージは、ほとんどの場合、サフィックスtar.gです。
-
tar -xzvf hadoop-2.6.0-cdh5.16.2.tar.gzこのフォルダーを解凍します
-
tar -czvf hadoop-2.6.0-cdh5.16.2.tar.gz hadoop-2.6.0-cdh5.16.2 compress hadoop-2.6.0
-c、--create新しいアーカイブを作成します
-v、--verbose 詳細に処理されたファイルを一覧表示しますすべてのプロセスを表示します
-f、--file = ARCHIVEアーカイブファイルまたはデバイスを使用しますARCHIVE -f:ファイル名を使用します。パラメータは最後のパラメータであり、ファイル名のみをたどることができます。
-x、-extract、-getアーカイブからファイルを抽出解凍
-z、-gzip、-gunzip、-ungzip gizp属性を持つgzipファイルでアーカイブをフィルタリングします
3.このコースの宿題
1. viコマンド
2、プロセスとポート番号
3、接続拒否の理由
4、ハイリスクコマンドのkill
5、一般的に使用されるwget、rpm -qa、rpm -e、rpm -e --nodepsを配置します。