分享

大数据集群【hadoop、hbase、spark、hive,zookeeper、storm等】故障排除之端口详解

本帖最后由 pig2 于 2017-1-25 10:12 编辑
问题导读

1.如何测试端口是否是通的?
2.端口是否被暂用?
3.端口是否被打开?





在搭建集群的过程中,无论是hadoop、hbase、spark、hive,zookeeper、storm集群等,我们经常碰到访问被拒绝,总体来说是网络的问题。网络的问题又分为很多种:网络配置错误,防火墙,selinux,端口问题。

其它问题我们都是很好判断的,端口对于不是很熟悉Linux的人来说,还是有难度的。这里总结下端口。

1.如何测试端口是否是通的

1.telnet的含义:
远程登录


2.使用telnet判断
比如我们判断yarn的端口是否是通的。

[mw_shl_code=bash,true]telnet master 8032
Trying 192.168.1.10...
Connected to master.
Escape character is '^]'.
[/mw_shl_code]

telnet.jpg

如上图是通的。
如果是
[mw_shl_code=bash,true]Connection refused[/mw_shl_code]
则是不通的。这个可能原因,是集群没启动。
如果是因为防火墙的原因则是
[mw_shl_code=bash,true]Trying 192.168.1.10...
telnet: connect to address 192.168.1.10: No route to host
[/mw_shl_code]
fire.jpg

2.端口是否被暂用

一个进程可以有多个端口,一个端口只能被一个进程暂用。查看端口被进程暂用的方法有很多。这里只说比较实用的。

1.使用lsof

lsof 的含义:sof(list open files)是一个列出当前系统打开文件的工具。
lsof -i:端口号查看某个端口是否被占用

[mw_shl_code=bash,true]lsof -i:8032
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    3493 aboutyun  220u  IPv6  32517      0t0  TCP master:pro-ed (LISTEN)
[/mw_shl_code]
lsof.jpg
2.使用netstat

netstat的含义:Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

使用netstat -anp|grep 8032

[mw_shl_code=bash,true]sudo netstat -anp|grep 8032
tcp6       0      0 192.168.1.10:8032       :::*                    LISTEN      3493/java[/mw_shl_code]
LISTEN 表示侦听来自远方TCP端口的连接请求

netstat.jpg

3.端口是否被打开
端口的打开与关闭以及禁用端口之间的区别
如果某个进程使用了端口,那么就打开了该端口,杀掉进程,端口就关闭了。
同时我们想不用这个端口,也就是禁用端口,则可以通过防火墙
[mw_shl_code=bash,true]"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"   [/mw_shl_code]






已有(3)人评论

跳转到指定楼层
pig2 发表于 2017-1-25 09:39:57
补充:
4.如何查看进程对应端口

[mw_shl_code=bash,true]ps -ef |grep ssh[/mw_shl_code]
[mw_shl_code=bash,true] ps -ef|grep ssh
root        818      1  0 1月24 ?       00:00:00 /usr/sbin/sshd
root      14247    818  1 09:37 ?        00:00:00 sshd: aboutyun [priv]
aboutyun  14251  14247  0 09:37 ?        00:00:00 sshd: aboutyun@pts/0
aboutyun  14303  14252  0 09:37 pts/0    00:00:00 grep --color=auto ssh
[/mw_shl_code]

sudo netstat -anp|grep 818
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      818/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      818/sshd            
unix  2      [ ]         DGRAM                    18180    694/bluetoothd   

回复

使用道具 举报

1790463 发表于 2017-2-15 08:48:35
很好的 排错方法 多谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条