77范文网 - 专业文章范例文档资料分享平台

hadoop单机部署、集群部署及win7本地Eclipse远程配置管理(7)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

public static void unTar(File inFile, File untarDir) throws IOException { if (!untarDir.mkdirs()) { if (!untarDir.isDirectory()) {

throw new IOException(\ } }

StringBuffer untarCommand = new StringBuffer(); boolean gzipped = inFile.toString().endsWith(\ if (gzipped) {

untarCommand.append(\

untarCommand.append(FileUtil.makeShellPath(inFile)); untarCommand.append(\ }

untarCommand.append(\

untarCommand.append(FileUtil.makeShellPath(untarDir)); untarCommand.append(\ untarCommand.append(\

if (gzipped) {

untarCommand.append(\ } else {

untarCommand.append(FileUtil.makeShellPath(inFile)); }

String[] shellCmd = { \

ShellCommandExecutor shexec = new ShellCommandExecutor(shellCmd); shexec.execute();

int exitcode = shexec.getExitCode(); if (exitcode != 0) {

throw new IOException(\ \ } } /**

* Create a soft link between a src and destination * only on a local disk. HDFS does not support this * @param target the target for symlink * @param linkname the symlink

* @return value returned by the command */

public static int symLink(String target, String linkname) throws IOException{ String cmd = \ Process p = Runtime.getRuntime().exec(cmd, null); int returnVal = -1; try{

returnVal = p.waitFor(); } catch(InterruptedException e){ //do nothing as of yet }

if (returnVal != 0) {

LOG.warn(\ \ }

return returnVal; }

private static String copyStderr(Process p) throws IOException { InputStream err = p.getErrorStream(); StringBuilder result = new StringBuilder(); byte[] buff = new byte[4096]; int len = err.read(buff); while (len > 0) {

result.append(new String(buff, 0 , len)); len = err.read(buff); }

return result.toString(); } /**

* Change the permissions on a filename. * @param filename the name of the file to change * @param perm the permission string * @return the exit code from the command * @throws IOException * @throws InterruptedException */

public static int chmod(String filename, String perm

) throws IOException, InterruptedException { return chmod(filename, perm, false); } /**

* Change the permissions on a file / directory, recursively, if * needed.

* @param filename name of the file whose permissions are to change * @param perm permission string

* @param recursive true, if permissions should be changed recursively * @return the exit code from the command. * @throws IOException * @throws InterruptedException */

public static int chmod(String filename, String perm, boolean recursive) throws IOException { StringBuffer cmdBuf = new StringBuffer(); cmdBuf.append(\ if (recursive) {

cmdBuf.append(\ }

cmdBuf.append(perm).append(\ cmdBuf.append(filename);

String[] shellCmd = {\

ShellCommandExecutor shExec = new ShellCommandExecutor(shellCmd); try {

shExec.execute();

}catch(IOException e) { if(LOG.isDebugEnabled()) {

LOG.debug(\ +\ } }

return shExec.getExitCode(); } /**

* Set permissions to the required value. Uses the java primitives instead * of forking if group == other. * @param f the file to change

* @param permission the new permissions * @throws IOException */

public static void setPermission(File f, FsPermission permission ) throws IOException { FsAction user = permission.getUserAction(); FsAction group = permission.getGroupAction(); FsAction other = permission.getOtherAction();

// use the native/fork if the group/other permissions are different // or if the native is available

if (group != other || NativeIO.isAvailable()) { execSetPermission(f, permission); return; }

boolean rv = true;

// read perms

rv = f.setReadable(group.implies(FsAction.READ), false); checkReturnValue(rv, f, permission);

if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {

f.setReadable(user.implies(FsAction.READ), true); checkReturnValue(rv, f, permission); }

// write perms

rv = f.setWritable(group.implies(FsAction.WRITE), false); checkReturnValue(rv, f, permission);

if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) { f.setWritable(user.implies(FsAction.WRITE), true); checkReturnValue(rv, f, permission); }

// exec perms

rv = f.setExecutable(group.implies(FsAction.EXECUTE), false); checkReturnValue(rv, f, permission);

if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) { f.setExecutable(user.implies(FsAction.EXECUTE), true); checkReturnValue(rv, f, permission); } }

private static void checkReturnValue(boolean rv, File p,

FsPermission permission ) throws IOException {

System.out.println(\

// if (!rv) {

// throw new IOException(\ // \

// String.format(\// } }

private static void execSetPermission(File f,

FsPermission permission ) throws IOException {

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库hadoop单机部署、集群部署及win7本地Eclipse远程配置管理(7)在线全文阅读。

hadoop单机部署、集群部署及win7本地Eclipse远程配置管理(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/650579.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: