안녕하세요! 클라이언트와 클라이언트 프로그램에 대해 혼동하고 계시는거로 이해되어 이에 대해 답변드리도록 하겠습니다. 클라이언트 프로그램은 서버에 필요한 요청을 보내거나 응답을 받는것을 도와주기
안녕하세요! 클라이언트와 클라이언트 프로그램에 대해 혼동하고 계시는거로 이해되어 이에 대해 답변드리도록 하겠습니다. 클라이언트 프로그램은 서버에 필요한 요청을 보내거나 응답을 받는것을 도와주기 위해 만들어지는 프로그램을 클라이언트 프로그램이라고 합니다. 하둡의 경우 HTTP 와 같은 범용프로토콜을 사용하지 않고 자체적으로 정의한 프로토콜과 인터페이스로 통신을 해야하기 때문에 사용자가 이러한 프로토콜이나 인터페이스의 스펙을 알 필요 없고 하둡 사용의 편의성 및 통일된 인터페이스를 제공할 수 있도록 HDFS command 와 같은 클라이언트 프로그램을 지원하고 있습니다. 사실 웹서버에 요청을 하고 응답을 받는것도 내부적으로는 이런 클라이언트 프로그램을 사용하고 있습니다. 기존에 웹서버에 어떻게 요청을 하셨는지는 모르겠습니다만, linux 환경에서 http 통신을 하시고자 한다면 curl 혹은 wget 과 같은 프로그램을 설치해서 사용하셔야 하는것과 동일하다고 생각하시면 됩니다. 클라이언트는 이러한 클라이언트 프로그램을 사용해서 서버에 요청 및 응답을 받는 주체라고 생각하시면 됩니다. 조금 쉽게 예를 들면, 우리가 휴대폰에서 네이버를 쓰기 위해서는 네이버 앱을 설치해야 합니다. 여기서 네이버 앱이 앞서 말씀드린 클라이언트 프로그램이 되는것이고 네이버 앱을 통해 실제 네이버의 기능을 사용하는 주체(네이버에서 제공하는 기능과 관련된 API 요청을 하는 주체)는 우리의 핸드폰이 되는것이고 이걸 클라이언트라고 부를 수 있습니다. 추가적으로 하둡은 HDFS Command 뿐만 아니라 WebHDFS 란걸 지원을 하는데요, 이걸 사용할 경우 HTTP 와 같은 범용 프로토콜로 API 를 요청할수도 있습니다. 부디 저의 짧은 지식이 조금이나마 도움이 되시길 바라겠습니다.