第一步:安装linux虚拟机 VNware自定义
#vi /etc/sysconfig/network文件,设置主机名
例如:HOSTNAME=hadoopMaster
#vi /etc/hosts(vi编辑 .i进入编辑模式,esc退出编辑模式进入命令模式 :wq保存退出),配置hosts文件,映射主机和IP
之间的关系
例如 192.168.194.130 hadoopMaster
虚拟机没有IP地址或者linux yum安装出现 Couldn't resolve host 'mirrorlist.centos.org'
解决:重启etho网络适配器,命令
#ifdown eth0
#ifup eth0
etho不随机自动启动,没有ip
问题:默认情况下ifconfig命令只能看到网络设备lo,看不到eth0,也没有分配合理的IP地址
分析:使用ifconfig -a能看到eth0和lo,说明系统中还是存在eth0的,只是没有被激活
解决:vi /etc/sysconfig/network-scripts/ifcfg-eth0 将ONBOOT=yes 保存ifcfg-eth0配置文件
执行service network reload
执行ifconfig确认问题是否已经解决
第三步:设置SSH免密码登录模式
主节点:
在root用户下输入命令: #yum install openssh-server,完成sshserver的安装;
#ssh-keygen -t rsa 生成公私钥文件
#cd /root/.ssh 进入该目录;
#cp id_rsa.pub authorized_keys 将公钥文件内容复制到认证文件(authorized_keys)中;
#ssh localhost 完成无密码登录
从节点:
在root用户下输入命令: #yum install openssh-server,完成sshserver的安装;
#ssh-keygen -t rsa 生成公私钥文件
最后在主节点上scp文件到所有从节点:
# scp ~/.ssh/authorized_keys root@从节点主机名:~/.ssh/
测试:
主节点中使用命令 #ssh 子节点主机名 无密码成功登录即成功
防火墙
临时关闭防火墙,即时生效,重启后复原
开启: #service iptables start
关闭: #service iptables stop
查看防火墙状态: #service iptables status
做完铺垫工作,开始搭建kafka
一、搭建zookeeper
1、创建文件夹 #mkdir zookeeper #cd zookeeper #mkdir zkdata #mkdir zkdatalog
2、解压 #cd zookeeper #tar -zxvf
3、修改配置文件 #cd zookeeper/zookeeper-3.4.6/conf #cp zoo_sample.cfg zoo.cfg
#vi zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdatalog
clientPort=12181
server.1=192.168.7.100:12888:13888
server.2=192.168.7.101:12888:13888
server.3=192.168.7.107:12888:13888
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#192.168.7.107为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
4、创建myid文件 #cd zookeeper/zkdata #vi myid (分别对应3中的123)
5、关闭防火墙并启动服务 #service iptables stop #cd zookeeper/zookeeper-3.4.6 #bin/zkServer.sh start(所有的机器全部启动) #bin//zkServer.sh status #jps 查看进程
二、搭建kafka
1、创建文件夹 #mkdir kafka #cd kafka #mkdir kafkalogs
2、解压 #cd kafka #tar -zxvf
3、修改配置文件 #cd kafka/kafka_2.11-0.9.0.1/config
#vi server.properties
broker.id=0 #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
port=19092 #当前kafka对外提供服务的端口默认是9092
host.name=192.168.7.100 #这个参数默认是关闭的,在0.8.1有个bug,DNS解析问题,失败率的问题
log.dirs=/opt/kafka/kafkalogs/ #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的
message.max.byte=5242880 #消息保存的最大值5M
default.replication.factor=2 #kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
replica.fetch.max.bytes=5242880 #取消息的最大直接数
zookeeper.connect=192.168.7.100:12181,192.168.7.101:12181,192.168.7.107:1218 #设置zookeeper的连接端口
4、启动kafka #cd kafka/kafka_2.11-0.9.0.1 #bin//kafka-server-start.sh -daemon ../config/server.properties(所有机器) #jps
5、创建topic验证
创建Topic #bin/kafka-topics.sh --create --zookeeper 192.168.7.100:12181 --replication-factor 2 --partitions 1 --topic test
创建一个broker,发布者 #bin/kafka-console-producer.sh --broker-list 192.168.7.100:19092 --topic test 消息内容
在一台服务器上创建一个订阅者 #bin/kafka-console-consumer.sh --zookeeper localhost:12181 --topic shuaige --from-beginning
以上