C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
来源:互联网 发布:国际歌在中国禁止知乎 编辑:程序博客网 时间:2024/06/10 02:34
代码:
#include "/usr/local/hadoop/src/c++/libhdfs/hdfs.h"int main(int argc, char **argv) {if (argc != 2) {fprintf(stderr, "Usage: hdfs_write \n");exit(-1);} hdfsFS fs = hdfsConnect("default", 0);if (!fs) {fprintf(stderr, "Oops! Failed to connect to hdfs!\n");exit(-1);}const char* readFileName = argv[1];//tSize bufferSize = strtoul(argv[2], NULL, 10);tSize bufferSize = 100;hdfsFile readFile = hdfsOpenFile(fs, readFileName, O_RDONLY, bufferSize,3, 100);if (!readFile) {fprintf(stderr, "Failed to open %s for reading!\n", readFileName);exit(-2);}printf("readFile = %d\n", readFile);// data to be written to the filechar* buffer = malloc(sizeof(char) * bufferSize);if (buffer == NULL) {printf("malloc erro\n");return -2;}// write to the file//tSize nrRemaining;//for (nrRemaining = fileTotalSize; nrRemaining > 0; nrRemaining -= bufferSize) {//int curSize = (bufferSize < nrRemaining) ? bufferSize : (int) nrRemaining;memset(buffer, 0, bufferSize);int getNum = hdfsRead(fs, readFile, (void*) buffer, 20);printf("读到%d个字符\n", getNum);buffer[sizeof(buffer) + 1] = '\0';printf("读到的内容为:%s*\n", buffer);//}free(buffer);hdfsCloseFile(fs, readFile);hdfsDisconnect (fs);return 0;}
通过几经折腾终于编译成功,可是运行后查看网页http://localhost:50075/browseDirectory.jsp,
老是没有效果。
hadoop@springwater-Aspire-4743:/usr/local/hadoop/test$ ./test /my/t.txt readFile = 166133208读到0个字符读到的内容为:*后来去查看了hdfsOpenFile的参数说明,发现:
hdfsFS fs = hdfsConnect("default", 0);
默认是连接本地文件系统。
想要连接分布式系统,还得知名host和port
改为:
hdfsFS fs = hdfsConnect("localhost", 9000);就ok了。
hadoop@springwater-Aspire-4743:/usr/local/hadoop/test$ ./test /my/t.txt readFile = 167189144读到20个字符读到的内容为:郭��*
哈哈哈哈,终于java和c的实例程序搞定了。sooooooooooo happy!
- C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
- C程序访问hadoop程序编译通过后在运行的时候出现:WARN util.NativeCodeLoader错误。
- libcurl POST访问网页后,好像没有POST成功参数
- Hadoop namenode 没有运行 解决方案
- C程序访问hadoop出现的各种编译错误和运行时各种类DefFound异常的解决方法(makefile的书写和环境变量的配置)
- 最近AndroidStudio遇到了好几次奇怪的问题,程序正确,调试就是运行错误
- C程序访问hadoop运行时遇到的各种问题以及解决方案(环境变量不被sudo继承)
- c# wpf项目运行调试后看到设置的项目图标没有正确显示出来解决方案
- 计算器程序,支持+-*/和(),以#号结尾,有词法分析,和运算,没有语法分析是否正确,但是只要输入正确就能运行
- 连接mini2440后,超级终端没有显示的可能原因之:串行接口(交叉线和直连线的区别)
- android通过访问网页查看网页源码
- R6043 号错误解决方案,包含使用8.0版链接器链接的ASM程序访问C运行库时出现的错误,ASM32中访问C库函数
- C/C++程序实现通过http代理访问网页内容
- C/C++程序实现通过http代理访问网页内容
- C语言编译通过,运行结果显示拒绝访问
- tomcat ssl问题 弹出 “即将通过安全连接查看网页“然后就没有下文了
- osx中终端里面没有运行.bashrc的原因
- osx中终端里面没有运行.bashrc的原因
- 将SIM卡上的联系人导入Android手机中
- c++——>变量
- VBox+Netbeans——Linux下的PHP开发环境
- HDU-2047阿牛的EOF牛肉串
- 『MySQL』时间差
- C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
- GoF23种设计模式之创建型模式之原型模式
- c++-->常量
- TabHost 控件有整个工程,0分下载
- 利用Cookie实现自动登录,尽量做到安全
- C和C++混合编程(error C2059: syntax error : 'string')
- git中各个commit节点的查询 回溯 与 合并:git rebase与git reset
- jdk环境变量的配置
- 黑马程序员——设计模式-单例模式&工厂模式