zookeeper kafka Flume mysql 安装

zookeeper 集群规划

hadoop01

hadoop02

hadoop03

zk

zk

zk

准备安装装包  zookeeper-3.5.7.tar.gz 

解压Zookeeper安装包到/opt/bdp/目录下

tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/bdp/

修改/opt/bdp/apache-zookeeper-3.5.7-bin名称为zookeeper-3.5.7

mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

同步/opt/bdp/zookeeper-3.5.7目录内容到hadoop02、hadoop03  使用分发脚本

xsync zookeeper-3.5.7/

配置服务器编号

在/opt/bdp/zookeeper-3.5.7/这个目录下创建zkData

vi myid

在文件中添加与server对应的编号:

1

拷贝配置好的zookeeper到其他机器上

xsync myid

并分别在hadoop02、hadoop03上修改myid文件中内容为2,3

配置zoo.cfg文件

重命名/opt/bdp/zookeeper-3.5.7/conf这个目录下的zoo_sample.cfg为zoo.cfg

mv zoo_sample.cfg zoo.cfg

打开zoo.cfg文件

vim zoo.cfg
修改数据存储路径配置

dataDir=/opt/module/zookeeper-3.5.7/zkData

增加如下配置

#######################cluster##########################

server.1=hadoop01:2888:3888

server.2=hadoop02:2888:3888

server.3=hadoop03:2888:3888

同步zoo.cfg配置文件

xsync zoo.cfg

配置参数解读

server.A=B:C:D。

A是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server

B是这个服务器的地址;

C是这个服务器Follower与集群中的Leader服务器交换信息的端口;

D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

zookeeper 群起脚本

#!/bin/bash
export JAVA_HOME=/opt/bdp/jdk1.8.0_212
case $1 in
"start"){
  for i in hadoop01 hadoop02 hadoop03
  do
    echo -------------- zookeeper $i 启动 -----------------
    ssh $i "/opt/bdp/zookeeper/zookeeper-3.5.7/bin/zkServer.sh start"
  done
};;
"stop"){
  for i in hadoop01 hadoop02 hadoop03
  do
    echo -------------- zookeeper $i 关闭 -----------------
    ssh $i "/opt/bdp/zookeeper/zookeeper-3.5.7/bin/zkServer.sh stop"
  done
};;
"status"){
  for i in hadoop01 hadoop02 hadoop03
  do
    echo -------------- zookeeper $i 状态 -----------------
    ssh $i "/opt/bdp/zookeeper/zookeeper-3.5.7/bin/zkServer.sh status"
  done
};;
esac

用脚本启动需要在

/opt/bdp/zookeeper-3.5.7/bin/zkEnv.sh 文件的头部添加jdk位置

export JAVA_HOME=/opt/bdp/jdk1.8.0_212


 

kafka 集群规划

hadoop01

hadoop02

hadoop03

zk

zk

zk

kafka

kafka

kafka

  安装包 kafka_2.11-2.4.1.tgz -c

 解压到指定目录

tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/bdp/

 在/opt/bdp/kafka目录下创建logs文件夹

 修改或者增加以下内容:

 vim config/server.properties

#broker的全局唯一编号,不能重复

broker.id=0

#删除topic功能使能

delete.topic.enable=true

#kafka运行日志存放的路径

log.dirs=/opt/module/kafka/data

#配置连接Zookeeper集群地址

zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka

配置环境变量

​
#KAFKA_HOME
export KAFKA_HOME=/opt/bdp/kafka
export PATH=$PATH:$KAFKA_HOME/bin

​

source /etc/profile修改配置文件

分发安装包

xsync kafka/

分别在hadoop02和hadoop03上修改配置文件

/opt/bdp/kafka/config/server.properties中的broker.id=1broker.id=2

broker.id 不能重复

kafka群起脚本

#!/bin/bash

case $1 in
"start"){
    for i in hadoop01 hadoop02 hadoop03
    do
        echo " --------启动 $i Kafka-------"
        ssh $i "source /etc/profile;nohup /opt/bdp/kafka/kafka/bin/kafka-server-start.sh -daemon /opt/bdp/kafka/kafka/config/server.properties >/dev/null 2>&1 & "
    done
};;
"stop"){
    for i in hadoop01 hadoop02 hadoop03
    do
        echo " --------停止 $i Kafka-------"
        ssh $i "source /etc/profile; /opt/bdp/kafka/kafka/bin/kafka-server-stop.sh stop"
    done
};;
esac

Flume 搭建

软件  apache-flume-1.9.0-bin.tar.gz

将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/bdp目录下

解压apache-flume-1.9.0-bin.tar.gz

tar -zxvf apache-flume-1.9.0-bin.tar.gz 

修改apache-flume-1.9.0-bin的名称为flume

mv  apache-flume-1.9.0-bin flume

将lib文件夹下的guava-11.0.2.jar删除以兼容Hadoop 3.1.3

cd flume/lib

rm -rf guava-11.0.2.jar

注意:删除guava-11.0.2.jar的服务器节点,一定要配置hadoop环境变量。否则会报如下异常。

Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

将flume/conf下的flume-env.sh.template文件修改为flume-env.sh,并配置flume-env.sh文件

mv flume-env.sh.template flume-env.sh

vi flume-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_212

mysql 搭建

1、Adding the MySQL Yum Repository;

rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

2、Selecting a Release Series
修配置文件

vi /etc/yum.repos.d/mysql-community.repo
57 enabled改成1
80 enabled改成0

3、Installing MySQL

yum  -y install mysql-community-server

4、Starting the MySQL Server

systemctl start mysqld.service
systemctl status mysqld.service

5、利用临时密码登录并修改密码
//查看临时密码

grep 'temporary password' /var/log/mysqld.log 

如果查询不到零时密码

 解决办法:删除/var/lib/mysql 目录

rm -rf /var/lib/mysql
 grep 'temporary password'   /var/log/mysqld.log

      这样就得到了mysql临时密码

//利用临时密码登录

set global validate_password.length=4;
mysql -uroot -p

//修改临时密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'My12345!';

这里如果不想设计比较麻烦的密码可以更改mysql密码策略 

set global validate_password.length=4;
set global validate_password.policy=0;

6、开启远程连接

update user set host="%" where user="root";
grant all privileges on *.* to root@'%' with grant option;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值