ubuntu安装kafka单机环境及php kafka扩展(java jdk,zookeeper,kafka)单机版

6 篇文章 0 订阅
2 篇文章 0 订阅

1.安装php-rdkafka 扩展

git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
./configure
make && make install

编译结果:

2.pecl安装rdkafka【一定要先安装第一步,不然这一步rdkafka安装不成功】

pecl install rdkafka

3.加入rdkafka.ini到对应的php版本中

#可用php -v查看php版本
root@homestead:/librdkafka# cd /etc/php/7.2/
root@homestead:/etc/php/7.2# ll
total 20
drwxr-xr-x 5 root root 4096 Nov  9  2018 ./
drwxr-xr-x 7 root root 4096 Nov  9  2018 ../
drwxr-xr-x 3 root root 4096 Nov  9  2018 cli/
drwxr-xr-x 4 root root 4096 Nov  9  2018 fpm/
drwxr-xr-x 2 root root 4096 Nov  9  2018 mods-available/
root@homestead:/etc/php/7.2# cd cli/conf.d/
root@homestead:/etc/php/7.2/cli/conf.d# vi rdkafka.ini    
root@homestead:/etc/php/7.2/cli/conf.d# cd ../../fpm/conf.d/
root@homestead:/etc/php/7.2/fpm/conf.d# vi rdkafka.ini
root@homestead:/etc/php/7.2/fpm/conf.d# php -m


#这里的cli/conf.d文件中,新建编辑一个rdkafka.ini文件,里面加入  extension="rdkafka" 保存退出

#这里的fpm/conf.d文件中,新建编辑一个rdkafka.ini文件,里面加入  extension="rdkafka" 保存退出

然后查看php扩展  php-m

root@homestead:/etc/php/7.2/fpm/conf.d# php -m
[PHP Modules]
bcmath
blackfire
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imap
intl
json
ldap
libxml
mbstring
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
rdkafka        #我们的新扩展
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

4.安装java的jdk,后面提供下载地址,官网提供的下载太慢了

#进入/usr/目录下  新建  java文件夹

root@homestead:/usr# mkdir java


#将提供的java的jdk文件cp复制到我们的java文件夹中
root@homestead:/usr/java# cp /home/vagrant/Code/kafka_resources/jdk-linux-x64.tar.gz  ./

#解压
root@homestead:/usr/java# tar -zxvf jdk-linux-x64.tar.gz

#解压完毕后可看到文件夹
root@homestead:/usr/java# ll
total 181204
drwxr-xr-x  3 root root      4096 Jan 19 04:52 ./
drwxr-xr-x 13 root root      4096 Jan 19 04:52 ../
drwxr-xr-x  8 uucp  143      4096 Mar 15  2017 jdk1.8.0_131/
-rwxr-xr-x  1 root root 185540433 Jan 19 04:51 jdk-linux-x64.tar.gz*


#编辑 /etc/profile中的文件开头加入如下语句

export JAVA_HOME=/usr/java/jdk1.8.0_131    #这里要和你安装的地址对应上
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

#保存退出,执行环境更新
root@homestead:/usr/java# source /etc/profile

#查看java版本

root@homestead:/usr/java# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

5.安装java,zookeeper,kafka

#新建zookeeper文件夹
root@homestead:/usr# mkdir zookeeper


#将提供的zookeeper的文件cp复制到我们的zookeeper文件夹中
root@homestead:/usr/zookeeper# cp /home/vagrant/Code/kafka_resources/zookeeper-3.4.5.tar.gz ./


#解压
root@homestead:/usr/zookeeper# tar -zxvf zookeeper-3.4.5.tar.gz


#解压完毕后可看到文件夹
root@homestead:/usr/zookeeper# ll
total 16032
drwxr-xr-x  3 root root      4096 Jan 19 05:14 ./
drwxr-xr-x 13 root root      4096 Jan 19 04:52 ../
drwxr-xr-x 10  501 staff     4096 Nov  5  2012 zookeeper-3.4.5/
-rwxr-xr-x  1 root root  16402010 Jan 19 05:14 zookeeper-3.4.5.tar.gz*

#进入到zookeepr-3.4.5/conf文件夹中去
root@homestead:/usr/zookeeper# cd zookeeper-3.4.5/conf/


