配置Idea的Go开发环境
获取IDEA
最新版戳这里下载,下载对应平台的版本,一般来说,社区版(Community Edition)就已经足够了。
安装IDEA。Windows和Mac是安装版,一步一步安装完成即可;Linux是免安装版,解压,给IDEA的执行文件添加可执行权限即可。假设安装目录是H:\software\dev\JetBrains\IntelliJ IDEA Community Edition 14.1.1,其他平台自行设置目录。
获取Go
Go的官方网站是http://golang.org/,下载地址,但是鉴于中国网络问题,不科学上网则没法下载,各位同学可以从这里下载,最好下载最新的,当然这个网站(https://studygolang.com)本身就是国内较活跃的一个Go社区。
下载后解压到本地目录,假设安装目录是H:\software\dev\go。其他平台自行设置目录。
获取Git和hg因为Go get命令要使用到git或者hg,所以需要安装git和hg。git可以从这里下载, hg(执行命令是hg,实际下载的软件叫mercurial)可以从这里下载,加入git安装到H:\softw ...
go读取文件
使用File不多说,直接上代码1234567891011121314151617181920212223242526272829303132func readUseFile() { file, err := os.Open("f:/file.txt") handleError(err) defer file.Close() buf := make([]byte, 512) for { n, err := file.Read(buf) //1 // if err != nil && err == io.EOF { // break // } //2 // if n == 0 { // break // } //3 if n == 0 && err != nil && err == io.EOF { break } fmt.Print(n) fmt.Print(string(buf)) } ...
go交叉编译
1.5之前需要进入go安装目录下的src目录,然后执行GOOS=windows GOARCH=i386 CGO_ENABLED=0 ./make.bash --no-clean
1.5及其之后可以直接执行CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -o 输出文件名 go文件其中GOOS有:windows,linux,darwin也就是mac系统GOARCH有:adm64和386分别对应64位平台和32位平台
go中main
想必很多朋友在入门的时候都是拿main开始,而不是test,我也喜欢这样,我想可能是main比较为人熟知的用法吧,test在go中也是非常友好的,不需要依赖其他库就可方便使用。既然都偏向于main方法的开始和入门,那么这个博文就说一下go语言main相关的事情。原本只打算写一下main包的拆分和运行方式,突然想到还有其他一些注意地方,那么就一并记录一下,其他的如果使用过程中遇到了,再进行记录。以下示例都是在GOPATH下进行
main函数定义想要作为程序的运行入口,那么这个函数必须明明为main,同时要放到main包。main函数声明极其简单,如下:
123func main(){ //...}
这样就声明并定义好了程序的运行的入口函数,不需要其他额外的参数和返回值。加上包的声明,完整的main文件就如下格式:
123package mainfunc main() {}
另外main文件名字可以随意命名,只需要后缀是.go就可以了,如:a.go, main.go, server.go等都是可以的。
main 的运行要运行main文件,go提 ...
golang入门
本文同步发表于我的简书,点此穿越
Go 基本介绍Go发展早在2007年9月,Go语言还是这帮大牛的20%自由时间的实验项目。 幸运的是, 到了2008年5月 , Google发现了Go语言的巨大潜力, 从而开始全力支持这个项目 , 让这批人可以全身心投入Go语言的设计和开发工作中。 Go语言的第一个版本在2009年11月正式对外发布,并在此后的两年内快速迭代,发展迅猛。 第一个正式版本的Go语言于2012年3月28 日正式发布, 让Go语言迎来了第一个引人瞩目的里程碑。截至现在,Go已经更新到1.5版本,1.5正式版就在8月份中旬发布。Go编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性 的模块化程序。Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。
Go语言最主要的特性:
自动垃圾回收
更丰富的内置类型
函数多返回值
错误处理
匿名函数和闭包
类型和接口
并发编程
反射
语言交互性
开发 ...
无题
下载Gogo官方网站在大陆已经被和谐,要访问,如果没有梯子,这里有个传送门,可以在线代理访问。首先就是要下载go开发程序了,建议在此处下载对应版本。
配置Go环境## Window 环境下载对应的windows版本(注意64位和32位系统),然后解压得到go目录,假如名字就叫go,绝对路径是E:\go。右键计算机(xp 是我的电脑,windows8是这台电脑),选择属性,选择左侧的高级系统设置,接下来选择环境变量,出现环境变量的对话框。上面是当前用户的环境变量,也就是说配置的变量只是针对当前用户生效;下面是系统变量,对于整个系统的所有用户生效。我习惯于配置成系统变量,在此也是用系统变量举例。点击系统变量下的新建按钮,变量名填写 GOROOT,变量值填写上面解压后的go路径,在这也就是 E:\go,然后点击确定。这个变量是用来配置go的home目录。再点击新建按钮,变量名填写GOPATH,变量值填写E:\gopath(gopath要存在,当然也可以选择其他文件夹),点击确定。这个变量是用来指定go查找包的路径,也是用go get 命令所需安装的位置目录。然后找到PATH变量,点击编辑,变 ...
Golang环境搭建
下载Gogo官方网站在大陆已经被和谐,要访问,如果没有梯子,这里有个传送门,可以在线代理访问。首先就是要下载go开发程序了,建议在此处下载对应版本。
配置Go环境## Window 环境下载对应的windows版本(注意64位和32位系统),然后解压得到go目录,假如名字就叫go,绝对路径是E:\go。右键计算机(xp 是我的电脑,windows8是这台电脑),选择属性,选择左侧的高级系统设置,接下来选择环境变量,出现环境变量的对话框。上面是当前用户的环境变量,也就是说配置的变量只是针对当前用户生效;下面是系统变量,对于整个系统的所有用户生效。我习惯于配置成系统变量,在此也是用系统变量举例。点击系统变量下的新建按钮,变量名填写 GOROOT,变量值填写上面解压后的go路径,在这也就是 E:\go,然后点击确定。这个变量是用来配置go的home目录。再点击新建按钮,变量名填写GOPATH,变量值填写E:\gopath(gopath要存在,当然也可以选择其他文件夹),点击确定。这个变量是用来指定go查找包的路径,也是用go get 命令所需安装的位置目录。然后找到PATH变量,点击编辑,变 ...
删除git已经跟踪的文件或者目录
如果第一次提交的时候,没有在gitignore文件中添加忽略文件,那么这些文件(目录也是文件)就会被git跟踪,push的时候也会被推送到远程。所以最好就是一开始在commit之前先添加到gitignore中。
如果文件已经被跟踪且被推送到远程,可以按照下面方法解决:1.rm -rf 文件2. git rm -r --cached 要忽略的文件3.git add -A (添加所有)4.git push origin 分支
如果同名的文件过多,如:.class 文件被提交了,那么如果这样一个一个显然效率太低,可以按照下面方法操作
find . -iname 文件名 -exec rm -rf {}\;
重复上面的步骤,文件名替换为下一个要删除的文件名
修改gitignore,添加忽略文件
git rm -r --cached 要忽略的文件
git add -A
git push origin 分支
hadoop集成hive
前置条件hadoop和yarn已经配置好并且成功运行。
选择版本和下载下载hive,有两个版本可以选择,hive1和hive2,hive2版本MR功能已经废弃,将来版本可能会直接去掉,如果要用hive的MR功能,那么请选择hive1相应版本,否则的话选哪个都可以进行测试。
配置hive
下载完hive后,解压,然后sudo vi /etc/profile编辑文件,添加环境变量
1234HIVE_HOME=hive目录的绝路路径PATH=$PATH:$HIVE_HOMEexport HIVE_HOME PATH
控制台输入source /etc/profile使环境变量生效。
进入$HIVE_HOME/conf目录,拷贝hive-default.xml.template并重命名为hive-site.xml,编辑:(如果没有该参数,请自行添加,存在则改之)
1234567891011121314151617181920212223242526272829303132<property> <name>hive.exec.scratchdir</ ...
SpingXD结合Hadoop
前言之前的文章介绍了Spring XD,以分布式方式运行Spring-XD和安装启动Hadoop集群的文章。本文将简单介绍(刚学,很LOW(⊙﹏⊙)b)SpringXD和Hadoop,HDFS结合配置和使用方法。
准备已经按照上述提到的两篇文章或者其他资料搭建并运行了SpringXD和Hadoop。
配置SpringXD
运行命令jps找到AdminServerApplication和ContainerServerApplication两项,结束进程kill 进程pid。
编辑SpingXD的配置文件server.yaml,在spring节点下增加以下hadoop的配置信息:
123456hadoop: <!-- 注意换成自己的hdfs地址 --> fsUri: hdfs://10.10.1.110:8020 resourceManagerHost: 10.10.1.110 resourceManagerPort: 8032 yarnApplicationClasspath:
然后启动xd-adminbin/xd-admin和xd-containe ...