在现场奋战两个礼拜,期间遇到各种问题,好记性不如烂笔头,把坑和解决方法记下来。
这次项目是涉及到不少前端设备,如读写器、工控机,网内所有设备时间同步是必不可缺的。因此,可以在设备网内搭建个NTP时间服务器,以让所有设备时间同步。因为前段设备均与中心服务器互通,所以将其安装在中心服务器上最为合适。
CentOS上安装NTP服务器
yum install ntp //安装ntp时间服务器
chkconfig ntpd on //配置ntp服务开机启动
chkconfig --list ntpd //查看ntp服务在不同运行级的状态
ntpdate -u 202.112.10.36 //与国家授时中心同步时间
vim /etc/ntp.conf //修改ntp配置文件
//允许内网机器同步时间
restrict *.*.*.* mask 255.255.255.0 nomodify notrap
//使用授时服务器
server 210.72.145.44 perfer
server 202.112.10.36
server 59.124.196.83
//允许授时服务器更新本机器时间
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
//外部时间服务器不可用时,以本地时间作为时间服务
server 127.0.0.1
fudge 127.0.0.1 stratum 10
工控机中预装的CentOS操作系统,可能自带了Open JDK。在容器中启动服务时,有时候调用的JVM不一定是自己安装的,这就可能导致自己在/etc/profile中配置的环境变量不生效,所以建议先将自带的Open JDK卸载掉。
rpm -qa | grep jdk //查看JDK安装包
rpm -e --nodeps java-1.6.0-openjdk-.... //删除指定版本JDK
前端设备负责数据的采集上报工作,由于网络、程序、设备等诸多原因,经常会出现数据未采集到或未上报,在工控机上安装抓包工具,可以辅助定位问题缘由。
CentOS上安装tcpdump
yum install tcpdump //安装tcpdump
tcpdump -i eth0 -nn 'host 192.168.1.100' //监听eth0网口来自192.168.1.100数据包