0

Hadoop 클라이언트가 설치되어 있고 어떤 종류 (CDH, HDP 또는 일반)인지 확인해야하는 간단한 쉘 스크립트를 작성하고 싶습니다. 그 스크립트는 나중에 적절한 버전을 인쇄해야합니다. 누군가 나에게 같은 제안을 해줄 수 있습니까?hadoop 클라이언트를 확인하기위한 쉘 스크립트

답변

0

PATH가 정확하고 표준 설치를 사용한다고 가정하면 hadoop 버전 만 실행하면됩니다. 좀 더 강력한 3 개 주 하둡 플랫폼 (호튼 웍스 데이터 플랫폼, IBM 개방형 플랫폼 및 클라우 데라 데이터 허브) 우리는 다음과 같은 스크립트를 얻을에 대한 지원을 출력 청소 및 추가하여로 다른 대답을 수정

if /usr/bin/which hadoop; then 
    if [ -d /usr/hdp ]; then 
    echo "HDP" 
    elif hadoop version | grep cdh > /dev/null; then 
    echo "CDH" 
    else 
    echo "generic" 
    fi 
else 
    echo "no hadoop found" 
fi 
+0

그러나 이것은 특정 버전의 CDH/HDP 또는 일반 설치되어 있지 않습니다. – HiveRLearner

+0

hadoop 버전은 hadoop의 버전을 알려줍니다. – tk421

0

:

#!/usr/bin/env bash 

CDH_HOME=/opt/cloudera/parcels 
HDP_HOME=/usr/hdp 
IOP_HOME=/usr/iop 

if /usr/bin/which hadoop > /dev/null 2>&1; then 
    if [ -d $HDP_HOME ]; then 
    platform="HDP" 
    version=`hdp-select status hadoop-client | awk -F "-" '{print $3}'` 
    elif [ -d $IOP_HOME ]; then 
    platform="IOP" 
    version=`iop-select status hadoop-client | awk -F "-" '{print $3}'` 
    elif [ -d $CDH_HOME ]; then 
    platform="CDH" 
    version=`readlink $CDH_HOME/CDH` 
    else 
    platform="Other" 
    version="Unknown" 
    fi 
    echo "Platform: $platform" 
    echo "Version: $version" 
else 
    echo "No hadoop found" 
fi 

참고 : (. 즉, HDP-선택) 플랫폼을 선택 유틸리티는 지정된 노드에 설치된 모든 서비스에 대해 당신에게 정보를 제공 할 수 있습니다. 설치되지 않은 경우 상태는 None으로 표시됩니다.