Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure HDInsight kümeleri, Azure bulutunda çalışan tanıdık bir Linux ortamında Apache Hadoop sağlar. Çoğu şey için, tam olarak diğer Hadoop-on-Linux yüklemeleri gibi çalışmalıdır. Bu belge, bilmeniz gereken belirli farkları ortaya çıkarır.
Önkoşullar
Bu belgedeki adımların çoğu, sisteminize yüklenmesi gerekebilecek aşağıdaki yardımcı programları kullanır.
- cURL - web tabanlı hizmetlerle iletişim kurmak için kullanılır.
- jq, bir komut satırı JSON işlemcisi. Bkz. https://stedolan.github.io/jq/.
- Azure CLI - Azure hizmetlerini uzaktan yönetmek için kullanılır.
- Bir SSH istemcisi. Daha fazla bilgi için bkz. SSH kullanarak HDInsight'a (Apache Hadoop) bağlanma.
Kullanıcılar
Etki alanına katılmadığı sürece HDInsight tek kullanıcılı bir sistem olarak kabul edilmelidir. Kümeyle, yönetici düzeyinde izinlere sahip tek bir SSH kullanıcı hesabı oluşturulur. Ek SSH hesapları oluşturulabilir, ancak kümeye yönetici erişimi de vardır.
Etki alanına katılmış HDInsight birden çok kullanıcıyı ve daha ayrıntılı izin ve rol ayarlarını destekler. Daha fazla bilgi için bkz. Etki alanına katılmış HDInsight kümelerini yönetme.
Alan adları
CLUSTERNAME.azurehdinsight.net veya CLUSTERNAME-ssh.azurehdinsight.net (yalnızca SSH için) internet üzerinden kümeye bağlanırken kullanılacak tam etki alanı adı (FQDN) 'dır.
Dahili olarak, kümedeki her düğümün, küme yapılandırması sırasında atanan bir adı vardır. Küme adlarını bulmak için Ambari Web kullanıcı arabirimindeki Konaklar sayfasına bakın. Ambari REST API'sinden konakların listesini döndürmek için de aşağıdakileri kullanabilirsiniz:
curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts" | jq '.items[].Hosts.host_name'
CLUSTERNAME değerini kümenizin adıyla değiştirin. İstendiğinde yönetici hesabının parolasını girin. Bu komut, kümedeki konakların listesini içeren bir JSON belgesi döndürür.
jq her sunucunun host_name öğe değerini ayıklamak için kullanılır.
Belirli bir hizmetin düğüm adını bulmanız gerekiyorsa, bu bileşen için Ambari'yi sorgulayabilirsiniz. Örneğin, HDFS ad düğümünün konaklarını bulmak için aşağıdaki komutu kullanın:
curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/HDFS/components/NAMENODE" | jq '.host_components[].HostRoles.host_name'
Bu komut hizmeti açıklayan bir JSON belgesi döndürür ve sonra jq yalnızca konaklar için host_name değerini çıkarır.
Hizmetlere uzaktan erişim
Ambari (web) -
https://CLUSTERNAME.azurehdinsight.netKüme yöneticisi kullanıcı ve parolasını kullanarak kimlik doğrulaması yapın ve ambari'de oturum açın.
Kimlik doğrulaması düz metindir- bağlantının güvenli olduğundan emin olmak için her zaman HTTPS kullanın.
Önemli
Ambari erişim düğümleri üzerinden iç etki alanı adı kullanılarak erişilebilen bazı web kullanıcı arayüzleri. İç etki alanı adları İnternet üzerinden herkes tarafından erişilemez. İnternet üzerinden bazı özelliklere erişmeye çalışırken "sunucu bulunamadı" hataları alabilirsiniz.
Ambari web kullanıcı arabiriminin tüm işlevlerini kullanmak için, küme baş düğümüne web trafiğine ara sunucu sağlamak için bir SSH tüneli kullanın. Bkz . Apache Ambari web kullanıcı arabirimine, ResourceManager'a, JobHistory'ye, NameNode'a, Oozie'ye ve diğer web URI'lerine erişmek için SSH Tüneli kullanma
Ambari (REST) -
https://CLUSTERNAME.azurehdinsight.net/ambariUyarı
Küme yöneticisi kullanıcı ve parolasını kullanarak kimlik doğrulaması.
Kimlik doğrulaması düz metindir- bağlantının güvenli olduğundan emin olmak için her zaman HTTPS kullanın.
WebHCat (Templeton) -
https://CLUSTERNAME.azurehdinsight.net/templetonUyarı
Küme yöneticisi kullanıcı ve parolasını kullanarak kimlik doğrulaması.
Kimlik doğrulaması düz metindir- bağlantının güvenli olduğundan emin olmak için her zaman HTTPS kullanın.
SSH - 22 veya 23 numaralı bağlantı noktasında CLUSTERNAME-ssh.azurehdinsight.net. 22 numaralı bağlantı noktası birincil baş düğüme bağlanmak için, 23 ise ikincil baş düğüme bağlanmak için kullanılır. Baş düğümler hakkında daha fazla bilgi için bkz. HDInsight'ta Apache Hadoop kümelerinin kullanılabilirliği ve güvenilirliği.
Uyarı
Küme baş düğümlerine yalnızca bir istemci makinesinden SSH aracılığıyla erişebilirsiniz. Bağlandıktan sonra bir baş düğümden SSH kullanarak çalışan düğümlerine erişebilirsiniz.
Daha fazla bilgi için HDInsight üzerinde Apache Hadoop hizmetleri tarafından kullanılan bağlantı noktaları belgesine bakın.
Dosya konumları
Hadoop ile ilgili dosyalar konumundaki /usr/hdpküme düğümlerinde bulunabilir. Bu dizin aşağıdaki alt dizinleri içerir:
- 2.6.5.3009-43: Dizin adı, HDInsight tarafından kullanılan Hadoop platformunun sürümüdür. Kümenizdeki sayı burada listelenenden farklı olabilir.
- current: Bu dizin , 2.6.5.3009-43 dizini altındaki alt dizinlere bağlantılar içerir. Sürüm numarasını hatırlamanız gerekmeyecek şekilde bu dizin var.
Örnek veriler ve JAR dosyaları /example ve /HdiSamples konumundaki Hadoop Dağıtılmış Dosya Sistemi'nde bulunabilir.
HDFS, Azure Depolama ve Data Lake Storage
Çoğu Hadoop dağıtımında veriler HDFS'de depolanır. HDFS, kümedeki makinelerde yerel depolama tarafından desteklenir. Yerel depolamayı kullanmak, saatlik veya işlem kaynakları için dakika başına ücretlendirildiğiniz bulut tabanlı bir çözüm için maliyetli olabilir.
HDInsight kullandığınızda, veri dosyaları Azure Blob Depolama ve isteğe bağlı olarak Azure Data Lake Storage 2. Nesil kullanılarak bulutta uyarlanabilir ve dayanıklı bir şekilde depolanır. Bu hizmetler aşağıdaki avantajları sağlar:
- Ucuz uzun süreli depolama.
- Web siteleri, dosya yükleme/indirme yardımcı programları, çeşitli dil SDK'ları ve web tarayıcıları gibi dış hizmetlerden erişilebilirlik.
- Büyük dosya kapasitesi ve büyük uyarlanabilir depolama alanı.
Daha fazla bilgi için bkz. Azure Blob depolama veya Azure Data Lake Storage 2. Nesil.
Azure Blob depolama veya Data Lake Storage 2. Nesil kullanırken verilere erişmek için HDInsight'tan özel bir şey yapmanız gerekmez. Örneğin, aşağıdaki komut ister Azure Depolama'da ister Data Lake Storage'da /example/data depolanmış olsun klasördeki dosyaları listeler:
hdfs dfs -ls /example/data
HDInsight'ta veri depolama kaynakları (Azure Blob Depolama ve Azure Data Lake Storage) işlem kaynaklarından ayrılmıştır. gerektiği gibi hesaplama yapmak için HDInsight kümeleri oluşturabilir ve daha sonra iş bittiğinde kümeyi silebilirsiniz. Bu arada, ihtiyaç duyduğunuz sürece veri dosyalarınızın bulut depolama alanında güvenli bir şekilde kalıcı kalmasını sağlayın.
URI ve şema
Bazı komutlar, dosyaya erişirken düzeni URI'nin bir parçası olarak belirtmenizi gerektirebilir. Varsayılan olmayan depolama (kümeye "ek" depolama alanı olarak eklenen depolama) kullanırken, düzeni her zaman URI'nin bir parçası olarak kullanmanız gerekir.
Azure Depolama'yı kullanırken aşağıdaki URI şemalarından birini kullanın:
wasb:///: Şifrelenmemiş iletişimi kullanarak varsayılan depolamaya erişin.wasbs:///: Şifrelenmiş iletişimi kullanarak varsayılan depolamaya erişin. Wasbs şeması yalnızca HDInsight sürüm 3.6'dan itibaren desteklenir.wasb://<container-name>@<account-name>.blob.core.windows.net/: Varsayılan olmayan bir depolama hesabıyla iletişim kurarken kullanılır. Örneğin, ek bir depolama hesabınız olduğunda veya genel olarak erişilebilen bir depolama hesabında depolanan verilere erişirken.
Azure Data Lake Storage 2. Nesil kullanırken aşağıdaki URI düzenini kullanın:
abfs://: Şifrelenmiş iletişimi kullanarak varsayılan depolamaya erişin.abfs://<container-name>@<account-name>.dfs.core.windows.net/: Varsayılan olmayan bir depolama hesabıyla iletişim kurarken kullanılır. Örneğin, ek bir depolama hesabınız olduğunda veya genel olarak erişilebilen bir depolama hesabında depolanan verilere erişirken.
Önemli
HDInsight için varsayılan depo olarak Data Lake Storage kullanırken, HDInsight depolamanın kökü olarak kullanılacak depo içinde bir yol belirtmeniz gerekir. Varsayılan yol şeklindedir /clusters/<cluster-name>/.
/ veya adl:/// kullanarak verilere erişirken, yalnızca kümenin kökündeki (örneğin, /clusters/<cluster-name>/) depolanan verilere erişebilirsiniz. Mağazanın herhangi bir yerindeki verilere erişmek için biçimini kullanın adl://<storage-name>.azuredatalakestore.net/ .
Küme hangi depolama alanını kullanıyor?
Ambari'yi kullanarak küme için varsayılan depolama yapılandırmasını alabilirsiniz. Curl kullanarak HDFS yapılandırma bilgilerini almak ve jq kullanarak filtrelemek için aşağıdaki komutu kullanın:
curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["fs.defaultFS"] | select(. != null)'
Uyarı
Bu komut, bu bilgileri içeren sunucuya ()service_config_version=1 uygulanan ilk yapılandırmayı döndürür. En son sürümü bulmak için tüm yapılandırma sürümlerini listelemeniz gerekebilir.
Bu komut aşağıdaki URI'lere benzer bir değer döndürür:
wasb://<container-name>@<account-name>.blob.core.windows.netazure depolama hesabı kullanıyorsanız.Hesap adı, Azure Depolama hesabının adıdır. Kapsayıcı adı, küme depolamanın kökü olan blob kapsayıcısıdır.
adl://homeAzure Data Lake Storage kullanıyorsanız. Data Lake Storage adını almak için aşağıdaki REST çağrısını kullanın:curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.hostname"] | select(. != null)'Bu komut şu ana bilgisayar adını döndürür:
<data-lake-store-account-name>.azuredatalakestore.net.Depo içindeki HDInsight'ın kökü olan klasörü almak için aşağıdaki REST çağrısını kullanın:
curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.mountpoint"] | select(. != null)'Bu komut, aşağıdaki yola benzer bir yol döndürür:
/clusters/<hdinsight-cluster-name>/.
Aşağıdaki adımları kullanarak Azure portalını kullanarak depolama bilgilerini de bulabilirsiniz:
Azure portalından HDInsight kümenizi seçin.
Özellikler bölümünde Depolama Hesapları'nı seçin. Kümenin depolama bilgileri görüntülenir.
HDInsight dışından dosyalara nasıl erişebilirim?
HDInsight kümesinin dışından verilere erişmenin çeşitli yolları vardır. Verilerinizle çalışmak için kullanılabilecek yardımcı programlara ve SDK'lara birkaç bağlantı aşağıdadır:
Azure Blob depolama kullanıyorsanız, verilerinize erişmenin yolları için aşağıdaki bağlantılara bakın:
Azure CLI: Azure ile çalışmak için Command-Line arabirim komutları. Kurulumdan sonra, depolamayı kullanma konusunda yardım için
az storagekomutunu veya bloba özgü komutlar içinaz storage blobkomutunu kullanın.blobxfer.py: Azure Depolama'da bloblarla çalışmaya yönelik bir Python betiği.
Çeşitli SDK'lar:
Azure Data Lake Storage 1. Nesil kullanıyorsanız, verilerinize erişmenin yolları için aşağıdaki bağlantılara bakın:
- Web tarayıcısı
- PowerShell
- Azure CLI
- WebHDFS REST API
- Visual Studio için Data Lake Araçları
- .NET
- Java
- Piton
Kümenizi ölçeklendirme
Küme ölçeklendirme özelliği, küme tarafından kullanılan veri düğümlerinin sayısını dinamik olarak değiştirmenize olanak tanır. Diğer işler veya işlemler bir kümede çalışırken ölçeklendirme işlemleri yapabilirsiniz. Bkz . HDInsight kümelerini ölçeklendirme
Hue'yu (veya diğer Hadoop bileşenini) nasıl yükleyebilirim?
HDInsight yönetilen bir hizmettir. Azure kümeyle ilgili bir sorun algılarsa, başarısız olan düğümü silebilir ve bunu değiştirmek için bir düğüm oluşturabilir. Kümeye öğeleri el ile yüklediğinizde, bu işlem gerçekleştiğinde kalıcı olmazlar. Bunun yerine HDInsight Betik Eylemleri'ni kullanın. Aşağıdaki değişiklikleri yapmak için bir betik eylemi kullanılabilir:
- Bir hizmeti veya web sitesini yükleme ve yapılandırma.
- Kümedeki birden çok düğümde yapılandırma değişiklikleri gerektiren bir bileşeni yükleyin ve yapılandırın.
Betik Eylemleri Bash betikleridir. Betikler küme oluşturma sırasında çalışır ve ek bileşenleri yüklemek ve yapılandırmak için kullanılır. Kendi Betik Eylemlerinizi geliştirme hakkında bilgi için bkz. HDInsight ile Betik Eylemi geliştirme.
Jar dosyaları
Bazı Hadoop teknolojileri, bağımsız jar dosyaları sağlar. Bu dosyalar, MapReduce işinin parçası olarak ya da Pig veya Hive içinden kullanılan işlevleri içerir. Genellikle herhangi bir kurulum gerektirmezler ve oluşturma işleminden sonra kümeye yüklenip doğrudan kullanılabilirler. Bileşenin kümenin yeniden oluşturulması sırasında korunmasını istiyorsanız, jar dosyasını kümenin varsayılan depolama alanında saklayın.
Örneğin, Apache DataFu'nun en son sürümünü kullanmak istiyorsanız projeyi içeren bir jar dosyasını indirip HDInsight kümesine yükleyebilirsiniz. Ardından Bunu Pig veya Hive'dan nasıl kullanacağınıza ilişkin DataFu belgelerini izleyin.
Önemli
Tek başına jar dosyaları olan bazı bileşenler HDInsight ile sağlanır, ancak yolda değildir. Belirli bir bileşeni arıyorsanız, kümenizde aramak için aşağıdakini kullanabilirsiniz:
find / -name *componentname*.jar 2>/dev/null
Bu komut eşleşen jar dosyalarının yolunu döndürür.
Bir bileşenin farklı bir sürümünü kullanmak için ihtiyacınız olan sürümü karşıya yükleyin ve işlerinizde kullanın.
Önemli
HDInsight kümesiyle sağlanan bileşenler tam olarak desteklenir ve Microsoft Desteği bu bileşenlerle ilgili sorunları yalıtmaya ve çözmeye yardımcı olur.
Özel bileşenler, sorunu daha fazla gidermenize yardımcı olmak için ticari olarak makul bir destek alır. Bu, sorunun çözülmesine veya bu teknolojiye ilişkin derin uzmanlığın bulunduğu açık kaynak teknolojileri için kullanılabilir kanallarla etkileşim kurmanızı istemenize neden olabilir. Örneğin, kullanılabilecek birçok topluluk sitesi vardır: HDInsight için Microsoft Soru-Cevap soru sayfası, https://stackoverflow.com. Ayrıca Apache projelerinin üzerinde https://apache.orgproje siteleri vardır, örneğin: Hadoop, Spark.