அப்பாச்சி ஃப்ளூம் டுடோரியல்: கட்டிடக்கலை மற்றும் ஹடூப் உதாரணம் என்ன

ஹடூப்பில் அப்பாச்சி ஃப்ளூம் என்றால் என்ன?

அப்பாச்சி ஃப்ளூம் பாரிய அளவிலான பதிவுத் தரவைச் சேகரித்தல், திரட்டுதல் மற்றும் நகர்த்துவதற்கான நம்பகமான மற்றும் விநியோகிக்கப்பட்ட அமைப்பாகும். ஸ்ட்ரீமிங் தரவு ஓட்டங்களின் அடிப்படையில் இது எளிமையான மற்றும் நெகிழ்வான கட்டமைப்பைக் கொண்டுள்ளது. அப்பாச்சி ஃப்ளூம் வலைச் சேவையகங்களிலிருந்து பதிவு கோப்புகளில் உள்ள பதிவுத் தரவைச் சேகரித்து பகுப்பாய்வுக்காக HDFS இல் திரட்ட பயன்படுகிறது.

ஹடூப்பில் உள்ள ஃப்ளூம் பல ஆதாரங்களை ஆதரிக்கிறது -

  • 'வால்' (இது ஒரு உள்ளூர் கோப்பிலிருந்து தரவை குழாய் மற்றும் யூஎனிக்ஸ் கட்டளை 'வால்' போன்ற ஃப்ளூம் வழியாக HDFS இல் எழுதுகிறது)
  • கணினி பதிவுகள்
  • அப்பாச்சி பதிவு 4 ஜே (ஃப்ளூம் வழியாக HDFS இல் கோப்புகளுக்கு நிகழ்வுகளை எழுத ஜாவா பயன்பாடுகளை இயக்கவும்).

இந்த அப்பாச்சி ஃப்ளூம் டுடோரியலில், நீங்கள் கற்றுக்கொள்வீர்கள்-

ஃப்ளூம் கட்டிடக்கலை

TO ஃப்ளூம் ஏஜென்ட் ஒரு ஜேவிஎம் 3 கூறுகளைக் கொண்ட செயல்முறை - ஃப்ளூம் ஆதாரம், ஃப்ளூம் சேனல் மற்றும் ஃப்ளூம் சிங்க் - வெளிப்புற மூலத்தில் தொடங்கப்பட்ட பிறகு நிகழ்வுகள் பரவுகின்றன.

ஃப்ளூம் கட்டிடக்கலை

  1. மேலே உள்ள வரைபடத்தில், வெளிப்புற மூலத்தால் (வெப் சர்வர்) உருவாக்கப்பட்ட நிகழ்வுகள் ஃப்ளூம் தரவு மூலத்தால் நுகரப்படும். வெளிப்புற ஆதாரம் இலக்கு மூலத்தால் அங்கீகரிக்கப்பட்ட வடிவத்தில் ஃப்ளூம் மூலத்திற்கு நிகழ்வுகளை அனுப்புகிறது.
  2. ஃப்ளூம் சோர்ஸ் ஒரு நிகழ்வைப் பெற்று அதை ஒன்று அல்லது அதற்கு மேற்பட்ட சேனல்களில் சேமிக்கிறது. சேனல் ஒரு கடையாக செயல்படுகிறது, இது நிகழ்வை ஃப்ளூம் மூழ்கி நுகரும் வரை வைத்திருக்கிறது. இந்த நிகழ்வுகளைச் சேமிப்பதற்காக இந்தச் சேனல் உள்ளூர் கோப்பு முறையைப் பயன்படுத்தலாம்.
  3. ஃப்ளூம் சிங்க் நிகழ்வை ஒரு சேனலில் இருந்து நீக்கி எ.கா., HDFS போன்ற வெளிப்புறக் களஞ்சியத்தில் சேமிக்கிறது. பல ஃப்ளூம் ஏஜெண்டுகள் இருக்கலாம், இந்த விஷயத்தில் ஃப்ளூம் சிங்க் நிகழ்வை அடுத்த ஃப்ளூம் ஏஜெண்டின் ஃப்ளூம் மூலத்திற்கு ஓட்டத்தில் முன்னோக்கி அனுப்புகிறது.

FLUME இன் சில முக்கிய அம்சங்கள்

  • ஸ்ட்ரீமிங் தரவு ஓட்டங்களின் அடிப்படையில் ஃப்ளூம் ஒரு நெகிழ்வான வடிவமைப்பைக் கொண்டுள்ளது. இது பல தோல்விகள் மற்றும் மீட்பு வழிமுறைகளுடன் தவறு சகிப்புத்தன்மை மற்றும் வலிமையானது. ஃப்ளூம் பிக் டேட்டா பல்வேறு நிலைகளில் நம்பகத்தன்மையைக் கொண்டுள்ளது 'சிறந்த முயற்சி டெலிவரி' மற்றும் ஒரு 'முடிவிலிருந்து இறுதி வரை' . சிறந்த முயற்சி டெலிவரி எந்த ஃப்ளூம் முனை செயலிழப்பையும் பொறுத்துக்கொள்ளாது 'முடிவிலிருந்து இறுதி வரை' பல முனை செயலிழப்புகள் ஏற்பட்டாலும் பயன்முறை விநியோகத்திற்கு உத்தரவாதம் அளிக்கிறது.
  • ஃப்ளூம் ஆதாரங்கள் மற்றும் மூழ்கிகளுக்கு இடையில் தரவைக் கொண்டுள்ளது. இந்த தரவு சேகரிப்பு திட்டமிடப்பட்டதாகவோ அல்லது நிகழ்வு சார்ந்ததாகவோ இருக்கலாம். ஃப்ளூம் அதன் சொந்த வினவல் செயலாக்க இயந்திரத்தைக் கொண்டுள்ளது, இது ஒவ்வொரு புதிய தொகுதி தரவையும் நோக்கம் கொண்ட மடுவுக்கு மாற்றுவதற்கு முன் மாற்றுவதை எளிதாக்குகிறது.
  • சாத்தியம் ஃப்ளூம் மூழ்குகிறது சேர்க்கிறது HDFS மற்றும் HBase . ஃப்ளூம் ஹடூப் நெட்வொர்க் டிராஃபிக் டேட்டா, சமூக ஊடக வலைத்தளங்கள் மற்றும் மின்னஞ்சல் செய்திகளால் உருவாக்கப்பட்ட தரவு உள்ளிட்ட வரம்புக்குட்பட்ட நிகழ்வுத் தரவுகளைக் கொண்டு செல்லவும் பயன்படுத்தலாம்.

ஃப்ளூம், நூலகம் மற்றும் மூல குறியீடு அமைப்பு

நாங்கள் உண்மையான செயல்முறையைத் தொடங்குவதற்கு முன், நீங்கள் ஹடூப் நிறுவப்பட்டிருப்பதை உறுதிசெய்க. பயனரை 'hduser' ஆக மாற்றவும் (ஹடூப் உள்ளமைவின் போது பயன்படுத்தப்படும் ஐடி, உங்கள் ஹடூப் கட்டமைப்பின் போது பயன்படுத்தப்பட்ட யூஸ்ரிட் க்கு மாறலாம்)

படி 1) 'FlumeTutorial' | _+_ | என்ற பெயரில் ஒரு புதிய கோப்பகத்தை உருவாக்கவும்

  1. கொடு படித்தல், எழுதுதல் மற்றும் செயல்படுத்துவதற்கான அனுமதிகள் | _+_ |
  2. கோப்புகளை நகலெடுக்கவும் MyTwitterSource.java மற்றும் MyTwitterSourceForFlume.java இந்த அடைவில்.

உள்ளீட்டு கோப்புகளை இங்கிருந்து பதிவிறக்கவும்

இந்த கோப்புகளின் கோப்பு அனுமதிகளை சரிபார்த்து, 'படிக்க' அனுமதிகள் காணவில்லை என்றால் அதையே வழங்கவும்-

படி 2) ஒரு தளத்திலிருந்து 'அப்பாச்சி ஃப்ளூமை' பதிவிறக்கவும்- https://flume.apache.org/download.html

அப்பாச்சி ஃப்ளூம் 1.4.0 இந்த ஃப்ளூம் டுடோரியலில் பயன்படுத்தப்பட்டுள்ளது.

அடுத்த கிளிக்

படி 3) உங்களுக்கு விருப்பமான கோப்பகத்தில் பதிவிறக்கம் செய்யப்பட்ட தார்பாலை நகலெடுத்து பின்வரும் கட்டளையைப் பயன்படுத்தி உள்ளடக்கங்களை பிரித்தெடுக்கவும் | _+_ |

இந்த கட்டளை ஒரு புதிய கோப்பகத்தை உருவாக்கும் apache-flume-1.4.0-bin மற்றும் அதில் கோப்புகளை பிரித்தெடுக்கவும். இந்த அடைவு என குறிப்பிடப்படும் மீதமுள்ள கட்டுரையில்.

படி 4) ஃப்ளூம் நூலக அமைப்பு

நகல் twitter4j-core-4.0.1.jar, flume-ng-configuration-1.4.0.jar, flume-ng-core-1.4.0.jar, flume-ng-sdk-1.4.0.jar க்கு

/lib/

நகலெடுக்கப்பட்ட JAR அல்லது ஒன்று அல்லது அனைத்து அனுமதிகளையும் செயல்படுத்த வேண்டும். இது குறியீட்டைத் தொகுப்பதில் சிக்கலை ஏற்படுத்தக்கூடும். எனவே, அத்தகைய JAR இல் இயக்க அனுமதியை ரத்து செய்யவும்.