#查看文件
root@homestead:/usr/zookeeper/zookeeper-3.4.5/conf# ll
total 20
drwxr-xr-x  2 501 staff 4096 Jan 19 05:14 ./
drwxr-xr-x 10 501 staff 4096 Nov  5  2012 ../
-rw-r--r--  1 501 staff  535 Sep 30  2012 configuration.xsl
-rw-r--r--  1 501 staff 2161 Sep 30  2012 log4j.properties
-rw-r--r--  1 501 staff  808 Sep 30  2012 zoo_sample.cfg


#将zoo_sample.cfg复制一份,并改名为zoo.cfg
root@homestead:/usr/zookeeper/zookeeper-3.4.5/conf# cp zoo_sample.cfg zoo.cfg
root@homestead:/usr/zookeeper/zookeeper-3.4.5/conf# ll
total 24
drwxr-xr-x  2  501 staff 4096 Jan 19 05:18 ./
drwxr-xr-x 10  501 staff 4096 Nov  5  2012 ../
-rw-r--r--  1  501 staff  535 Sep 30  2012 configuration.xsl
-rw-r--r--  1  501 staff 2161 Sep 30  2012 log4j.properties
-rw-r--r--  1 root root   808 Jan 19 05:18 zoo.cfg
-rw-r--r--  1  501 staff  808 Sep 30  2012 zoo_sample.cfg


#编辑zoo.cfg文件
root@homestead:/usr/zookeeper/zookeeper-3.4.5/conf# vi zoo.cfg


#内容如下
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper/data    #如果没有这个目录需要自己新建
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1


#新建/tmp/zookeeper/data目录,并修改文件夹权限
root@homestead:/usr/zookeeper/zookeeper-3.4.5/conf# cd /tmp/
root@homestead:/tmp# mkdir zookeeper
root@homestead:/tmp# cd zookeeper/
root@homestead:/tmp/zookeeper# mkdir data
root@homestead:/tmp/zookeeper# cd ../
root@homestead:/tmp# chmod -R 777 zookeeper/


#为zookeeper创建环境变量,在文件开头加入如下两个export地址,保存退出
root@homestead:/tmp# vi /etc/profile
export ZOOKEEPER_HOME=/tmp/zookeeper
export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH


#加入结果# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export ZOOKEEPER_HOME=/tmp/zookeeper
export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
~


#配置kafka单机
root@homestead:/usr# mkdir kafka


#将提供的kafka的文件cp复制到我们的kafka文件夹中
root@homestead:/usr/kafka# cp /home/vagrant/Code/kafka_resources/kafka_2.13-2.4.0.tgz ./


#解压
root@homestead:/usr/kafka# tar -zxvf kafka_2.13-2.4.0.tgz


#进入kafka/config目录下:
root@homestead:/usr/kafka# cd kafka_2.13-2.4.0/config/


#编辑server.properties
root@homestead:/usr/kafka/kafka_2.13-2.4.0/config# vi server.properties
#配置server.properties:
#broker.id需改成正整数,单机为1就好
broker.id=1
#自定义指定端口号【新加配置】
port=9092
#自定义加入hostname【新加配置】
#localhost这一项还有其他要修改,详细见下面说明
host.name=localhost
#指定kafka的日志目录
log.dirs=/tmp/kafka-logs
#连接zookeeper配置项,这里指定的是单机,所以只需要配置localhost,若是实际生产环境,需要在这里添加其他ip地址和端口号
zookeeper.connect=localhost:2181


#按照上面的方法,vi几个文件,修改配置


#配置zookeeper.properties:
dataDir=/tmp/zookeeper/data
clientPort=2181
host.name=localhost

#配置producer.properties:
zookeeper.connect=localhost:2181


#配置consumer.properties:
zookeeper.connect=localhost:2181


#在/tmp下新建一个kafka-logs文件夹并修改权限
root@homestead:# cd /tmp/
root@homestead:/tmp# mkdir kafka-logs
root@homestead:/tmp# chmod -R 777 kafka-logs/




6,先启动zookeeper

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

7.启动kafka

bin/kafka-server-start.sh config/server.properties

8.创建一个名为topTest的topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topTest

文件下载:

链接:https://pan.baidu.com/s/1_aTOLr3jwQ-oref1eBqlKQ 
提取码:32b5

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值