1. 程式人生 > >通過java操作Hadoop中zookeeper和HDFS的命令,同如Shell

通過java操作Hadoop中zookeeper和HDFS的命令,同如Shell

通過java操作zookeeper的命令——

配置環境變數(之前在java中配置過的,因為在cognos的時候要把java的環境變數刪除掉,所以現在要把java的環境變數恢復!配置環境變數.docx cognos刪除的環境配置.docx)。。。

首先要在新建的專案project裡匯入相關的包右鍵>build path>user library>new...準本好後

建包-類-

★建立節點

zk.create("/zoo2", "myData2".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);

★刪除節點

 zk.delete("/zoo2", -1);

★修改節點

★檢視操作是否成功

★檢視節點狀態

System.out.println(" 節點狀態: [" + zk.exists("/zoo2", false) + "]");

注意:

很大的一個問題就是監視!

通過java操作Hadoop中HDFS的命令——

通過java操作hadoop中HDFS的命令

複習一下平常的命令:]$hadoop fs-ls

一定要配置環境變數:

 

僅此而已,不用再path中在配。。

java的工具eclipse中像上午那樣,將.jar導進去

  包括兩個,建兩個分別對應的放進去,完成。。

程式碼部分:

1.導相關的包,直接複製的

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.FsStatus;

import org.apache.hadoop.fs.Path;

2.正文:建立相關聯絡:

設定訪問的使用者和密碼

System.setProperty("HADOOP_USER_NAME", "Teacher");

System.setProperty("HADOOP_USER_PASSWORD", "******");

通常會遇到許可權的問題,很多時候Student的使用者沒有許可權,在Teacher下就可以走下去。。

Configuration conf=new Configuration();

FileSystem fs = FileSystem.newInstance(new URI("hdfs://192.168.20.2**:9000"),conf);

★讀取根目錄下的檔案

Path hdfspath=new Path("/");

FileStatus[] listStatus = fs.listStatus(hdfspath);

for (FileStatus f : listStatus) {        System.out.println(f.getPath().getName()+"......."+f.getPath());

};

//對應在客戶端的hadoop下的檢視步驟:hadoop]$hadoop fs -ls

//對應在web的hadoop下的檢視步驟:ip:50070>Browse the file system>/根目錄下 GO

★建立資料夾

fs.mkdirs(new Path("/tmp2"));

★刪除資料夾

fs.delete(new Path("/tmp2"));

★將本地的檔案上傳(複製copy)到HDFS分散式檔案系統上去

fs.copyFromLocalFile(new Path("F:\\lalaala.txt"), new Path("/tmp"));

★將HDFS分散式檔案系統上的檔案下載(複製copy)到本地

fs.copyToLocalFile(new Path("/tmp/hive"), new Path("F:\\"));

注意:tmp的目錄下前面要有/

      hive和hive.txt是有區別的;

      上傳和下載的過程其實就是(從哪兒)copy(到哪兒)的過程;

      為了每次跟直觀的看到操作結果是否成功,可寫一句列印;

System.out.println("....成功.....");

     web端的驗證更快,可直接在web輸入網址進行驗證;

     某盤下的是\\      ;

目錄下的目錄時//   ;

package com.hdhdfs;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FsStatus;
import org.apache.hadoop.fs.Path;

public class HDFSDemo {
	public static void main(String[] args) throws Exception {
		//1.設定訪問的使用者名稱和密碼
		
		System.setProperty("HADOOP_USER_NAME", "Teacher");
		System.setProperty("HADOOP_USER_PASSWORD", "**");
		Configuration conf=new Configuration();
		FileSystem fs = FileSystem.newInstance(new URI("hdfs://192.168.20.**:**00"),conf);
		//讀取根目錄下的檔案
		Path hdfspath=new Path("/");
		FileStatus[] listStatus = fs.listStatus(hdfspath);
	     for (FileStatus f : listStatus) {
	    	  System.out.println(f.getPath().getName()+"......."+f.getPath());
	    	  //對應在客戶端的hadoop下的檢視步驟:hadoop]$hadoop fs -ls
	    	  //對應在web的hadoop下的檢視步驟:ip:50070>Browse the file system>/根目錄下 GO
	      	}
	      //建立資料夾
	      //fs.mkdirs(new Path("/tmp2"));
	      //刪除檔案
	      //fs.delete(new Path("/tmp2"));
	      
	      //將本地的檔案上傳到HDFS分散式檔案系統上去
	      //fs.copyFromLocalFile(new Path("F:\\lalaala.txt"), new Path("/tmp"));
		//將HDFS分散式檔案系統上的檔案下載到本地
		  fs.copyToLocalFile(new Path("/tmp/hive"), new Path("F:\\"));
		  
	      System.out.println("....成功.....");
	      
	      
	      //
	      
		}
	}

注意:每執行一個命令時候將其他註釋掉,不要影響!

相關推薦

通過java操作HadoopzookeeperHDFS命令Shell

通過java操作zookeeper的命令——配置環境變數(之前在java中配置過的,因為在cognos的時候要把java的環境變數刪除掉,所以現在要把java的環境變數恢復!配置環境變數.docx 因cognos刪除的環境配置.docx)。。。首先要在新建的專案project

