STORM入门之(集成HDFS)
来源:互联网 发布:mac导入照片不清晰 编辑:程序博客网 时间:2024/06/14 19:03
总体
Storm集成hdfs需要做前期工作
1.hadoop单机版安装
2.自己写hdfs demo 查看是否写入成功
首先让我们来安装hadoop
版本:hadoop-2.6.5.tar
jdk:1.7
Hadoop部分
(1)hadoop配置文件修改
core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/soc/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://10.176.63.105:9000</value> </property></configuration>hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/soc/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/soc/hadoop/tmp/dfs/data</value> </property><property><name>dfs.permissions.enabled</name> <value>false</value></property></configuration>
(2)hadoop用户免密码操作:http://blog.csdn.net/yl3395017/article/details/78496979
(3)hadoop-native-64-2.6.0.tar增加解压后的文件放入到hadoop-2.6.5/lib
(4)如果在windows平台调用centos平台的hadoop ,需要在system32下加入hadoop2.6(x64)V0.2.zip中的hadoop.dll 否则会报错
(5)别忘记修改目录权限
(6)启动namenode datanode secondnamenode 脚本在hadoop-2.6.5/bin 或者是/sbin下
./start-dfs.sh
./stop-dfs.sh
(7)jps查看是否启动 namenode datanode secondnamenode 如果报错 需要查看hadoop日志
STROM部分
bolt构建
private static HdfsBolt HdfsConfig(){ // 输出字段分隔符 RecordFormat format = new DelimitedRecordFormat().withFieldDelimiter("|"); // 每1000个tuple同步到HDFS一次 SyncPolicy syncPolicy = new CountSyncPolicy(1000); // 每个写出文件的大小为100MB FileRotationPolicy rotationPolicy = new FileSizeRotationPolicy(100.0f, FileSizeRotationPolicy.Units.MB); // 设置输出目录 FileNameFormat fileNameFormat = new DefaultFileNameFormat().withPath("/soc/hadoop/tmp/dfs/data"); // 执行HDFS地址 HdfsBolt hdfsBolt = new HdfsBolt() .withFsUrl("hdfs://10.176.63.105:9000") .withFileNameFormat(fileNameFormat) .withRecordFormat(format) .withRotationPolicy(rotationPolicy) .withSyncPolicy(syncPolicy); return hdfsBolt; }
Toplogy构建方式
builder.setBolt("Hdfs", HdfsConfig())
public static void ReadFile() throws Exception { String uri = "hdfs://10.176.63.105:9000/soc/hadoop/tmp/dfs/data/Hdfs-1-0-1510634654752.txt"; Configuration conf = new Configuration(); FileSystem fs = FileSystem. get(URI.create (uri), conf); InputStream in = null; try { in = fs.open( new Path(uri)); IOUtils.copyBytes(in, System.out, 4096, false); } finally { IOUtils.closeStream(in); } }
具体的hadoop详情可以在 http://localhost:50070 查看
注意 localhost改为你自己的hadoop服务器
结果
启动storm入库生成hdfs文件成功
通过demo查询 hdfs 成功
阅读全文
0 0
- STORM入门之(集成HDFS)
- STORM入门之(集成KafkaBolt)
- STORM入门之(集成KafkaSpout)
- STORM入门之(集成ElasticSearch)
- STORM入门之(集成Redis)
- STORM入门之(TridentTopology集成Kafka)
- STORM入门之(Flume Kafka集成架构)
- STORM入门之(基本Shell命令)
- STORM入门之(Topology简易Demo)
- STORM入门之(TridentAPI,Each)
- STORM入门之(TridentAPI,Aggregation)
- STORM入门之(yaml配置文件说明)
- STORM入门之(TridentAPI,partition)
- Storm入门之第一章
- Storm入门之第一章
- Storm入门之第一章
- Storm入门之第一章
- Storm1.1.0<温故而知新--hdfs和storm的集成>
- 一看就懂的Linux系统vi(vim)编辑器命令使用教程
- ES时区问题
- Linux IO
- Linux执行命令提示:bash:command not found
- eclipse中SQLExplorer的下载与使用
- STORM入门之(集成HDFS)
- クレイジー描画ボード
- MFC画线
- java读取项目里配置文件properties的工具
- 怎么解决java.lang.NoClassDefFoundError错误
- redis.conf配置
- 基于C语言的hash表
- Go语言 --- slice切片
- 如何设置多选框使之只可以选择一项