ソードはデータウェアハウスシェルコマンド4を指します

1.最後のコースレビュー

2、Linux基本コマンド4

3.宿題

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を配置します。

元の記事を23件公開しました 賞賛されました0 訪問数755

おすすめ

転載: blog.csdn.net/SparkOnYarn/article/details/104830312