என்னுடைய வழக்கில், twitter4j-core-4.0.1.jar இருந்தது அனுமதியை செயல்படுத்த வேண்டும். நான் அதை கீழே ரத்து செய்தேன்- | _+_ |

இந்த கட்டளைக்கு பிறகு 'படிக்க' அனுமதி கொடுக்கிறது twitter4j-core-4.0.1.jar அனைத்து. | _+_ |

நான் பதிவிறக்கம் செய்தேன் என்பதை நினைவில் கொள்க-

-twitter4j-core-4.0.1.jar இருந்து https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core

- அனைத்து சுடர் JAR கள் அதாவது, flume-ng-*-1.4.0.jar இருந்து http://mvnrepository.com/artifact/org.apache.flume

ஃப்ளூமைப் பயன்படுத்தி ட்விட்டரில் இருந்து தரவை ஏற்றவும்

படி 1) மூல குறியீடு கோப்புகள் உள்ள கோப்பகத்திற்குச் செல்லவும்.

படி 2) அமை கிளாஸ்பாத் கொண்டிருக்க /lib/* மற்றும் ~/FlumeTutorial/flume/mytwittersource/*

sudo mkdir FlumeTutorial

படி 3) கட்டளையைப் பயன்படுத்தி மூலக் குறியீட்டைத் தொகுக்கவும்- | _+_ |

படி 4) ஒரு ஜாடியை உருவாக்கவும்

முதலில், உருவாக்கவும் Manifest.txt உங்களுக்கு விருப்பமான உரை எடிட்டரைப் பயன்படுத்தி கோப்பு மற்றும் கீழே உள்ள வரியைச் சேர்க்கவும்- | _+_ |

.. இங்கே flume.mytwittersource.MyTwitterSourceForFlume முக்கிய வகுப்பின் பெயர். இந்த வரியின் இறுதியில் உள்ளீட்டு விசையை அழுத்த வேண்டும் என்பதை நினைவில் கொள்க.

இப்போது, ​​JAR ஐ உருவாக்கவும் MyTwitterSourceForFlume.jar ' as- | _+_ |

படி 5) இந்த ஜாடியை நகலெடுக்கவும் /lib/

sudo chmod -R 777 FlumeTutorial

படி 6) ஃப்ளூமின் உள்ளமைவு கோப்பகத்திற்குச் செல்லவும், / கான்ஃப்

Flume.conf இல்லை என்றால், flume-conf.properties.template ஐ நகலெடுத்து flume.conf | _+_ |

என்றால் flume-env.sh இல்லை, பின்னர் நகல் flume-env.sh. template மற்றும் அதை மறுபெயரிடுங்கள் flume-env.sh

sudo tar -xvf apache-flume-1.4.0-bin.tar.gz

ட்விட்டர் பயன்பாட்டை உருவாக்குதல்

படி 1) உள்நுழைவதன் மூலம் ட்விட்டர் பயன்பாட்டை உருவாக்கவும் https://developer.twitter.com/

படி 2) செல்லவும் 'என் விண்ணப்பங்கள்' (இந்த விருப்பம் எப்போது கைவிடப்படும் 'முட்டை' மேல் வலது மூலையில் உள்ள பொத்தான் கிளிக் செய்யப்படுகிறது)

படி 3) கிளிக் செய்வதன் மூலம் ஒரு புதிய பயன்பாட்டை உருவாக்கவும் 'புதிய செயலியை உருவாக்கு'

படி 4) விண்ணப்பம், விளக்கம் மற்றும் இணையதளத்தின் பெயரைக் குறிப்பிட்டு விண்ணப்ப விவரங்களை நிரப்பவும். ஒவ்வொரு உள்ளீட்டுப் பெட்டியின் கீழும் கொடுக்கப்பட்ட குறிப்புகளை நீங்கள் குறிப்பிடலாம்.

படி 5) பக்கத்தைக் கீழே உருட்டி, குறிப்பதன் மூலம் விதிமுறைகளை ஏற்கவும் 'ஆம், நான் ஒப்புக்கொள்கிறேன்' மற்றும் பொத்தானை கிளிக் செய்யவும் 'உங்கள் ட்விட்டர் பயன்பாட்டை உருவாக்கவும்'

படி 6) புதிதாக உருவாக்கப்பட்ட பயன்பாட்டின் சாளரத்தில், தாவலுக்குச் செல்லவும், 'ஏபிஐ விசைகள்' பக்கத்தை கீழே உருட்டி பொத்தானைக் கிளிக் செய்யவும் 'என் அணுகல் டோக்கனை உருவாக்கு'

படி 7) பக்கத்தைப் புதுப்பிக்கவும்.

படி 8) கிளிக் செய்யவும் 'சோதனை OAuth' . இது காட்டப்படும் 'OAuth' பயன்பாட்டின் அமைப்புகள்.

படி 9) மாற்றியமை 'flume.conf' இவற்றைப் பயன்படுத்தி OAuth அமைப்புகள் . மாற்றுவதற்கான படிகள் 'flume.conf' கீழே கொடுக்கப்பட்டுள்ளது.

நுகர்வோர் விசை, நுகர்வோர் ரகசியம், அணுகல் டோக்கன் மற்றும் அணுகல் டோக்கன் ரகசியத்தை 'flume.conf' ஐப் புதுப்பிக்க நாங்கள் நகலெடுக்க வேண்டும்.

குறிப்பு: இந்த மதிப்புகள் பயனருக்கு சொந்தமானது, எனவே இரகசியமானது, எனவே பகிரக்கூடாது.

'Flume.conf' கோப்பை மாற்றவும்

படி 1) திற 'flume.conf' எழுதும் முறையில் மற்றும் கீழே உள்ள அளவுருக்களுக்கான மதிப்புகளை அமைக்கவும்- | _+_ |

கீழே உள்ளவற்றை நகலெடுக்கவும்- | _+_ |

படி 2) மேலும், அமைக்கவும் TwitterAgent.sinks.HDFS.hdfs.path கீழே,

TwitterAgent.sinks.HDFS.hdfs.path = hdfs: //: // flume/tweets/

தெரிந்து கொள்ள , மற்றும் , அளவுருவின் மதிப்பைக் காண்க 'fs.defaultFS' அமைக்க $ HADOOP_HOME/etc/hadoop/core-site.xml

படி 3) HDFS க்கு தரவைப் பறிப்பதற்காக, அது வரும்போது, ​​அது இருந்தால் கீழே உள்ளீட்டை நீக்கவும்,

TwitterAgent.sinks.HDFS.hdfs.rollInterval = 600

எடுத்துக்காட்டு: ஃப்ளூமைப் பயன்படுத்தி ட்விட்டர் தரவை ஸ்ட்ரீமிங் செய்தல்

படி 1) திற 'flume-env.sh' எழுதும் முறையில் மற்றும் கீழே உள்ள அளவுருக்களுக்கான மதிப்புகளை அமைக்கவும், | _+_ | | _+_ |

படி 2) ஹடூப்பைத் தொடங்குங்கள் _ _+_ | | _+_ |

படி 3) ஃப்ளூம் டார்பாலில் இருந்து இரண்டு JAR கோப்புகள் ஹடூப் 2.2.0 உடன் பொருந்தவில்லை. எனவே, ஹடூப் 2.2.0 உடன் ஃப்ளூம் இணக்கமாக இருக்க இந்த அப்பாச்சி ஃப்ளூம் உதாரணத்தில் கீழே உள்ள படிகளைப் பின்பற்ற வேண்டும்.

க்கு நகர்வு protobuf-java-2.4.1.jar வெளியே '/லிப்'.

செல்லவும் '/லிப்'

cd /lib

sudo chmod -x twitter4j-core-4.0.1.jar

b கீழே உள்ள JAR கோப்பு 'கொய்யா'வைக் கண்டறியவும்

நகர்வு கொய்யா -10.0.1.ஜார் வெளியே '/லிப்'.

sudo chmod +rrr /usr/local/apache-flume-1.4.0-bin/lib/twitter4j-core-4.0.1.jar

c பதிவிறக்க Tamil கொய்யா -17.0.ஜார் இருந்து http://mvnrepository.com/artifact/com.google.guava/guava/17.0

இப்போது, ​​பதிவிறக்கம் செய்யப்பட்ட இந்த ஜாடி கோப்பை நகலெடுக்கவும் '/லிப்'

படி 4) செல்லவும் '/நான்' மற்றும் ஃப்ளூமை இவ்வாறு தொடங்கவும்- | _+_ |

ஃப்ளூம் ட்வீட்களைப் பெறும் கட்டளை வரியில் சாளரம்-

கட்டளை சாளர செய்தியில் இருந்து வெளியீடு எழுதப்பட்டிருப்பதைக் காணலாம் /பயனர்/hduser/flume/tweets/ அடைவு

இப்போது, ​​இணைய உலாவியைப் பயன்படுத்தி இந்தக் கோப்பகத்தைத் திறக்கவும்.

படி 5) உலாவியைத் திறந்து தரவு ஏற்றத்தின் முடிவைப் பார்க்க http: // Localhost: 50070/ கோப்பு முறைமையை உலாவவும், பின்னர் தரவு ஏற்றப்பட்ட கோப்பகத்திற்குச் செல்லவும், அதாவது-

ஃப்ளூம்/ட்வீட்ஸ்/