Hadoop+zookeeper+Flume+Spark+Kafka+Hbase大数据集群搭建

Hadoop zookeeper Flume Spark Kafka Hbase大数据集群搭建教程

集群搭建流程

一、 环境的准备和必要软件的下载

  1. 下载并安装vmvare虚拟机软件

  2. 下载centos7系统镜像文件,下载链接

  3. 下载hadoop-2.8.3.tar.gz ,下载链接

  4. 下载hbase-1.2.6-bin.tar.gz,下载链接

  5. 下载apache-flume-1.8.0-bin.tar.gz下载链接

  6. 下载jdk-8u161-linux-x64.rpm 下载链接

  7. 下载kafka-0.8.2.2-src.gz 下载链接

  8. 下载spark-2.3.0-bin-hadoop2.7.tgz 下载链接

  9. 下载zookeeper-3.4.10.tar.gz 下载链接

二、 各类软件的安装和配置

Hadoop与JDK

  1. 安装centos7

  2. 设置虚拟机中的网络设置

  3. 在虚拟机中选用host-only网络

4. vi /etc/sysconfig/network NETWORKING=yes GATEWAY=192.168.56.1

vi /etc/sysconfig/network-sripts/ifcfg-enp0s3 TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0
  1. 修改主机名hostnamectl set-hostname master (主机名千万不能有下划线!)

  2. 重启网络service network restart

7. 互相ping,看是否测试成功,若不成功,注意防火墙的影响。关闭windows或虚拟机的防火墙。systemctl stop firewalld system disable firewalld

  1. 使用XShell登陆

  2. 检查ssh服务状态systemctl status sshd (service sshd status),验证使用XShell是否能登陆成功。

  3. 将hadoop和jdk上传到虚拟机

  4. 安装JDK rpm -ivh ./xxxxx.jdk,验证rpm -qa | grep jdk,在命令行中敲java命令,确认jdk已经安装完成

image.png
  1. jdk默认安装在/usr/java目录下

  2. 安装hadoop

cd /usr/local
tar –xvf ./hadoop-2.7.2.tar.gz
  1. 把目录修改为hadoop mv hadoop-2... hadoop

  2. 修改hadoop-env.sh

vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
image.png

[图片上传失败...(image-2a427a-1548213084029)]

  1. 修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default

  2. 把/usr/hadoop/bin和/usr/hadoop/sbin设到PATH中

vi /etc/profile

18. 追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin

source etc/profile
  1. 测试hadoop命令是否可以直接执行,任意目录下敲hadoop

  2. 关闭虚拟机,复制3份

  3. 分别修改虚拟机的ip和hostname,确认互相能够ping通,用ssh登陆,同时修改所有虚拟机的/etc/hosts,确认使用名字可以ping通


    image.png

Zookeeper

  1. 将zookeeper上传到虚拟机

  2. 解压zookeeper并将文件夹重命名为zookeeper

  3. 在主目录下创建data和logs两个目录用于存储数据和日志

cd /usr/myapp/zookeeper
mkdir data   
mkdir logs
  1. 在conf目录下将自带的配置文件改名为zoo.cfg文件,并写入以下内容
image.png
  1. 在data目录下vim myid文件,填入一个数字id,注意各台主机id必须不相同
image.png

Hbase

  1. 将hbase上传到虚拟机

  2. 解压hbase并将文件夹重命名为hbase

cd hbase/conf
vim hbase-site.xml
  1. 修改zookeeper所在位置,修改集群各主机名,指定zookeeper通讯端口为默认的2181端口,指定master

  2. 注意各台slave同步配置时指定相同的master

image.png
  1. 退出并vim hbase-env.sh 修改javahome
image.png
  1. 由于不使用hbase自带的zookeeper,故将此属性设为false
image.png
  1. vim regionservers 指定regionservers为三台
image.png

Flume

  1. 将flume上传到虚拟机

  2. 解压flume并将文件夹重命名为flume

  3. 进入conf文件夹

  4. vim flume-env.sh

  5. 指定javahome和下面的参数

image.png
  1. 新建配置文件 vim hw.conf 写入以下内容
