рдШрд░ рдХрд╛ рдмрдирд╛ рдмрд┐рдЧрдбрд╛рдЯрд╛ред рднрд╛рдЧ 1. AWS рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕реНрдкрд╛рд░реНрдХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЕрднреНрдпрд╛рд╕

рдирдорд╕реНрддреЗ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдШрд░ рдкрд░ EC2 AWS (Amazon Web Services) рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдкрд░ Apache Kafka, Apache Spark, Zookeeper, Spark-shell рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдкреЗрд╢ рд╣реИ рдЕрдореЗрдЬрди рд╡реЗрдм рд╕рд░реНрд╡рд┐рд╕реЗрдЬ


1.1ред рдЖрдкрдХреЛ aws.amazon.com/console рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛рдж рд░рдЦреЗрдВред

1.2ред Zookeeper рдФрд░ Kafka рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред

  • рдореЗрдиреВ рд╕реЗ "рд╕реЗрд╡рд╛рдПрдБ-> EC2" рдЪреБрдиреЗрдВред рдЕрдЧрд▓рд╛, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдЫрд╡рд┐ рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ 16.04 рдПрд▓рдЯреАрдПрд╕ (рдПрдЪрд╡реАрдПрдо), рдПрд╕рдПрд╕рдбреА рд╡реЙрд▓реНрдпреВрдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, "рдЪрдпрди рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдо рд╕рд░реНрд╡рд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ: 2vCPU, 4 рдЬреАрдмреА рдореЗрдореЛрд░реА, рдЬрдирд░рд▓ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП "t3.medium" рдЯрд╛рдЗрдк рдХрд░реЗрдВред "рдЕрдЧрд▓рд╛: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╡рд┐рд╡рд░рдг" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  • рдЙрджрд╛рд╣рд░рдг 1 рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реЗрдВ, "рдЕрдЧрд▓рд╛: рднрдВрдбрд╛рд░рдг рдЬреЛрдбрд╝реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рд╣рдо 8 рдЬреАрдмреА рдХреЗ рдбрд┐рд╕реНрдХ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЪреБрдВрдмрдХреАрдп рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ (рдбреЗрдЯрд╛ рдорд╛рддреНрд░рд╛ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдПрд╕рдПрд╕рдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрддреНрдкрд╛рджрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ)
  • "рдЯреИрдЧ рдЙрджрд╛рд╣рд░рдг" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ "рдирд╛рдо" рдХреЗ рд▓рд┐рдП, рдиреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ "рд╣реЛрдо 1" (рдЬрд╣рд╛рдВ 1 рд╕рд┐рд░реНрдл рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рд╣реИ) рдФрд░ "рдЕрдЧрд▓рд╛: ..." рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  • "рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ ("Spark_Kafka_Zoo_Project") рдХреЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ "рдореМрдЬреВрджрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред "рдЕрдЧрд▓рд╛: ..." рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдЕрдкрдиреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХреНрд╖рд╛ рд╕реНрдХреНрд░реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред
  • рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рдЪрд╛рди рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреА рдПрдХ рдЬреЛрдбрд╝реА (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореМрдЬреВрджрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рдореЗрдВ рдСрдкрд░реЗрд╢рди рдкреНрд░рдХрд╛рд░ "рдореМрдЬреВрджрд╛ рдЬреЛрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдЪреБрдиреЗрдВред

рдкреНрд░рдореБрдЦ рдирд┐рд░реНрдорд╛рдг


  • рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреЛрдЯреАрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • .Pem рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рд╣рдо рдЗрд╕реЗ рдкреБрдЯреНрдЯреА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреАрдкреАрдкреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PuTTYgen рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛рдПрдВ, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдкреБрд░рд╛рдиреЗ .pem рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреБрдВрдЬреА рд▓реЛрдб рдХрд░реЗрдВред рд╣рдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди .ppk рдХреЗ рд╕рд╛рде рд╣реЛрдо рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдФрд░ рд╕реЗрд╡ (рд╕реЗрд╡ рдкреНрд░рд╛рдЗрд╡реЗрдЯ рдХреА) рдХрдиреНрд╡рд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдХреНрд▓рд╕реНрдЯрд░ рд▓реЙрдиреНрдЪ


1.3ред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, Node01-04 рд╕рдВрдХреЗрддрди рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдиреЛрдб рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рдирд┐рдЬреА DNS рдирд╛рдо рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЪреБрдиреЗрдВ рдФрд░ рдЪрдпрдирд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рдирд┐рдЬреА DNS рдирд╛рдо рд▓рд┐рдЦреЗрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ HadoopAdm01.txtред

рдЙрджрд╛рд╣рд░рдг: ec2-35-162-169-76.us-west-2.compute.amazonaws.com

AWS рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд╕рд┐рдВрдЧрд▓рдХреЛрдб рдореЛрдб рдореЗрдВ Apache Kafka рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


2.1ред рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдиреЛрдб (рдЗрд╕рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ DNS рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдВ) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╣рдо SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо 1.3 рдЦрдВрдб рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдирд┐рдЬреА / рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдЬреЛрдбрд╝реА "HadoopUser01.ppk" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдиреЛрдб рдХреЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝ рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди / рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ "HadoopUserXX.ppk" рдХреЛ рд╕рд╣реЗрдЬрд╛ рдерд╛ред

рд╣рдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред

2.2ред рд╣рдо рдиреЛрдб рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдФрд░ рд▓реЙрдЧрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: ubuntuред

тАв рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣рдо рд╕рдВрдХреБрд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

sudo apt-get update sudo apt-get -y install wget net-tools netcat tar 

тАв рдЬрд╛рд╡рд╛ 8 jdk рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

 sudo apt-get -y install openjdk-8-jdk 

тАв рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рд╕реНрд╡реИрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред VM рд╕реНрд╡реЗрдкрд┐рдиреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 60% рдкрд░ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ 60% рдореЗрдВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рд░реИрдо рд╕реЗ рдбрд┐рд╕реНрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕реНрд╡реИрдк рдХрд░реЗрдЧрд╛ред рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡реАрдПрдо рд╕реНрд╡реЗрдкрд┐рдиреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 0 рдпрд╛ 1 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 sudo sysctl vm.swappiness=1 

тАв рд░рд┐рдмреВрдЯ рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВред

 echo 'vm.swappiness=1' | sudo tee --append /etc/sysctl.conf 

тАв рд╕реМрдВрдкреЗ рдЧрдП рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рдирд┐рдЬреА рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдирд╛рдо рдХрдлрдХрд╛ рдФрд░ рдЬрд╝реБрдХреЗрд░ рдХреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд▓рд┐рдП / etc / рдореЗрдЬрдмрд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдкрд╛рджрдиред

 echo "172.31.26.162 host01" | sudo tee --append /etc/hosts 

рд╣рдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╛рдореЛрдВ рдХреА рд╕рд╣реА рдкрд╣рдЪрд╛рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВред

тАв рдХрд╛рдлреНрдХрд╛ рдФрд░ рд╕реНрдХреИрд▓рд╛ рд╡рд┐рддрд░рдг рдХреЗ рдирд╡реАрдирддрдо рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг (http://kafka.apache.org/downloads) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВред

 wget http://mirror.linux-ia64.org/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz tar -xvzf kafka_2.12-2.1.0.tgz ln -s kafka_2.12-2.1.0 kafka 

тАв tgz рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рд╣рдореЗрдВ рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА

тАв рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╝реВрдХреАрдкрд░ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

 ~/kafka/bin/zookeeper-server-start.sh -daemon ~/kafka/config/zookeeper.properties 

рдЬрд╝реВрдХреЙрдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рд▓реЙрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  tail -n 5 ~/kafka/logs/zookeeper.out 

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЬрд╝реБрдХреАрдкрд░ рдбреЗрдорди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЬрд╝реБрдХрдкрд░ рдХреЛ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 

рдЬрд╝реБрдХрдкрд░ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

 netcat -vz localhost 2181 

2.3ред рд╣рдо рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЬрд╝реБрдХреАрдкрд░ рдФрд░ рдХрд╛рдлреНрдХрд╛ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ /etc/systemd/system/zookeeper.service (рдиреАрдЪреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА) рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд / рдмрдирд╛рдПрдВред

 [Unit] Description=Apache Zookeeper server Documentation=http://zookeeper.apache.org Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/home/ubuntu/kafka/bin/zookeeper-server-start.sh /home/ubuntu/kafka/config/zookeeper.properties ExecStop=/home/ubuntu/kafka/bin/zookeeper-server-stop.sh [Install] WantedBy=multi-user.target 

рдЗрд╕рдХреЗ рдмрд╛рдж, рдХрд╛рдлреНрдХрд╛ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ /etc/systemd/system/kafka.service (рдиреАрдЪреЗ рджреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА) рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд / рдмрдирд╛рдПрдВред

 [Unit] Description=Apache Kafka server (broker) Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service [Service] Type=simple ExecStart=/home/ubuntu/kafka/bin/kafka-server-start.sh /home/ubuntu/kafka/config/server.properties ExecStop=/home/ubuntu/kafka/bin/kafka-server-stop.sh [Install] WantedBy=multi-user.target 

тАв рдХрд╛рдлреНрдХрд╛ рдФрд░ рдЬрд╝реБрдХреАрдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред

 sudo systemctl enable zookeeper sudo systemctl enable kafka 

тАв рд╕рд┐рд╕реНрдЯрдордб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

 sudo systemctl start zookeeper sudo systemctl start kafka sudo systemctl status zookeeper sudo systemctl status kafka sudo systemctl stop zookeeper sudo systemctl stop kafka 

тАв рдХрд╛рдлреНрдХрд╛ рдФрд░ рдЬрд╝реБрдХреАрдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

 netcat -vz localhost 2181 netcat -vz localhost 9092 

тАв рдЬрд╝реВрдХреАрдкрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

 cat logs/zookeeper.out 

рдкрд╣рд▓рд╛ рдЖрдирдВрдж


2.4ред рд╣рдо рдЗрдХрдЯреНрдареЗ рдХрдлрдХрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╡рд┐рд╖рдп рдмрдирд╛рддреЗ рд╣реИрдВред
  • рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ server.properties рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, "host01: 2181" рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
  • рд╣рдо рд╡рд┐рд╖рдп рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

 kafka-console-producer.sh --broker-list host01:9092 --topic first_topic     

Ctrl-C - рд╡рд┐рд╖рдп рдХрдВрд╕реЛрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред

тАв рдЕрдм рд╡рд┐рд╖рдп рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

 kafka-console-consumer.sh --bootstrap-server host01:9092 --topic last_topic --from-beginning 

тАв рдХрдлрдХрд╛ рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВред

 bin/kafka-topics.sh --zookeeper spark01:2181 --list 

тАв рдПрдХрд▓ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреНрдХрд╛ рд╕рд░реНрд╡рд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдВрдкрд╛рджрди
# рдЖрдкрдХреЛ ISR рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 1 рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

 bin/kafka-topics.sh --zookeeper spark01:2181 --config min.insync.replicas=1 --topic __consumer_offsets --alter 

тАв рдХрд╛рдлреНрдХрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдУрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

тАв рдЖрдЗрдП рд╡рд┐рд╖рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВред

 bin/kafka-topics.sh --zookeeper host01:2181 --list 

рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рд╣рдордиреЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдЬрд╝реБрдХреАрдкрд░ рдФрд░ рдХрд╛рдлреНрдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдиреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛, рдЕрдм рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

3.1ред рдирд╡реАрдирддрдо рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

 wget https://archive.apache.org/dist/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.6.tgz 

тАв рд╡рд┐рддрд░рдг рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ рд╕реНрдкрд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

 tar -xvf spark-2.4.0-bin-hadoop2.6.tgz ln -s spark-2.4.0-bin-hadoop2.6 spark rm spark*.tgz 

тАв sbin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕реНрдкрд╛рд░реНрдХ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдЪрд▓рд╛рдПрдВред

 ./start-master.sh 

тАв рдкреЛрд░реНрдЯ 8080 рдкрд░ рд╕реНрдкрд╛рд░реНрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

тАв рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рд╕реНрдкрд╛рд░реНрдХ-рджрд╛рд╕ рдЪрд▓рд╛рдПрдВ

 ./start-slave.sh spark://host01:7077 

тАв рд╣реЛрд╕реНрдЯ 01 рдкрд░ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реНрдкрд╛рд░реНрдХ рд╢реЗрд▓ рдЪрд▓рд╛рдПрдВред

 ./spark-shell --master spark://host01:7077 

тАв рдпрджрд┐ рд▓реЙрдиреНрдЪ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рдмреИрд╢ рдореЗрдВ рдкрде рдЬреЛрдбрд╝реЗрдВред

 vi ~/.bashrc #      SPARK_HOME=/home/ubuntu/spark export PATH=$SPARK_HOME/bin:$PATH 

 source ~/.bashrc 

тАв рд╣реЛрд╕реНрдЯ 01 рдкрд░ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╕реНрдкрд╛рд░реНрдХ рд╢реЗрд▓ рдЪрд▓рд╛рдПрдВред

 ./spark-shell --master spark://host01:7077 

3.2ред рдХрд╛рдлреНрдХрд╛, рдЬрд╝реБрдХреАрдкрд░ рдФрд░ рд╕реНрдкрд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣реБрд░реНрд░реЗ!

рдереЛрдбрд╝реА рд░рдЪрдирд╛рддреНрдордХрддрд╛


4.1ред Scala-IDE рд╕рдВрдкрд╛рджрдХ ( scala-ide.org рдкрд░ ) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╣рдо рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдФрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдореИрдВ рдЦреБрдж рдХреЛ рдЕрдм рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдмреЗ рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ ред

4.2ред рдЙрдкрдпреЛрдЧреА рд╕рд╛рд╣рд┐рддреНрдп рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдареНрдпрдХреНрд░рдо:

courses.hadoopinrealworld.com/courses/enrolled/319237
data-flair.training/blogs/kafka-consumer
www.udemy.com/apache-spark-with-scala-hands-on-with-big-data

Source: https://habr.com/ru/post/hi443912/


All Articles