Search in sources :

Example 1 with TcpPeerServer

use of org.apache.hadoop.hdfs.net.TcpPeerServer in project hadoop by apache.

the class DataNode method initDataXceiver.

private void initDataXceiver() throws IOException {
    // find free port or use privileged port provided
    TcpPeerServer tcpPeerServer;
    if (secureResources != null) {
        tcpPeerServer = new TcpPeerServer(secureResources);
    } else {
        int backlogLength = getConf().getInt(CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_KEY, CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_DEFAULT);
        tcpPeerServer = new TcpPeerServer(dnConf.socketWriteTimeout, DataNode.getStreamingAddr(getConf()), backlogLength);
    }
    if (dnConf.getTransferSocketRecvBufferSize() > 0) {
        tcpPeerServer.setReceiveBufferSize(dnConf.getTransferSocketRecvBufferSize());
    }
    streamingAddr = tcpPeerServer.getStreamingAddr();
    LOG.info("Opened streaming server at " + streamingAddr);
    this.threadGroup = new ThreadGroup("dataXceiverServer");
    xserver = new DataXceiverServer(tcpPeerServer, getConf(), this);
    this.dataXceiverServer = new Daemon(threadGroup, xserver);
    // auto destroy when empty
    this.threadGroup.setDaemon(true);
    if (getConf().getBoolean(HdfsClientConfigKeys.Read.ShortCircuit.KEY, HdfsClientConfigKeys.Read.ShortCircuit.DEFAULT) || getConf().getBoolean(HdfsClientConfigKeys.DFS_CLIENT_DOMAIN_SOCKET_DATA_TRAFFIC, HdfsClientConfigKeys.DFS_CLIENT_DOMAIN_SOCKET_DATA_TRAFFIC_DEFAULT)) {
        DomainPeerServer domainPeerServer = getDomainPeerServer(getConf(), streamingAddr.getPort());
        if (domainPeerServer != null) {
            this.localDataXceiverServer = new Daemon(threadGroup, new DataXceiverServer(domainPeerServer, getConf(), this));
            LOG.info("Listening on UNIX domain socket: " + domainPeerServer.getBindPath());
        }
    }
    this.shortCircuitRegistry = new ShortCircuitRegistry(getConf());
}
Also used : TcpPeerServer(org.apache.hadoop.hdfs.net.TcpPeerServer) Daemon(org.apache.hadoop.util.Daemon) DomainPeerServer(org.apache.hadoop.hdfs.net.DomainPeerServer)

Aggregations

DomainPeerServer (org.apache.hadoop.hdfs.net.DomainPeerServer)1 TcpPeerServer (org.apache.hadoop.hdfs.net.TcpPeerServer)1 Daemon (org.apache.hadoop.util.Daemon)1