2016-07-22 2 views
2

12 노드 클러스터가 있습니다. 하드웨어 정보는 다음과 같습니다.Hadoop 클라이언트 노드 설치

이름 노드 : CPU 코어 i3 2.7 Ghz | 8GB RAM | 500 GB HDD

데이터 노드 : CPU 코어 i3 2.7 Ghz | 2GB RAM | 500GB HDD

hadoop 2.7.2를 설치했습니다. 우분투에서 정상적인 hadoop 설치 프로세스를 사용하고 있습니다. 정상적으로 작동합니다. 하지만 클라이언트 컴퓨터를 추가하고 싶습니다. 클라이언트 컴퓨터를 추가하는 것과 같은 실마리가 없습니다.

질문 : 클라이언트 시스템의

  1. 설치 과정. ?
  2. 해당 클라이언트 컴퓨터에서 pig/hive 스크립트를 실행하는 방법은 무엇입니까?
+0

게시물을 하나의 질문으로 제한하십시오. 당신이 요구하고있는 정보는 꽤 넓습니다. –

답변

2

클라이언트에는 네임 노드에있는 Hadoop 배포 및 구성 사본이 있어야하며 클라이언트는 작업 추적기/ResourceManager가 실행중인 노드와 HDFS 데이터에 액세스하기위한 네임 노드의 IP를 알 수 있습니다.

또한 클라이언트 시스템의 /ets/hosts을 namenode 및 datanode의 IP 주소와 호스트 이름으로 업데이트해야합니다. 클라이언트 시스템에서 hadoop 서비스를 시작하지 않아야합니다. 클라이언트 컴퓨터에 따르지

단계 : user1

  • 구성 클라이언트 시스템에 액세스하려면 :

    • 클러스터에 사용자 계정을 만들는 같은 이름을 가진 클라이언트 시스템에 계정을 만들
    • user1 말 클러스터 머신 (ssh는 \ 패스 프레이즈 (passphrase) 즉, 패스워드가 덜한 로그인)
    • 클러스터와 클라이언트 컴퓨터가 동일한 분포를 복사/가져 와서 /home/user1/hadoop-2.x.x
    • 클러스터의 네임 노드에서 hadoop 구성 파일 (* -site.xml)을 복사 (또는 편집) -이 클라이언트에서 네임 노드/resourcemanager가 실행중인 위치를 알 수 있습니다.
    • 설정 환경 변수 : JAVA_HOME, HADOOP_HOME (/home/user1/hadoop-2.x.x)
    • 설정 하둡 빈 경로에 : 클러스터 HDFS의 루트 디렉토리를 나열해야 hadoop fs -ls / : export PATH=$HADOOP_HOME/bin:$PATH

    테스트 그것을 밖으로.

    권한과 같은 일부 문제가 발생할 수 있으며 클라이언트 컴퓨터에서 conf/hadoop-env.sh과 같은 JAVA_HOME 장소를 설정해야 할 수 있습니다. 당신이 얻은 모든 오류를 업데이트/주석 처리하십시오. 댓글에서 더 많은 질문에

    답변 :

    1. 방법 HDFS에 클라이언트 노드에서 데이터를로드 할? - 클라이언트 컴퓨터에서 hadoop fs 명령을 실행하면 : hadoop fs -put /home/user1/data/* /user/user1/data - 여러 번 실행해야하는 경우 이러한 명령을 실행하는 셸 스크립트를 작성할 수도 있습니다.
    2. ssh만을 사용하여 마스터 노드에 원격으로 연결하는 경우 왜 클라이언트에 hadoop을 설치합니까?

      • 클라이언트가 클러스터와 통신하고, 클러스터 노드는 를 알아야 할 필요가 있기 때문이다.
      • 클라이언트는 클라이언트가 클라이언트 노드에 하둡 바이너리를해야하는 맵리 듀스 작업 등을 개발, 작업을 촉발, 하둡 FS 명령, 하이브 쿼리, 하둡 항아리 commnads 같은 하둡 작업 를 실행합니다.
      • 기본적으로 ssh에서 까지의 연결을 사용하고 있지만, hadoop 바이너리가 필요하므로 클라이언트 노드에서 hadoop 클러스터에 대한 일부 작업을 수행하고 있습니다.
      • ssh은 클라이언트 노드에서 hadoop fs -ls/과 같은 조작을 실행할 때, 클라이언트 노드에 hadoch 바이너리가 에 의해 사용됩니다. (위의 설치 과정의 한 부분으로 PATH$HADOOP_HOME/bin를 추가하는 기억)
      • 는 "우리는 ssh을 사용하여"말 - 나에게 소리 당신이 당신이 ssh를 사용하여 연결하는 클러스터에서 변경/액세스 하둡 설정 파일을 만들고 싶어 할 때처럼 클러스터 노드로 - 관리 작업의 일환으로이 작업을 수행하지만 클라이언트 노드에서 클러스터에 대해 hadoop 명령/작업을 실행해야 할 때 수동으로 ssh을 수행 할 필요가 없습니다. 클라이언트 노드의 hadoop 설치가이를 처리합니다.
      • out of hadoop instalations 클라이언트 노드에서 클러스터로 hadoop 명령/작업/쿼리를 어떻게 실행할 수 있습니까?

      3. 사용자 이름 'user1'이 (가) 동일해야합니까? 그것이 다른 경우라면? - 작동합니다. 그룹 사용자 아래에있는 클라이언트 노드에 hadoop을 설치할 수 있습니다. 예 : qa 또는 dev 및 클라이언트 노드의 모든 사용자는 해당 그룹 아래 sudo입니다. 클라이언트 노드의 user1이 클러스터에서 hadoop 작업을 실행해야하는 경우보다 user1sudo -i -u qa이 될 수 있어야하고 hadoop 명령을 실행해야합니다.

  • +0

    괜찮습니다. 그러나 1. 클라이언트 노드에서 hdfs로 데이터를로드하는 방법은 무엇입니까? –

    +0

    2. ssh 만 사용하여 원격으로 마스터 노드에 연결하는 경우 왜 클라이언트에 hadoop을 설치합니까? –

    +0

    3. 사용자 이름 'user1'이 동일해야합니까? 그것이 다른 경우라면? –