Linux中的网络工具nc和telnet

Posted Mr.zhou_Zxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的网络工具nc和telnet相关的知识,希望对你有一定的参考价值。

Linux中的网络工具nc和telnet

安装

[root@hadoop ~]# yum -y install nc
[root@hadoop ~]# yum -y install telnet

连接方式

[root@hadoop ~]# nc -lk ***.***.**.** 9999

[root@hadoop ~]# telnet ***.***.**.** 9999

作用

可用于模拟生产端生产数据,通过ip 和 端口进行通信
这两种不同点在于,nc是把数据推过去,telnet是生产好数据等对方来拉取
所以在代码端使用nc比较合适
例如这样的代码,在代码的接收数据

//结构流
val ds: Dataset[String] = spark.readStream.format("socket")
            .option("host", "***.***.**.**")
            .option("port", "9999")
            .load()
            .as[String]

案例

结构流WordCount

  行为数据发送到kafka之后,使用Spark Strctured Streaming消费数据落地到hudi。因为Strctured Streaming是基于spark sql的流。因为它底层直接操作的DataFrame/DataSet。这个流在使用其实和spark sql差不多。
  Strctured Streaming相较于spark streaming的进步,就好比是RDD到DataFrame的进步。
package hudi

import org.apache.spark.sql.streaming.OutputMode
import org.apache.spark.sql.{Dataset, SparkSession}

object StructedStreaming {
    def main(args: Array[String]): Unit = {
        
        System.setProperty("HADOOP_USER_NAME","root")
        val spark: SparkSession = SparkSession.builder()
            .appName("StructedStreaming")
            .master("local[*]")
            .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
            .getOrCreate()
        spark.sparkContext.setLogLevel("ERROR")
        import spark.implicits._
    
        val ds: Dataset[String] = spark.readStream.format("socket")
            .option("host", "****.****.***.***")
            .option("port", "9999")
            .load()
            .as[String]
        val WcDs: Dataset[(String, Long)] = ds.flatMap(_.split("\\\\s+")).map((_,1)).groupByKey(_._1).count()
        
        WcDs.writeStream.outputMode(OutputMode.Complete())
            .format("console")
            .start()
            .awaitTermination()
    }
}

在这里插入图片描述

以上是关于Linux中的网络工具nc和telnet的主要内容,如果未能解决你的问题,请参考以下文章

在Linux服务器上检查TCP/UDP端口的连通性

安全牛学习笔记基本工具-NETCAT(telnet/banner传输文本信息)

(11)nc命令(每周一个linux命令)

如何测试udp端口是不是正常?

win1280端口通。1521端口不通

Netcat-NC 工具的使用