HTTP与RPC的区别:
人们常常错误地将HTTP称作一种远程过程调用(RPC)[23]机制,仅仅是因为它包括了请求和响应。
TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。
tcp和udp都是传输协议,主要区别是tcp协议连接需要3次握手,断开需要四次握手,是通过流来传输的,就是确定连接后,一直发送信息,传完后断开。udp不需要进行连接,直接把信息封装成多个报文,直接发送。所以udp的速度更快写,但是不保证数据的完整性和数据顺序,(这个是可以在实现时通过验证手段来手动确定完整性)。
http协议是建立在TCP协议之上的一种应用,是Web联网的基础,最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
socket并不是一种协议,是在程序员层面上对TCP/IP协议的封装和应用。其实是一个调用接口,方便程序员使用TCP/IP协议栈而已。程序员通过socket来使用tcp/ip协议。但是socket并不是一定要使用tcp/ip协议,Socket编程接口在设计的时候,就希望也能适应其他的网络协议。
rpc是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
初学情况下只要了解http协议和调用http协议,java使用httpClient,还有socket编程就好了。RPC我也了解的不多。
你说的9000应该指的是fs.default.name或fs.defaultFS(新版本)这一配置属性吧,这个属性是描述集群中NameNode结点的URI(包括协议、主机名称、端口号)
50070其实是在hdfs-site.xml里面的配置参数dfs.namenode.http-address,默认配置为dfs.namenode.http-address,这是HDFS web界面的监听端口