개발자
안녕하세요 클라이언트란 개념에 대해 질문이 있는데요. 제 컴퓨터로 웹서버에 요청하면 응답올때 제 컴퓨터가 '클라이언트'가 되는거잖아요 그런데 하둡에서는 따로 클라이언트프로그램을 다운받아야하는것으로 이해했습니다. 이게 살짝 이해가 안가는데요.. 어떤 프로그램을 다운받야지만 제 컴퓨터가 클라이언트가 되는걸까요? 아님 그 프로그램의 인터페이스만을 이용해야 하둡에 접근할 수 잇는것같은데.. 그 프로그램 자체가 클라이언트가 되는건가요? 좀 질문이 이상한데,, 핵심은 클라이언트가 대체 무엇인가? 제 컴퓨터 아닌가요? 어떤 프로그램을 설치하면 클라이언트가 어떻게 되나요?
답변 1
인기 답변
안녕하세요! 클라이언트와 클라이언트 프로그램에 대해 혼동하고 계시는거로 이해되어 이에 대해 답변드리도록 하겠습니다. 클라이언트 프로그램은 서버에 필요한 요청을 보내거나 응답을 받는것을 도와주기 위해 만들어지는 프로그램을 클라이언트 프로그램이라고 합니다. 하둡의 경우 HTTP 와 같은 범용프로토콜을 사용하지 않고 자체적으로 정의한 프로토콜과 인터페이스로 통신을 해야하기 때문에 사용자가 이러한 프로토콜이나 인터페이스의 스펙을 알 필요 없고 하둡 사용의 편의성 및 통일된 인터페이스를 제공할 수 있도록 HDFS command 와 같은 클라이언트 프로그램을 지원하고 있습니다. 사실 웹서버에 요청을 하고 응답을 받는것도 내부적으로는 이런 클라이언트 프로그램을 사용하고 있습니다. 기존에 웹서버에 어떻게 요청을 하셨는지는 모르겠습니다만, linux 환경에서 http 통신을 하시고자 한다면 curl 혹은 wget 과 같은 프로그램을 설치해서 사용하셔야 하는것과 동일하다고 생각하시면 됩니다. 클라이언트는 이러한 클라이언트 프로그램을 사용해서 서버에 요청 및 응답을 받는 주체라고 생각하시면 됩니다. 조금 쉽게 예를 들면, 우리가 휴대폰에서 네이버를 쓰기 위해서는 네이버 앱을 설치해야 합니다. 여기서 네이버 앱이 앞서 말씀드린 클라이언트 프로그램이 되는것이고 네이버 앱을 통해 실제 네이버의 기능을 사용하는 주체(네이버에서 제공하는 기능과 관련된 API 요청을 하는 주체)는 우리의 핸드폰이 되는것이고 이걸 클라이언트라고 부를 수 있습니다. 추가적으로 하둡은 HDFS Command 뿐만 아니라 WebHDFS 란걸 지원을 하는데요, 이걸 사용할 경우 HTTP 와 같은 범용 프로토콜로 API 를 요청할수도 있습니다. 부디 저의 짧은 지식이 조금이나마 도움이 되시길 바라겠습니다.
익명
작성자
2023년 08월 14일
최고의 설명 감사드립니다
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!