介紹hadoophadoophdfs命令

命令行 註意 property 密碼 編輯 format gety node job 有些hive安裝文檔提到了hdfs dfs -mkdir ,也就是說hdfs也是可以用的,但在2.8.0中已經不那麽處理了,之所以還可以使用,是為了向下兼容. 本文簡要介紹一下有關的命令,

zookeeperzookeeper的基本命令通過Java操作zk

接上講,這節主要講一下zookeeper的常用命令和如何使用java操作zk. 首先連線zookeeper 客戶端: #進入zookeeper安裝目錄下bin目錄,啟動zk客戶端 cd /usr/local/zookeeper/bin ./zkCli.sh 然後不知道zk的常用命令?沒

hadoop常用的hdfs代碼操作

ide sys equals 技術分享 ext new imp equal 大小 一:向HDFS中上傳任意文本文件,如果指定的文件在HDFS中已經存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件: 1 package hadoopTest; 2

C#、JAVA操作HadoopHDFS、Map/Reduce)真實過程概述。元件、原始碼下載。無法解決:Response status code does not indicate success: 500。

一、Hadoop環境配置概述       三臺虛擬機器,作業系統為:Ubuntu 16.04。       Hadoop版本:2.7.2       NameNode:192.168.72.132       DataNode:192.168.72.135,192.168.72.136   

java操作hadoophdfs檔案工具類

package com.cictec.hadoop; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org.apache.hadoop.hdfs.Dist

Java sanner類nextnextLine的區別

浮點 驗證 courier 判斷 回車 nbsp () oid 輸入 next() 與 nextLine() 區別 next(): 1、一定要讀取到有效字符後才可以結束輸入。 2、對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。 3、只有輸入有效字符後才將其

mongodb通過JAVA 操作

根據 使用 mongodb,總結了一些簡單的操作方法。希望幫助大家。   1.連線 mongodb://根據使用者名稱,密碼進行連線 mongodb 資料庫 public class MongoManager{ private static MongoDatabase mon

hadoopmapreduce的數量設定問題

map和reduce是hadoop的核心功能,hadoop正是通過多個map和reduce的並行執行來實現任務的分散式平行計算,從這個觀點來看,如果將map和reduce的數量設定為1,那麼使用者的任務就沒有並行執行,但是map和reduce的數量也不能過多,數量過多雖然

玩轉大資料之——通過java操作office/wps的 EXCEL

操作Office文件,要用到apache公司的一個工具包: poi-3.7-20101029.jar poi外掛的使用方式類似dom技術 不同版本: 接下來進行演示功能: 1.用純Java技術實現建立一個名為a.xls的檔案(工作薄), 在其中新

Hadoop如何從hdfs匯入資料到hbase

import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop

關於Java File類 mkdir() mkdirs() 方法的區別使用方法

boolean mkdirs() 方法可以建立此抽象路徑的指定目錄,如在D盤建立一個D:\\JavaStudy\\FileStudy,即使這兩個目錄並不存在也可以一併進行建立。可用於建立多級目錄。

java在系統建立刪除含有路徑的檔案

package com.apk.openUser.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.i

ES的java客戶端SearchRequestSearchResponse的序列化反序列化

Elastcsearch官方提供了一個elasticsearch-rest-high-level-client,作者在寫bug的時候需要將其中的ActionRequest(子類包括SearchRequest、IndexRequest、UpdateRequest等)和Searc

9、Hadoop配置檔案HDFS垃圾回收

配置檔案 預設配置檔案:相對應的jar包中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 自定義配置檔案 $HADOOP_HOME/etc/hadoop/ core-site.xm

Java操作MongoDB模糊查詢分頁查詢

模糊查詢條件:1、完全匹配Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE);2、右匹配Pattern pattern = Pattern.compile("^.*name$", P

java web專案daoservice前面為什麼要有介面呢??

介面提供了一個公用的方法提供方。 介面是用來規定子類的行為的。舉個例子吧 , 比如有個需求, 需要儲存客戶資訊, 有些客戶從網站來, 有些從手機客戶端來, 有些從後臺管理系統錄入, 假設不同來源的客戶有不同的處理業務流程, 這個時候我定義介面來提供一個儲存客戶的方法, 然後不同平臺實現我這個儲存客戶的介面,

簡單操作djangosessioncookie

cookie 1.會話技術   2.客戶端的會話技術( 資料庫儲存在瀏覽器上)   3.問題導致原因: 在web應用中,一次網路請求是從request開始,到response結束,跟以後的請求或者跟其他請求沒有關係   導致每次請求之間的資料沒有關係 (短連結,長連線:QQ)   解決: 在客戶端保留資料

Hadoophostname/etc/hosts配置檔案的關係

前言      搭建Hadoop的時候必須配置兩個檔案:/etc/sysconfig/network和/etc/hosts。      /etc/sysconfig/network的作用是設定機器的主機名:hostname。 &

java 泛型 T 問號(萬用字元)的區別

型別本來有:簡單型別和複雜型別,引入泛型後把複雜型別分的更細了; 現在List<Object>, List<String>是兩種不同的型別;且無繼承關係; 泛型的好處如: 開始版本 public void write(Integer