• 【NIFI】 Apache NiFI 使用技巧


      本章介绍NIFI组件的使用。

      主要有:Nginx反向代理NIFI,配置SSLContextService

    Nginx反向代理NIFI

      使用nginx反向代理NIFI配置如下

     1 upstream nifi_server {    
     2     ip_hash;
     3     server 127.0.0.1:18002;
     4 }
     5                                                                                                                                    
     6 server {
     7     listen       80;
     8     server_name  nifi.example.com;    
     9     charset utf-8;
    10                                                                                                                                        
    11     location / {
    12         proxy_pass      http://nifi_server;
    13 
    14         proxy_set_header Host $host;
    15         proxy_set_header X-Real-IP $remote_addr;
    16         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    17         proxy_set_header X-ProxyScheme http;
    18         proxy_set_header X-ProxyHost nifi.example.com
    19         proxy_set_header X-ProxyPort 80;           
    20         proxy_set_header X-ProxyContextPath /;
    21     }
    22 }

    配置SSLContextService

      SSLContextService,可以用来发送https请求

      SSL Context Service实例配置信任库属性: 

      • Truststore文件名:Java安装中的cacerts文件
        • 如果在您的系统上设置了$JAVA_HOME,它应该有助于指向正确的方向。如果不是,cacerts的位置根据环境而变化,但是对于它们各自的OS大致如下
          • OS X: /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/jre/lib/security/cacerts
          • Windows:C:Program FilesJavajdk <version>jrelibsecurity cacerts
          • Linux:/usr/local/java-<version>/jre/lib/security/cacerts
      • Truststore类型:JKS
      • Truststore密码:如果您使用的是默认Java密钥库,则默认密码为"changeit"

      案例

        GetHTTP

        

        StandardSSLContextService

        

      模版

      1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      2 <template encoding-version="1.2">
      3     <description></description>
      4     <groupId>620351d1-0168-1000-78a0-bf68b5b23177</groupId>
      5     <name>Https-Demo</name>
      6     <snippet>
      7         <connections>
      8             <id>c27e6613-7e35-3d9c-0000-000000000000</id>
      9             <parentGroupId>25bb3a09-a84a-3df9-0000-000000000000</parentGroupId>
     10             <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
     11             <backPressureObjectThreshold>10000</backPressureObjectThreshold>
     12             <destination>
     13                 <groupId>25bb3a09-a84a-3df9-0000-000000000000</groupId>
     14                 <id>a557eeeb-009b-316d-0000-000000000000</id>
     15                 <type>PROCESSOR</type>
     16             </destination>
     17             <flowFileExpiration>0 sec</flowFileExpiration>
     18             <labelIndex>1</labelIndex>
     19             <loadBalanceCompression>DO_NOT_COMPRESS</loadBalanceCompression>
     20             <loadBalancePartitionAttribute></loadBalancePartitionAttribute>
     21             <loadBalanceStatus>LOAD_BALANCE_NOT_CONFIGURED</loadBalanceStatus>
     22             <loadBalanceStrategy>DO_NOT_LOAD_BALANCE</loadBalanceStrategy>
     23             <name></name>
     24             <selectedRelationships>success</selectedRelationships>
     25             <source>
     26                 <groupId>25bb3a09-a84a-3df9-0000-000000000000</groupId>
     27                 <id>e132b9d2-4ae9-3941-0000-000000000000</id>
     28                 <type>PROCESSOR</type>
     29             </source>
     30             <zIndex>0</zIndex>
     31         </connections>
     32         <controllerServices>
     33             <id>43bd3854-302f-30dd-0000-000000000000</id>
     34             <parentGroupId>25bb3a09-a84a-3df9-0000-000000000000</parentGroupId>
     35             <bundle>
     36                 <artifact>nifi-ssl-context-service-nar</artifact>
     37                 <group>org.apache.nifi</group>
     38                 <version>1.8.0</version>
     39             </bundle>
     40             <comments></comments>
     41             <descriptors>
     42                 <entry>
     43                     <key>Keystore Filename</key>
     44                     <value>
     45                         <name>Keystore Filename</name>
     46                     </value>
     47                 </entry>
     48                 <entry>
     49                     <key>Keystore Password</key>
     50                     <value>
     51                         <name>Keystore Password</name>
     52                     </value>
     53                 </entry>
     54                 <entry>
     55                     <key>key-password</key>
     56                     <value>
     57                         <name>key-password</name>
     58                     </value>
     59                 </entry>
     60                 <entry>
     61                     <key>Keystore Type</key>
     62                     <value>
     63                         <name>Keystore Type</name>
     64                     </value>
     65                 </entry>
     66                 <entry>
     67                     <key>Truststore Filename</key>
     68                     <value>
     69                         <name>Truststore Filename</name>
     70                     </value>
     71                 </entry>
     72                 <entry>
     73                     <key>Truststore Password</key>
     74                     <value>
     75                         <name>Truststore Password</name>
     76                     </value>
     77                 </entry>
     78                 <entry>
     79                     <key>Truststore Type</key>
     80                     <value>
     81                         <name>Truststore Type</name>
     82                     </value>
     83                 </entry>
     84                 <entry>
     85                     <key>SSL Protocol</key>
     86                     <value>
     87                         <name>SSL Protocol</name>
     88                     </value>
     89                 </entry>
     90             </descriptors>
     91             <name>StandardSSLContextService</name>
     92             <persistsState>false</persistsState>
     93             <properties>
     94                 <entry>
     95                     <key>Keystore Filename</key>
     96                 </entry>
     97                 <entry>
     98                     <key>Keystore Password</key>
     99                 </entry>
    100                 <entry>
    101                     <key>key-password</key>
    102                 </entry>
    103                 <entry>
    104                     <key>Keystore Type</key>
    105                 </entry>
    106                 <entry>
    107                     <key>Truststore Filename</key>
    108                     <value>/data/soft/jdk1.8.0_181/jre/lib/security/cacerts</value>
    109                 </entry>
    110                 <entry>
    111                     <key>Truststore Password</key>
    112                 </entry>
    113                 <entry>
    114                     <key>Truststore Type</key>
    115                     <value>JKS</value>
    116                 </entry>
    117                 <entry>
    118                     <key>SSL Protocol</key>
    119                 </entry>
    120             </properties>
    121             <state>ENABLED</state>
    122             <type>org.apache.nifi.ssl.StandardSSLContextService</type>
    123         </controllerServices>
    124         <processors>
    125             <id>a557eeeb-009b-316d-0000-000000000000</id>
    126             <parentGroupId>25bb3a09-a84a-3df9-0000-000000000000</parentGroupId>
    127             <position>
    128                 <x>0.0</x>
    129                 <y>250.0</y>
    130             </position>
    131             <bundle>
    132                 <artifact>nifi-standard-nar</artifact>
    133                 <group>org.apache.nifi</group>
    134                 <version>1.8.0</version>
    135             </bundle>
    136             <config>
    137                 <bulletinLevel>WARN</bulletinLevel>
    138                 <comments></comments>
    139                 <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
    140                 <descriptors>
    141                     <entry>
    142                         <key>Regular Expression</key>
    143                         <value>
    144                             <name>Regular Expression</name>
    145                         </value>
    146                     </entry>
    147                     <entry>
    148                         <key>Replacement Value</key>
    149                         <value>
    150                             <name>Replacement Value</name>
    151                         </value>
    152                     </entry>
    153                     <entry>
    154                         <key>Character Set</key>
    155                         <value>
    156                             <name>Character Set</name>
    157                         </value>
    158                     </entry>
    159                     <entry>
    160                         <key>Maximum Buffer Size</key>
    161                         <value>
    162                             <name>Maximum Buffer Size</name>
    163                         </value>
    164                     </entry>
    165                     <entry>
    166                         <key>Replacement Strategy</key>
    167                         <value>
    168                             <name>Replacement Strategy</name>
    169                         </value>
    170                     </entry>
    171                     <entry>
    172                         <key>Evaluation Mode</key>
    173                         <value>
    174                             <name>Evaluation Mode</name>
    175                         </value>
    176                     </entry>
    177                 </descriptors>
    178                 <executionNode>ALL</executionNode>
    179                 <lossTolerant>false</lossTolerant>
    180                 <penaltyDuration>30 sec</penaltyDuration>
    181                 <properties>
    182                     <entry>
    183                         <key>Regular Expression</key>
    184                         <value>(?s)(^.*$)</value>
    185                     </entry>
    186                     <entry>
    187                         <key>Replacement Value</key>
    188                         <value>$1</value>
    189                     </entry>
    190                     <entry>
    191                         <key>Character Set</key>
    192                         <value>UTF-8</value>
    193                     </entry>
    194                     <entry>
    195                         <key>Maximum Buffer Size</key>
    196                         <value>1 MB</value>
    197                     </entry>
    198                     <entry>
    199                         <key>Replacement Strategy</key>
    200                         <value>Regex Replace</value>
    201                     </entry>
    202                     <entry>
    203                         <key>Evaluation Mode</key>
    204                         <value>Entire text</value>
    205                     </entry>
    206                 </properties>
    207                 <runDurationMillis>0</runDurationMillis>
    208                 <schedulingPeriod>0 sec</schedulingPeriod>
    209                 <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
    210                 <yieldDuration>1 sec</yieldDuration>
    211             </config>
    212             <executionNodeRestricted>false</executionNodeRestricted>
    213             <name>ReplaceText</name>
    214             <relationships>
    215                 <autoTerminate>false</autoTerminate>
    216                 <name>failure</name>
    217             </relationships>
    218             <relationships>
    219                 <autoTerminate>false</autoTerminate>
    220                 <name>success</name>
    221             </relationships>
    222             <state>STOPPED</state>
    223             <style/>
    224             <type>org.apache.nifi.processors.standard.ReplaceText</type>
    225         </processors>
    226         <processors>
    227             <id>e132b9d2-4ae9-3941-0000-000000000000</id>
    228             <parentGroupId>25bb3a09-a84a-3df9-0000-000000000000</parentGroupId>
    229             <position>
    230                 <x>0.0</x>
    231                 <y>0.0</y>
    232             </position>
    233             <bundle>
    234                 <artifact>nifi-standard-nar</artifact>
    235                 <group>org.apache.nifi</group>
    236                 <version>1.8.0</version>
    237             </bundle>
    238             <config>
    239                 <bulletinLevel>WARN</bulletinLevel>
    240                 <comments></comments>
    241                 <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
    242                 <descriptors>
    243                     <entry>
    244                         <key>URL</key>
    245                         <value>
    246                             <name>URL</name>
    247                         </value>
    248                     </entry>
    249                     <entry>
    250                         <key>Filename</key>
    251                         <value>
    252                             <name>Filename</name>
    253                         </value>
    254                     </entry>
    255                     <entry>
    256                         <key>SSL Context Service</key>
    257                         <value>
    258                             <identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
    259                             <name>SSL Context Service</name>
    260                         </value>
    261                     </entry>
    262                     <entry>
    263                         <key>Username</key>
    264                         <value>
    265                             <name>Username</name>
    266                         </value>
    267                     </entry>
    268                     <entry>
    269                         <key>Password</key>
    270                         <value>
    271                             <name>Password</name>
    272                         </value>
    273                     </entry>
    274                     <entry>
    275                         <key>Connection Timeout</key>
    276                         <value>
    277                             <name>Connection Timeout</name>
    278                         </value>
    279                     </entry>
    280                     <entry>
    281                         <key>Data Timeout</key>
    282                         <value>
    283                             <name>Data Timeout</name>
    284                         </value>
    285                     </entry>
    286                     <entry>
    287                         <key>User Agent</key>
    288                         <value>
    289                             <name>User Agent</name>
    290                         </value>
    291                     </entry>
    292                     <entry>
    293                         <key>Accept Content-Type</key>
    294                         <value>
    295                             <name>Accept Content-Type</name>
    296                         </value>
    297                     </entry>
    298                     <entry>
    299                         <key>Follow Redirects</key>
    300                         <value>
    301                             <name>Follow Redirects</name>
    302                         </value>
    303                     </entry>
    304                     <entry>
    305                         <key>redirect-cookie-policy</key>
    306                         <value>
    307                             <name>redirect-cookie-policy</name>
    308                         </value>
    309                     </entry>
    310                     <entry>
    311                         <key>proxy-configuration-service</key>
    312                         <value>
    313                             <identifiesControllerService>org.apache.nifi.proxy.ProxyConfigurationService</identifiesControllerService>
    314                             <name>proxy-configuration-service</name>
    315                         </value>
    316                     </entry>
    317                     <entry>
    318                         <key>Proxy Host</key>
    319                         <value>
    320                             <name>Proxy Host</name>
    321                         </value>
    322                     </entry>
    323                     <entry>
    324                         <key>Proxy Port</key>
    325                         <value>
    326                             <name>Proxy Port</name>
    327                         </value>
    328                     </entry>
    329                 </descriptors>
    330                 <executionNode>ALL</executionNode>
    331                 <lossTolerant>false</lossTolerant>
    332                 <penaltyDuration>30 sec</penaltyDuration>
    333                 <properties>
    334                     <entry>
    335                         <key>URL</key>
    336                         <value>https://www.baidu.com</value>
    337                     </entry>
    338                     <entry>
    339                         <key>Filename</key>
    340                         <value>index.html</value>
    341                     </entry>
    342                     <entry>
    343                         <key>SSL Context Service</key>
    344                         <value>43bd3854-302f-30dd-0000-000000000000</value>
    345                     </entry>
    346                     <entry>
    347                         <key>Username</key>
    348                     </entry>
    349                     <entry>
    350                         <key>Password</key>
    351                     </entry>
    352                     <entry>
    353                         <key>Connection Timeout</key>
    354                         <value>30 sec</value>
    355                     </entry>
    356                     <entry>
    357                         <key>Data Timeout</key>
    358                         <value>30 sec</value>
    359                     </entry>
    360                     <entry>
    361                         <key>User Agent</key>
    362                     </entry>
    363                     <entry>
    364                         <key>Accept Content-Type</key>
    365                     </entry>
    366                     <entry>
    367                         <key>Follow Redirects</key>
    368                         <value>false</value>
    369                     </entry>
    370                     <entry>
    371                         <key>redirect-cookie-policy</key>
    372                         <value>default</value>
    373                     </entry>
    374                     <entry>
    375                         <key>proxy-configuration-service</key>
    376                     </entry>
    377                     <entry>
    378                         <key>Proxy Host</key>
    379                     </entry>
    380                     <entry>
    381                         <key>Proxy Port</key>
    382                     </entry>
    383                 </properties>
    384                 <runDurationMillis>0</runDurationMillis>
    385                 <schedulingPeriod>10 sec</schedulingPeriod>
    386                 <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
    387                 <yieldDuration>1 sec</yieldDuration>
    388             </config>
    389             <executionNodeRestricted>false</executionNodeRestricted>
    390             <name>GetHTTP</name>
    391             <relationships>
    392                 <autoTerminate>false</autoTerminate>
    393                 <name>success</name>
    394             </relationships>
    395             <state>STOPPED</state>
    396             <style/>
    397             <type>org.apache.nifi.processors.standard.GetHTTP</type>
    398         </processors>
    399     </snippet>
    400     <timestamp>01/19/2019 02:06:56 CST</timestamp>
    401 </template>
    View Code

        

      

  • 相关阅读:
    HDU 4291 A Short problem 第37届ACM/ICPC 成都赛区网络赛1004题 (找规律,取模求循环节)
    POJ 1276 Cash Machine(多重背包)
    HDU 4296 Buildings 第37届ACM/ICPC 成都赛区网络赛1009题 (贪心)
    POJ 2392 Space Elevator (多重背包)
    Mysql配置SSL
    error C2471: cannot update program database vc90.pdb
    Android 总结 转载
    MAX SDK的INode的变换矩阵,以及Object的一些常识
    C++游戏开发需要阅读的书籍
    游戏程序员养成计划
  • 原文地址:https://www.cnblogs.com/h--d/p/10290362.html
Copyright © 2020-2023  润新知