image.png

Kafka

  1. 将Kafka上传到虚拟机

  2. 解压Kafka并将文件夹重命名为kafka

  3. cd kafka进入kafka文件夹

  4. mkdir kafkalogs新建日志存储目录kafkalogs

  5. 进入conf文件夹

  6. 由于要使用非自带的zookeeper所以修改zookeeper.conf

image.png
  1. vim server.conf 修改zookeeper连接的端口号为默认的本地2181
image.png
  1. 修改每台主机的brokerid,每个id唯一不相同
image.png
  1. 指定日志存储目录
image.png

Spark

  1. 将spark上传到虚拟机

  2. 解压spark并将文件夹重命名为spark

  3. cd spark进入spark文件夹

  4. 由于我们使用的是spark的local模式故不用修改配置文件,默认即可

三、 各类软件的启动命令

Hadoop:

cd /usr/local/hadoop/sbin

在master上开启namenode ./hadoop-daemon.sh start namenode

在slaves上开启datanode ./hadoop-daemon.sh start datanode

使用jps命令查看开启状态

image.png

Zookeeper

cd /usr/local/zookeeper/bin

开启命令 ./zkServer.sh start

查看状态 ./zkServer.sh status

出现一下提示表明开启成功

image.png

Hbase

cd /usr/local/hbase/bin

master上 ./hbase-daemon.sh start master

slaves上 ./hbase-daemon.sh start regionserver

使用jps命令查看,出现以下情况即为开启成功

image.png

cd /usr/local/kafka/bin

在所有机器上./kafka-server-start.sh ../config/server.properties &

使用jps命令查看出现kafka即为成功

image.png

四、 安装中遇到的一些问题与解决方案

Lock on /tmp/hadoop-root/dfs/data/in_use.lock acquired by nodename 2648@slave1

Id

解决方案:

1,删除dfs.namenode.name.dir和dfs.datanode.data.dir 目录下的所有文件

2,修改hosts

cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.149.128 localhost

3,重新格式化:bin/hadoop namenode -format

参考 https://www.cnblogs.com/tankaixiong/p/4177832.html

发现 hbase 挂了, 查看 master log

master.HMaster: Unhandled exception. Starting shutdown.

    org.apache.hadoop.hbase.util.FileSystemVersionException: HBase file layout needs to be upgraded.  You have version null and I want version 8.  Is your hbase.rootdir valid?  If so, you may need to run 'hbase hbck -fixVersionFile'.

    at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:602)

    at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:456)

    at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:147)

    at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:128)

    at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:802)

    at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:615)

    at java.lang.Thread.run(Thread.java:695)

解决方案:

重建一下 hdfs/hbase 文件

bin/hadoop fs -rm -r /hbase

参考:https://www.cnblogs.com/zemliu/p/3824629.html

Could not find the main class: org.apache.flume.node.Application.  Program will exit.

First of all, add the -c parameter to the command like this:

bin/flume-ng agent -n agentA -c conf -f conf/MultipleFlumes.properties -Dflume.root.logger=INFO,console

Adding that parameter does not resolve the issue but if you don't include it you get another error because of log4j configuration file.

As for your problem, check if FLUME_HOME is defined, and if that is the case, unset it with

unset FLUME_HOME

参考:https://stackoverflow.com/questions/24483464/flume-could-not-find-the-main-class-org-apache-flume-tools-getjavaproperty

五、 kafka配置文件参考

由于每台电脑的各种不同所以以下的配置文件仅供参考

agent.sources.s1.type=exec

agent.sources.s1.command=tail -F /Users/it-od-m/Downloads/abc.log

agent.sources.s1.channels=c1

agent.channels.c1.type=memory

agent.channels.c1.capacity=10000

agent.channels.c1.transactionCapacity=100

#

agent.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink

#

agent.sinks.k1.brokerList=127.0.0.1:9092

#

Topic

agent.sinks.k1.topic=testKJ1

#

agent.sinks.k1.serializer.class=kafka.serializer.StringEncoder

agent.sinks.k1.channel=c1
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容