加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang通过http端口访问hadoop

发布时间:2020-12-16 18:51:55 所属栏目:大数据 来源:网络整理
导读:无聊尝试一下golang连接hdfs,写了个hello world golang包地址 https://github.com/vladimirvivien/gowfs 安装 gogetgithub.com/vladimirvivien/gowfs 写程序之前需要修改hadoop的两个配置文件 分别是 hsdfs-site.xml 里的 dfs.webhdfs.enabled propertynamed

无聊尝试一下golang连接hdfs,写了个hello world

golang包地址

https://github.com/vladimirvivien/gowfs

安装

gogetgithub.com/vladimirvivien/gowfs

写程序之前需要修改hadoop的两个配置文件

分别是

  • hsdfs-site.xml 里的dfs.webhdfs.enabled

<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
  • core-site.xml里的hadoop.http.staticuser.user

<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>

简单的例子

packagemain

import(
	"fmt"
	"log"
	"github.com/vladimirvivien/gowfs"
)

funcmain(){
	fs,err:=gowfs.NewFileSystem(gowfs.Configuration{Addr:"localhost:50070",User:"hadoop"})
	iferr!=nil{
	log.Fatal(err)
	}
	checksum,err:=fs.GetFileChecksum(gowfs.Path{Name:"/user/kafka/hello.txt"})
	iferr!=nil{
	log.Fatal(err)
	}
	fmt.Println(checksum)

	createTestDir(fs,"/user/kafka/hello1.txt")	
}

funccreateTestDir(fs*gowfs.FileSystem,hdfsPathstring){
	path:=gowfs.Path{Name:hdfsPath}
	ok,err:=fs.MkDirs(path,0744)
	iferr!=nil||!ok{
		log.Fatal("Unabletocreatetestdirectory",hdfsPath,":",err)
	}
	log.Println("HDFSPath",path.Name,"created.")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读