fluent-plugin-webhdfs 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5df26424bd649dd03e273297dc2f0d0a8c58a2d1
4
- data.tar.gz: 06554c7a7da3c9a0a2ecaa1654212368ba0f196e
3
+ metadata.gz: e67f69a6f94c64ebe9b463b262111626a5cfb0e3
4
+ data.tar.gz: 9786c0456e296851caf6001898c8e30751724b04
5
5
  SHA512:
6
- metadata.gz: 417ef686757c6fdc7b66128a1f7296050f821a7d42f658f2e933f14c5002254832a289935b7b99752014248331992baef818a7563660b2c524ef81ea4aa76231
7
- data.tar.gz: d22224126c6324b21ea505159a2d8a2487270cead8a0ee39181b5fa3a23459b7296210cf54aa613fc64fc7ca02acf79d0efc98089c3db5169ac743e735ba7c6b
6
+ metadata.gz: 6766521d3edaf773135c7d948ba0f8989241535795f7a38d61961c3dd9823df83955c0e4f817b029600c8e83495e24443015d2b863f68dd911dc6ea7ca5f8274
7
+ data.tar.gz: 3834bcb691d9d5c86df91169f44f77a9aaad09754d849919138be5ce403271b3a168c3620a0bbafc80bd8f3a2553cc0b3fd97bc14e794c0637dd1cc06dc3c7ec
data/README.md CHANGED
@@ -93,6 +93,33 @@ Store data as TSV (TAB separated values) of specified keys, without time, with t
93
93
 
94
94
  If message doesn't have specified attribute, fluent-plugin-webhdfs outputs 'NULL' instead of values.
95
95
 
96
+ With ssl:
97
+
98
+ <match access.**>
99
+ type webhdfs
100
+ host namenode.your.cluster.local
101
+ port 50070
102
+ path /path/on/hdfs/access.log.%Y%m%d_%H.log
103
+ ssl true
104
+ ssl_ca_file /path/to/ca_file.pem # if needed
105
+ ssl_verify_mode peer # if needed (peer or none)
106
+ </match>
107
+
108
+ Here `ssl_verify_mode peer` means to verify the server's certificate.
109
+ You can turn off it by setting `ssl_verify_mode none`. The default is `peer`.
110
+ See [net/http](http://www.ruby-doc.org/stdlib-2.1.3/libdoc/net/http/rdoc/Net/HTTP.html)
111
+ and [openssl](http://www.ruby-doc.org/stdlib-2.1.3/libdoc/openssl/rdoc/OpenSSL.html) documentation for further details.
112
+
113
+ With kerberos authentication:
114
+
115
+ <match access.**>
116
+ type webhdfs
117
+ host namenode.your.cluster.local
118
+ port 50070
119
+ path /path/on/hdfs/access.log.%Y%m%d_%H.log
120
+ kerberos true
121
+ </match>
122
+
96
123
  ### Namenode HA / Auto retry for WebHDFS known errors
97
124
 
98
125
  `fluent-plugin-webhdfs` (v0.2.0 or later) accepts 2 namenodes for Namenode HA (active/standby). Use `standby_namenode` like this:
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "fluent-plugin-webhdfs"
5
- gem.version = "0.3.1"
5
+ gem.version = "0.4.0"
6
6
  gem.authors = ["TAGOMORI Satoshi"]
7
7
  gem.email = ["tagomoris@gmail.com"]
8
8
  gem.summary = %q{Fluentd plugin to write data on HDFS over WebHDFS, with flexible formatting}
@@ -19,5 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_runtime_dependency "fluentd", '>= 0.10.53'
20
20
  gem.add_runtime_dependency "fluent-mixin-plaintextformatter", '>= 0.2.1'
21
21
  gem.add_runtime_dependency "fluent-mixin-config-placeholders", ">= 0.3.0"
22
- gem.add_runtime_dependency "webhdfs", '>= 0.5.3'
22
+ gem.add_runtime_dependency "webhdfs", '>= 0.6.0'
23
23
  end
@@ -41,6 +41,21 @@ class Fluent::WebHDFSOutput < Fluent::TimeSlicedOutput
41
41
 
42
42
  config_param :append, :bool, :default => true
43
43
 
44
+ config_param :ssl, :bool, :default => false
45
+ config_param :ssl_ca_file, :string, :default => nil
46
+ config_param :ssl_verify_mode, :default => nil do |val|
47
+ case val
48
+ when 'none'
49
+ :none
50
+ when 'peer'
51
+ :peer
52
+ else
53
+ raise ConfigError, "unexpected parameter on ssl_verify_mode: #{val}"
54
+ end
55
+ end
56
+
57
+ config_param :kerberos, :bool, :default => false
58
+
44
59
  CHUNK_ID_PLACE_HOLDER = '${chunk_id}'
45
60
 
46
61
  def initialize
@@ -120,6 +135,14 @@ class Fluent::WebHDFSOutput < Fluent::TimeSlicedOutput
120
135
  client.retry_interval = @retry_interval if @retry_interval
121
136
  client.retry_times = @retry_times if @retry_times
122
137
  end
138
+ if @ssl
139
+ client.ssl = true
140
+ client.ssl_ca_file = @ssl_ca_file if @ssl_ca_file
141
+ client.ssl_verify_mode = @ssl_verify_mode if @ssl_verify_mode
142
+ end
143
+ if @kerberos
144
+ client.kerberos = true
145
+ end
123
146
 
124
147
  client
125
148
  end
@@ -40,6 +40,23 @@ username hdfs_user
40
40
  assert_equal '%Y%m%d%H%M', d.instance.time_slice_format
41
41
  assert_equal true, d.instance.httpfs
42
42
  assert_equal 'hdfs_user', d.instance.username
43
+
44
+ d = create_driver %[
45
+ namenode server.local:14000
46
+ path /hdfs/path/file.%Y%m%d.%H%M.log
47
+ ssl true
48
+ ssl_ca_file /path/to/ca_file.pem
49
+ ssl_verify_mode peer
50
+ kerberos true
51
+ ]
52
+ assert_equal 'server.local', d.instance.instance_eval{ @namenode_host }
53
+ assert_equal 14000, d.instance.instance_eval{ @namenode_port }
54
+ assert_equal '/hdfs/path/file.%Y%m%d.%H%M.log', d.instance.path
55
+ assert_equal '%Y%m%d%H%M', d.instance.time_slice_format
56
+ assert_equal true, d.instance.ssl
57
+ assert_equal '/path/to/ca_file.pem', d.instance.ssl_ca_file
58
+ assert_equal :peer, d.instance.ssl_verify_mode
59
+ assert_equal true, d.instance.kerberos
43
60
  end
44
61
 
45
62
  def test_configure_placeholders
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-webhdfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-29 00:00:00.000000000 Z
11
+ date: 2014-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.5.3
75
+ version: 0.6.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.5.3
82
+ version: 0.6.0
83
83
  description: For WebHDFS and HttpFs of Hadoop HDFS
84
84
  email:
85
85
  - tagomoris@gmail.com
@@ -124,4 +124,3 @@ summary: Fluentd plugin to write data on HDFS over WebHDFS, with flexible format
124
124
  test_files:
125
125
  - test/helper.rb
126
126
  - test/plugin/test_out_webhdfs.rb
127
- has_rdoc: