0

Hadoopクライアントがインストールされていて、どのような種類(CDH、HDPまたは汎用)がインストールされているかを確認する簡単なシェルスクリプトを作成します。その後、スクリプトも適切なバージョンを印刷する必要があります。誰も私に同じことの提案を提供することはできますか?hadoopクライアントを確認するためのシェルスクリプト

答えて

0

PATHが正しいと仮定し、標準インストールを使用している場合は、hadoopバージョンを実行するだけです。

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

我々は次のスクリプトを取得し、出力をクリーンアップし、3つのメインのHadoopプラットフォーム(Hortonworksデータプラットフォーム、IBMのオープン・プラットフォーム、およびClouderaのデータ・ハブ)のサポートを追加することによって、少しより堅牢にするために、他の答えを変更:

#!/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となります。

関連する問題