热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据集群快速安装教程

大数据集群快速安装教程俗话说:”工欲善其事,必先利其器“。这里推荐一个快速搭建大数据集群的工具。如果是刚刚接触大数据新人,建议还是自己


大数据集群快速安装教程

俗话说:”工欲善其事,必先利其器“。

这里推荐一个快速搭建大数据集群的工具。如果是刚刚接触大数据新人,建议还是自己亲自动手配置下。

github地址:https://github.com/yiluohan1234/vagrant_bigdata_cluster


一、简介

vagrant_bigdata_cluster 是一个利用 VirtualBox 虚拟机快速搭建大数据集群的工具。

本集群创建的组件如下表所示。


组件hdp101hdp102hdp103
OScentos7.6centos7.6centos7.6
JDKjdk1.8jdk1.8jdk1.8
HDFSNameNode
DataNode
DataNode
JobHistoryServer
DataNode
SecondaryNameNode
YARNNodeManagerResourceManager
NodeManager
NodeManager
HiveHiveNANA
HBaseHMaster
HRegionServer
HRegionServerHRegionServer
Sparkmaster
worker
workerworker
FlinkStandaloneSessionClusterEntrypoint
TaskManagerRunner
TaskManagerRunnerTaskManagerRunner
ZookeeperQuorumPeerMainQuorumPeerMainQuorumPeerMain
KafkakafkaKafkaKafka
Flumeflumeflumeflume
Scalascalascalascala
MavenmvnNANA
SqoopsqoopNANA
MySQLNANAMySQL Server
NginxNginxNANA
RedisRedisNANA
ElasticsearchElasticsearchElasticsearchElasticsearch
KibanaKibanaNANA

组件版本:

Java: 1.8
Hadoop: 2.7.7
Hive: 2.3.4
Hbase: 1.6.0
Spark: 2.4.3
Flink: 1.12.4
Zookeeper: 3.6.3
Kafka: 2.10-0.10.2.2
Flume: 1.9.0
Scala: 2.11.11
Maven: 3.6.1
Sqoop: 1.4.7
MySQl Connector: 5.1.49
MySQL: 5.7.40(yum安装)
Nginx: 1.20.1(yum安装)
Redis: 3.2.12(yum安装)
Elasticsearch: 6.6.0
Kibana: 6.6.0
Canal: 1.25.0
Maxwell: 3.84.4
Presto: 0.196
Kylin: 3.0.2

二、基本准备


  1. 集群默认启动三个节点,每个节点的默认内存是2G,所以你的机器至少需要6G,我的机器是16G,启动很多组件的话会卡。如果有条件,建议升级机器为32G内存,每台机器4G。
  2. 我的测试环境软件版本:Vagrant 2.2.14, Virtualbox 6.0.14
  3. 虚拟机默认用户名:vagrant,默认密码为:vagrant
  4. MySQL的 root 用户密码为:199037

三、安装集群环境


  1. 下载和安装VirtualBOX

  2. 下载和安装Vagrant

  3. 克隆本项目到本地,并cd到项目所在目录(备注:我是下载了gitbash,通过gitbash命令行操作)

    git clone https://github.com/yiluohan1234/vagrant_bigdata_cluster
    cd vagrant_bigdata_cluster

  4. 执行vagrant up 创建虚拟机

  5. 可以通过执行 vagrant ssh 登录到你创建的虚拟机,或通过SecureCRT等工具进行登录。默认创建用户为 vagrant,root 和 vagrant 用户的密码为 vagrant

  6. 如果你想要删除虚拟机,可以通过执行vagrant destroy 来实现


四、自定义集群环境配置

基本目录结构

resources
scripts
.gitignore
README.md
VagrantFile

你可以通过修改VagrantFilescripts/common.sh文件和resources/组件名称目录下各个组件的配置文件文件来实现自定义集群。


  1. VagrantFile
    这个文件可以设置虚拟机的的版本、个数、名称、主机名、IP、内存、CPU等,根据自己需要更改即可。

  2. scripts/common.sh
    这个文件可以设置各个组件的版本。



    注意:部分组件需要同步更改XXX_VERSIONXXX_MIRROR_DOWNLOAD,保证能下载到组件版本。



五、集群安装完毕后相关组件初始化及启动


1、ssh免登陆

在每台机器上执行以下

setssh

2、启动hadoop与测试


1)启动

hdp101 机器上执行以下命令对hadoop集群进行格式化,并启动hdfs和yarn。

hdfs namenode -format
start-dfs.sh

hdp102 机器上执行以下命令,启动yarn和jobhistory。

start-yarn.sh
mr-jobhistory-daemon.sh start historyserver (mapred --damon)

或者

bigstart hdp format
bigstart hdp start

2)测试

通过执行下列命令可以测试yarn是否安装成功。

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples*.jar pi 2 100

3、启动Spark(Standalone )与测试


1)启动

hdp101 机器上执行以下命令。

