ఈ ట్యుటోరియల్లో, డాకర్ని ఉపయోగించి మనం అపాచీ కాఫ్కా క్లస్టర్ని ఎలా ఉపయోగించవచ్చో నేర్చుకుంటాము. దాదాపు ఏ వాతావరణంలోనైనా కాఫ్కా క్లస్టర్ను త్వరగా స్పిన్ అప్ చేయడానికి అందించిన డాకర్ ఇమేజ్ని ఉపయోగించడానికి ఇది మమ్మల్ని అనుమతిస్తుంది.
బేసిక్స్తో ప్రారంభించి కాఫ్కా అంటే ఏమిటో చర్చిద్దాం.
అపాచీ కాఫ్కా అంటే ఏమిటి?
అపాచీ కాఫ్కా అనేది ఒక ఉచిత, ఓపెన్-సోర్స్, అత్యంత స్కేలబుల్, పంపిణీ మరియు తప్పులను తట్టుకునే పబ్లిష్-సబ్స్క్రైబ్ మెసేజింగ్ సిస్టమ్. ఇది అధిక వాల్యూమ్, అధిక నిర్గమాంశ మరియు నిజ-సమయ డేటా స్ట్రీమ్ను నిర్వహించడానికి రూపొందించబడింది, లాగ్ అగ్రిగేషన్, రియల్-టైమ్ అనలిటిక్స్ మరియు ఈవెంట్-డ్రైవెన్ ఆర్కిటెక్చర్లతో సహా అనేక వినియోగ సందర్భాలకు ఇది అనుకూలంగా ఉంటుంది.
కాఫ్కా అనేది పంపిణీ చేయబడిన నిర్మాణంపై ఆధారపడింది, ఇది బహుళ సర్వర్లలో పెద్ద మొత్తంలో డేటాను నిర్వహించడానికి అనుమతిస్తుంది. ఇది పబ్లిష్-సబ్స్క్రైబ్ మోడల్ను ఉపయోగిస్తుంది, ఇక్కడ నిర్మాతలు అంశాలకు సందేశాలను పంపుతారు మరియు వినియోగదారులు వాటిని స్వీకరించడానికి వారికి సభ్యత్వాన్ని పొందుతారు. ఇది ఉత్పత్తిదారులు మరియు వినియోగదారుల మధ్య విడదీయబడిన కమ్యూనికేషన్ను అనుమతిస్తుంది, అధిక స్కేలబిలిటీ మరియు వశ్యతను అందిస్తుంది.
డాకర్ కంపోజ్ అంటే ఏమిటి
డాకర్ కంపోజ్ అనేది బహుళ-కంటైనర్ అప్లికేషన్లను నిర్వచించడానికి మరియు అమలు చేయడానికి డాకర్ ప్లగ్ఇన్ లేదా సాధనాన్ని సూచిస్తుంది. YAML ఫైల్లో కంటైనర్ కాన్ఫిగరేషన్ను నిర్వచించడానికి డాకర్ మాకు కంపోజ్ చేస్తుంది. కాన్ఫిగరేషన్ ఫైల్లో అప్లికేషన్కు అవసరమైన సేవలు, నెట్వర్క్లు మరియు వాల్యూమ్ల వంటి కంటైనర్ స్పెసిఫికేషన్లు ఉంటాయి.
డాకర్-కంపోజ్ కమాండ్ని ఉపయోగించి, మనం ఒకే కమాండ్తో బహుళ కంటైనర్లను సృష్టించవచ్చు మరియు ప్రారంభించవచ్చు.
డాకర్ మరియు డాకర్ కంపోజ్ని ఇన్స్టాల్ చేస్తోంది
మీరు మీ స్థానిక మెషీన్లో డాకర్ను ఇన్స్టాల్ చేశారని నిర్ధారించుకోవడం మొదటి దశ. మరింత తెలుసుకోవడానికి మీరు క్రింది వనరులను తనిఖీ చేయవచ్చు:
- https://linuxhint.com/install_configure_docker_ubuntu/
- https://linuxhint.com/install-docker-debian/
- https://linuxhint.com/install_docker_debian_10/
- https://linuxhint.com/install-docker-ubuntu-22-04/
- https://linuxhint.com/install-docker-on-pop_os/
- https://linuxhint.com/how-to-install-docker-desktop-windows/
- https://linuxhint.com/install-use-docker-centos-8/
- https://linuxhint.com/install_docker_on_raspbian_os/
ఈ ట్యుటోరియల్ వ్రాసే నాటికి, డాకర్ కంపోజ్ని ఇన్స్టాల్ చేయడానికి మీ టార్గెట్ మెషీన్లో డాకర్ డెస్క్టాప్ను ఇన్స్టాల్ చేయడం అవసరం. అందువల్ల, డాకర్ కంపోజ్ని స్వతంత్ర యూనిట్గా ఇన్స్టాల్ చేయడం విస్మరించబడుతుంది.
మేము డాకర్ను ఇన్స్టాల్ చేసిన తర్వాత, మనం YAML ఫైల్ను కాన్ఫిగర్ చేయవచ్చు. డాకర్ కంటైనర్ని ఉపయోగించి కాఫ్కా క్లస్టర్ను స్పిన్ అప్ చేయడానికి అవసరమైన అన్ని వివరాలను ఈ ఫైల్ కలిగి ఉంది.
డాకర్-కంపోజ్ని సెటప్ చేస్తోంది.YAML
docker-compose.yamlని సృష్టించండి మరియు మీకు ఇష్టమైన టెక్స్ట్ ఎడిటర్తో సవరించండి:
$ టచ్ డాకర్-compose.yaml$ vim docker-compose.yaml
తరువాత, కింది వాటిలో చూపిన విధంగా డాకర్ కాన్ఫిగరేషన్ ఫైల్ను జోడించండి:
సంస్కరణ: Telugu : '3'సేవలు :
జూకీపర్ :
చిత్రం : బిట్నామి / జూకీపర్ : 3.8
ఓడరేవులు :
- '2181:2181'
వాల్యూమ్లు :
- 'zookeeper_data:/bitnami'
పర్యావరణం :
- ALLOW_ANONYMOUS_LOGIN = అవును
కాఫ్కా :
చిత్రం : డాకర్. ఇది / బిట్నామి / కాఫ్కా : 3.3
ఓడరేవులు :
- '9092:9092'
వాల్యూమ్లు :
- 'కాఫ్కా_డేటా:/బిట్నామి'
పర్యావరణం :
- KAFKA_CFG_ZOOKEEPER_CONNECT = జూకీపర్ : 2181
- ALLOW_PLAINTEXT_LISTENER = అవును
ఆధారపడి :
- జూకీపర్
వాల్యూమ్లు :
జూకీపర్_డేటా :
డ్రైవర్ : స్థానిక
కాఫ్కా_డేటా :
డ్రైవర్ : స్థానిక
ఉదాహరణ డాకర్ ఫైల్ జూకీపర్ మరియు కాఫ్కా క్లస్టర్ను ఏర్పాటు చేస్తుంది, ఇక్కడ సమన్వయం కోసం కాఫ్కా క్లస్టర్ జూకీపర్ సేవకు కనెక్ట్ చేయబడింది. ఫైల్ కమ్యూనికేషన్ మరియు సేవలకు ప్రాప్యత కోసం ప్రతి సేవ కోసం పోర్ట్లు మరియు ఎన్విరాన్మెంట్ వేరియబుల్లను కూడా కాన్ఫిగర్ చేస్తుంది.
కంటైనర్లు పునఃప్రారంభించబడినా లేదా మళ్లీ సృష్టించబడినా కూడా సేవల డేటాను కొనసాగించడానికి మేము పేరు పెట్టబడిన వాల్యూమ్లను కూడా సెటప్ చేస్తాము.
మునుపటి ఫైల్ను సాధారణ విభాగాలుగా విభజిద్దాము:
మేము బిట్నామి/జూకీపర్:3.8 చిత్రాన్ని ఉపయోగించి జూకీపర్ సేవతో ప్రారంభిస్తాము. ఈ చిత్రం హోస్ట్ మెషీన్లోని పోర్ట్ 2181ని కంటైనర్లోని పోర్ట్ 2181కి మ్యాప్ చేస్తుంది. మేము ALLOW_ANONYMOUS_LOGIN ఎన్విరాన్మెంట్ వేరియబుల్ను 'అవును'కి కూడా సెట్ చేసాము. చివరగా, మేము సేవ డేటాను నిల్వ చేసే వాల్యూమ్ను zookeeper_data వాల్యూమ్గా సెట్ చేసాము.
రెండవ బ్లాక్ కాఫ్కా సేవను సెటప్ చేయడానికి వివరాలను నిర్వచిస్తుంది. ఈ సందర్భంలో, మేము హోస్ట్ పోర్ట్ 9092ని కంటైనర్ పోర్ట్ 9092కి మ్యాప్ చేసే docker.io/bitnami/kafka:3.3 చిత్రాన్ని ఉపయోగిస్తాము. అదేవిధంగా, మేము KAFKA_CFG_ZOOKEEPER_CONNECT ఎన్విరాన్మెంట్ వేరియబుల్ని కూడా నిర్వచించాము మరియు దాని విలువను జూకీపర్ చిరునామాకు మ్యాప్ చేసినట్లుగా సెట్ చేస్తాము. పోర్ట్ 2181. మేము ఈ విభాగంలో నిర్వచించే రెండవ ఎన్విరాన్మెంట్ వేరియబుల్ ALLOW_PLAINTEXT_LISTENER ఎన్విరాన్మెంట్ వేరియబుల్. ఈ ఎన్విరాన్మెంట్ వేరియబుల్ విలువను “అవును”కి సెట్ చేయడం వలన కాఫ్కా క్లస్టర్కి అసురక్షిత ట్రాఫిక్ని అనుమతిస్తుంది.
చివరగా, మేము కాఫ్కా సేవ దాని డేటాను నిల్వ చేసే వాల్యూమ్ను అందిస్తాము.
జూకీపర్ మరియు కాఫ్కా కోసం డాకర్ వాల్యూమ్లను కాన్ఫిగర్ చేస్తుందని నిర్ధారించుకోవడానికి, వాల్యూమ్ల విభాగంలో చూపిన విధంగా మనం వాటిని నిర్వచించాలి. ఇది zookeeper_data మరియు kafka_data వాల్యూమ్లను సెటప్ చేస్తుంది. రెండు వాల్యూమ్లు స్థానిక డ్రైవర్ను ఉపయోగిస్తాయి అంటే డేటా హోస్ట్ మెషీన్లో నిల్వ చేయబడుతుంది.
అక్కడ మీ దగ్గర ఉంది! సాధారణ దశల్లో డాకర్ని ఉపయోగించి కాఫ్కా కంటైనర్ను స్పిన్ అప్ చేయడానికి మిమ్మల్ని అనుమతించే ఒక సాధారణ కాన్ఫిగరేషన్ ఫైల్.
కంటైనర్ను నడుపుతోంది
డాకర్ రన్ అవుతుందని నిర్ధారించుకోవడానికి, కింది ఆదేశంతో మనం YAML ఫైల్ నుండి కంటైనర్ను అమలు చేయవచ్చు:
$ సుడో డాకర్ కంపోజ్ చేస్తాడుఆదేశం YAML కాన్ఫిగరేషన్ ఫైల్ను గుర్తించాలి మరియు పేర్కొన్న విలువలతో కంటైనర్ను అమలు చేయాలి:
ముగింపు
మీరు ఇప్పుడు డాకర్ కంపోజ్ YAML కాన్ఫిగరేషన్ ఫైల్ నుండి Apache Kafkaని ఎలా కాన్ఫిగర్ చేయవచ్చు మరియు రన్ చేయవచ్చో తెలుసుకున్నారు.