$SPARK_HOME/sbin/start-all.sh

或者

bigstart spark start

2)测试

通过执行下列命令可以测试spark是否安装成功。

hdfs dfs -mkdir /spark-log
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--num-executors 1 \
--executor-cores 2 \
$SPARK_HOME/examples/jars/spark-examples*.jar 100

4、启动Flink


1)启动

hdp101 机器上执行以下命令。

$FLINK_HOME/bin/start-cluster.sh

或者

bigstart flink start

2)测试

通过执行下列命令可以测试Flink是否安装成功。

# 批量WordCount
flink run $FLINK_HOME/examples/batch/WordCount.jar

5、启动Hive与测试


1)启动

hdp103 节点登录MySQL数据库,创建hive的元数据库。(已在mysql安装时完成,mysql默认密码为199037)

# 创建hive的元数据库
mysql -uroot -p199037 -e "create user 'hive'@'%' IDENTIFIED BY 'hive';GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;grant all on *.* to 'hive'@'localhost' identified by 'hive';flush privileges;"

hdp101 节点,初始化元数据,看到 schemaTool completed ,即初始化成功!

schematool -initSchema -dbType mysql

报错:Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

hadoop和hive的两个guava.jar版本不一致

两个位置分别位于下面两个目录:


  • /usr/local/hive/lib/
  • /usr/local/hadoop/share/hadoop/common/lib/

解决办法:
删除低版本的那个,将高版本的复制到低版本目录下


2)Hive服务启动与测试

hdp101 节点,创建测试数据

# 创建数据文件
vi ~/stu.txt

内容如下:

00001,zhangsan
00002,lisi
00003,wangwu
00004,zhaoliu

创建库表并加载数据到Hive表

# 启动hive
[vagrant@hdp101 ~]$ hive
# 创建表
hive (default)> CREATE TABLE stu(id INT,name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
# 加载数据
hive (default)> load data local inpath '/root/stu.txt' into table stu;
# 查看库表
hive (default)> select * from stu;
OK
1 zhangsan
2 lisi
3 wangwu
4 zhaoliu
Time taken: 3.301 seconds, Fetched: 4 row(s)

6、启动Zookeeper

hdp101 节点登录执行以下命令。(注意:不能以root执行)

bigstart es start(或stop)

jpsall查看一下进程:

[vagrant@hdp101 ~]$ jpsall
--------------------- hdp101节点 ---------------------
2899 QuorumPeerMain
--------------------- hdp102节点 ---------------------
25511 QuorumPeerMain
--------------------- hdp103节点 ---------------------
25993 QuorumPeerMain

PrettyZoo


7、启动Elasticsearch

hdp101 节点登录执行以下命令。(注意:不能以root执行)

bigstart es start(或stop)

jpsall查看一下进程:

[vagrant@hdp101 ~]$ jpsall
--------------------- hdp101节点 ---------------------
3185 Kafka
2899 QuorumPeerMain
3365 Elasticsearch
--------------------- hdp102节点 ---------------------
25511 QuorumPeerMain
25800 Kafka
25964 Elasticsearch
--------------------- hdp103节点 ---------------------
26276 Kafka
26440 Elasticsearch
25993 QuorumPeerMain

访问 http://hdp101:9200/_cat/nodes?v 查看节点状态。


8、启动Kibana

hdp101 节点登录执行以下命令。

bigstart kibana start(或stop)

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

访问 http://hdp101:5601/ 查看。


9、启动Kafka


1)启动

hdp101 节点登录执行以下命令:

bigstart zookeeper start
bigstart kibana start(或stop)

2)测试

hdp101 节点执行以下命令,创建topic:test

kafka-topics.sh --zookeeper hdp101:2181,hdp102:2181,hdp103:2181/kafka --create --topic test --replication-factor 1 --partitions 3

hdp101 节点执行以下命令,生产者生产数据

kafka-console-producer.sh --broker-list hdp101:9092,hdp102:9092,hdp103:9092 --topic test
hello world

hdp103 节点执行以下命令,消费者消费数据

kafka-console-consumer.sh --bootstrap-server hdp101:9092,hdp102:9092,hdp103:9092 --topic test --from-beginning

10、启动Hbase


1)启动

hdp101 节点登录执行以下命令:

bigstart zookeeper start
bigstart hbase start(或stop)

2)测试


六. Web UI

可以通过以下链接访问大数据组件的web页面。

HDFS

ResourceManager

JobHistory

Spark

Flink

Elasticsearch

Kibana

Hbase







推荐阅读
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 11月26日,由中国计算机协会(CCF)主办,CCF大数据专家委员会协办,CSDN承办的Hadoop与大数据技术大会(Hadoop&BigDataTechnology ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  • 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开查询设计器时,ReportBuilder3.0会冻结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
  • Zookeeper 总结与面试题汇总
    Zookeeper总结与面试题汇总,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
Mr_维力_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有