Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)

这篇具有很好参考价值的文章主要介绍了Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本篇文章是结合我个人学习经历所写,如果遇到什么问题或者我有什么错误,欢迎讨论。


一、本篇文章所用到的软件和文件(另外还提供了可能会用到的api文档)

百度网盘链接:https://pan.baidu.com/s/1DCkQQVYqYHYtPws9hWGpgw?pwd=zh1y
提取码:zh1y


二、VMware虚拟机安装

软件在连接中VMwareWorkstation_V16.2.1_XiTongZhiJia的文件夹下。

双击运行安装包,这里下一步即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里勾选我接受许可协议中的条款,然后下一步。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里更改文件存放的位置,我更改到D盘VMware\VMware Workstation目录下,其他的全选,下一步即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里更新和加入用户体验计划记得取消,然后点击下一步即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里创建桌面和开始菜单程序文件夹看个人喜好选择,我是默认选择,然后下一步即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里点击安装即可,软件开始安装,然后稍等一会软件安装完成。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

安装完成后提示输入许可证密钥,如果是试用软件就点击完成即可,如果是想个人长期使用点击许可证,提示输入密钥,输入密钥即可。(我在下面放了几个密钥。注:密钥仅个人使用,不可商用。)

ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
FA1M0-89YE3-081TQ-AFNX9-NKUC0

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里点击完成即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里会提示要重启你的计算机,点击是,电脑会自动重启,等待即可。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop


三、虚拟机的创建

  • 目前大数据集群的搭建分两种:一种是分布式集群,另一种的伪分布式环境。
  • 分布式环境需要三台及以上的机器来搭建,伪分布式环境则可以用一台机器来搭建。
  • 本文介绍的是利用虚拟机来搭建Hadoop集群。
  • 首先需要创建三台虚拟机。

点击文件,新建虚拟机。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

点击自定义,然后下一步。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里默认下一步即可。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里选择稍后安装操作系统,然后点击下一步。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里选择Linux操作系统,版本选择CentOS7 64位,然后点击下一步。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里虚拟机名称改为master,位置选择一个除C盘以外的位置,然后点击下一步。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里是编辑虚拟机的配置,因为是Linux系统,所以对硬件配置要求不高,处理器配置根据自己电脑性能来选择(一般来说2核够学习阶段使用),点击下一步继续操作。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里是给虚拟机分配内存,这里建议内存2G或者更高,要不然虚拟机运行时可能会崩溃,点击下一步继续。

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里选择使用网络地址转换,然后点击下一步继续。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这两步默认即可,点击下一步继续。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里选择创建新虚拟磁盘,有利与对虚拟机的备份和迁移,点击下一步继续。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里选择分配给虚拟机的磁盘容量,我这里给的是40G,点击下一步继续。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里点击下一步继续即可。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里就是虚拟机的详细配置信息了,点击完成。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
点击编辑虚拟机设置,选择CD/DVD这一项,点击使用ISO镜像文件,点击预览在你计算机本地找到你下载好的CentOS 7的ISO文件,我把CentOS镜像放在我的分享的文件中的CentOS镜像目录下,点击确定即可。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

到这里虚拟机就初步创建完成了,下面就是对虚拟出来的系统进行设置了。
点击打开虚拟机,就会出现这样的界面,提示安装CentOS 7系统,使用Ctrl+Alt键切换到虚拟机系统中,使用上下键选择Install CentOS 7这一项,回车确定,然后等待即可。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
系统安装完成后就会出现这样的界面,然你选择系统语言,这里选择英语就好,如何选择汉语的话,在后续操作命令行中会出现一下困难,点击Continue继续。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里自动分区警告,需要手动选择磁盘,点击INSTALLATION DESTINATION 进入此磁盘管理功能。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这里单击选择之前分好的40G硬盘分区,点击 Done 继续下一步。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

这样就自动分区完成了,点击 DATA & TIME 修改日期和时间。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

Region 选择Asia City 选择Shanghai ,但是虚拟机时间会比正常时间块8个小时,记得修改(这里不修改也可以,后面会进行时间同步),点击 Done 保存退出。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
点击SOFTWARE SELECTION,进行选择。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
选择安装图形化界面的选项。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

点击Begin Installation就可以进行下一步安装了。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
点击ROOT PASSWORD设置root用户密码。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里设置root用户密码为123456,因为密码比较简单所以要点击两次Done保存。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里设置普通用户的账号密码。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里按照自己的喜好就好。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
点击Finsh configuration进行下一步,然后等待虚拟机安装完毕。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
点击Reboot重启虚拟机,一台CentOS虚拟机就搭建完毕。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
因为搭建hadoop集群需要三台虚拟机,所以这里再克隆出两台虚拟机分别命名为slave1和slave2。Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

四、大数据开发环境

集群环境:3台虚拟机 Centos7 64位

1. 基础知识

因为权限问题,所以全程使用root权限账户

1.1. 虚拟机网络类型

桥接模式:
NAT模式:虚拟机只能被宿主机识别,虚拟机ip和宿主机的ip可以不是一个网段的
网桥模式:虚拟机的ip和宿主机的ip是同一网段

1.2. Linux的启动,有两种常用模式:图形界面和文本界面

启动到图形界面,想进入到文本界面:init 3
启动到文本界面,想进入到图形界面:init 5
重新启动计算机 :init 6
关闭计算机:init 0

1.3. 文本界面使用

登录 输入用户名 root 输入密码

设置默认启动的是文本界面
systemctl set-default multi-user.target 
设置默认启动的是图形界面
systemctl set-default graphical.target 

2. 网络环境

打开虚拟网络编辑器查看虚拟机ip
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
我这里net8模式的区间是192.168.152.128到192.168.152.254,所以在192.168.152.129到192.168.152.253这个区间的IP都是可用的。
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
使用命令(注:linux有自动补充命令的功能键tab键)

vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet		//网络类型
PROXY_METHOD=none	
BROWSER_ONLY=no
BOOTPROTO=dhcp		//IP地址的类型:dhcp从dhcp服务器获取ip地址  static  固定ip地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2ee3a0ad-301a-4c4e-9615-4e2d7e975aef
DEVICE=ens33
ONBOOT=no		//no,计算机启动时,网卡不工作;yes 计算机启动时,网卡随之启动工作
vi编辑器使用:
i或者insert键进入修改状态
按esc键,输入:wq
# 固定ip地址:
BOOTPROTO=static
IPADDR=192.168.152.129
PREFIX=24
GATEWAY=192.168.152.2
DNS1=114.114.114.114
DNS2=202.103.24.68
# 重新启动网卡:
systemctl stop network     //停止网卡服务
systemctl start network    //启动网卡服务
systemctl status network   //查看网卡状态

第一台虚拟机:master 192.168.152.129
第二台虚拟机:slave1 192.168.152.130
第三台虚拟机:slave2 192.168.152.131
保证三台机器之间相互连通

3. 修改计算机名

查看计算机名的命令:hostname
修改计算机名的命令:hostnamectl set-hostname 新的计算机名
修改三台虚拟机的计算机名称,分别为:master、slave1、slave2

4. 配置/etc/hosts文件

vi /etc/hosts

三台虚拟机中,都需要修改为

192.168.152.129	master
192.168.152.130	slave1
192.168.152.131	slave2

ping 计算机名 检验是否修改成功

5. 查看/关闭防火墙

查看防火墙状态:systemctl status firewalld.service
	临时开启防火墙:systemctl start firewalld.service
	临时关闭防火墙:systemctl stop firewalld.service
开机自动开启或关闭防火墙:
   关闭:systemctl disable firewalld
   开启:systemctl enable firewalld

图片为防火墙开启状态

Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

6. 时间同步

6.1 查看时间和设置时间命令

查看时间:date
设置时间:date -s 
如:
	date -s 2022-09-23 
	date -s 15:33:00
	date -s "2022-09-22 18:46:30"
		        

6.2 安装NTP服务

master、slave1、slave2

master角色:
	a. 安装ntp服务:yum install -y ntp
	注:查询是否安装ntp服务:rpm -qa | grep ntp
	b. 配置文件: vi /etc/ntp.conf
	在打开的文件中写入:
	server 127.127.1.0
	fudge 127.127.1.0 stratum 10
	c. 启动ntp服务:systemctl start ntpd.service
	d. 同步时间ntpdate命令
		格式:ntpdate 时间服务器的网络地址
		ntpdate ntp.ntsc.ac.cn
		要求:这个机器不能运行ntpd服务的同时,运行ntpdate命令进行同步时间
		ntp.ntsc.ac.cn	//中国科学院国家授时中心NTP授时服务器地址
slave1和slave2:安装ntp服务

6.3 运行大数据环境:

保证时间同步,ntp服务启动
a. master角色的机器的ntpd服务已经启动
b. slave1和slave2角色的机器:保证没有启动ntp的服务,运行ntpdate master的ip

7. 免密钥登录

a.在master、slave1、slave2机器上生成密钥:
	ssh-keygen  -t dsa -P '' -f ~/.ssh/id_dsa
b.将密钥复制到对应机器中
	使用ssh-copy-id命令:格式: ssh-copy-id   root@计算机名
	以master为例:
		将公钥复制到master、slave1和slave2三个机器中
		复制到master机器:ssh-copy-id   root@master
		复制到slave1机器:ssh-copy-id   root@slave1
		先输入yes,然后要求输入用户名对应的密码(salve1机器的root的密码)
		复制到slave2机器:ssh-copy-id   root@slave2
	    复制公钥到对应机器之后,就可以通过命令"ssh 机器名"访问对应机器,使用"exit"退出
slave1和slave2做与master一样的事情。

8. 将需要的软件上传到三个虚拟机中

需要把下图中的文件上传的三台虚拟机中,我这里创建了一个名为soft的文件夹,将文件存放到soft文件夹中
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
这里我用到了Xftp软件
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop
上传到虚拟机的结果如下图所示
Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala),大数据,hadoop

9. Java安装和配置(三台虚拟机都需要配置)

9.1 解压安装包到指定目录

a. 创建安装目录
	mkdir /usr/java
b. 解压软件
	tar -xzvf soft/jdk-8u171-linux-x64.tar.gz -C/usr/java/
注:tar命令解压软件
	tar -xzvf	
	选项:
	   	 c:压缩文件
         x:解压软件
	     z:gzip压缩方式   gzip压缩文件扩展名:.gz	
	     j:bzip2压缩方式  bzip2压缩文件扩展名:.bz2
	     v:输出相关信息
	     f:使用档案文件或设备,一般必选
	  例1:将a.txt、b.txt压缩成一个文件 m.tar
		tar -czvf m.tar a.txt b.txt
	  例2:将m.tar解压到指定目录
		tar -xzvf m.tar -C 指定路径
		tar -xzvf m.tar -C abc

9.2 配置环境变量

临时设置环境变量:
    export  环境变量名=值
	export JAVA_HOME=/usr/java/jdk1.8.0_171
	export CLASSPATH=$JAVA_HOME/lib
	export PATH=$JAVA_HOME/bin:$PATH
永久生效:
修改/etc/profile :
vi / etc/profile
在最后添加:
#java envirement
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
重新启动计算机或者重新登录,让文件内容生效
不重启计算机或不重新登录:
source /etc/profile
运行命令:java -version

10. zookeeper的安装与配置

10.1 master机器:

10.1.1 解压安装包
创建安装目录:
mkdir /usr/zookeeper
解压文件: 
tar -xzvf soft/zookeeper-3.4.10.tar.gz -C /usr/zookeeper/
10.1.2 修改配置文件
10.1.2.1 修改/etc/hosts
vi /etc/hosts
注:三台机器的host文件内容相同习惯
	文件内容:
	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	192.168.152.129 master master.root
	192.168.152.130 slave1  slave1.root
	192.168.152.131 slave2  slave2.root
10.1.2.2 配置文件zoo.cfg
master机器:
	cd /usr/zookeeper/zookeeper-3.4.10/conf/
	cp zoo_sample.cfg zoo.cfg
	创建两个目录:
	mkdir /usr/zookeeper/zookeeper-3.4.10/zkdata
	mkdir /usr/zookeeper/zookeeper-3.4.10/zkdatalog
	修改zoo.cfg
	vi zoo.cfg
	修改内容如下:
	dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
	dataLogDir= /usr/zookeeper/zookeeper-3.4.10/zkdatalog
	server.1=master:2888:3888
	server.2=slave1:2888:3888
	server.3=slave2:2888:3888
	在/usr/zookeeper/zookeeper-3.4.10/zkdata目录中创建一个文件myid,内容是一个数字,在zoo.cfg文件中机器名对应的server.x=机器名:2888:3888,server右边的数字
	vi /usr/zookeeper/zookeeper-3.4.10/zkdata/myid
	输入1,保存退出
	编辑/etc/profile文件:
	vi /etc/proflie
	在最后添加:
	#zookeeper environment
	export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
	export PATH=$ZOOKEEPER_HOME/bin:$PATH
	保存退出
	不启动系统情况下,让环境变量生效:
	source /etc/profile

10.2 slave1和slave2机器

10.2.1 安装slave1和slave2机器的zookeeper
复制master机器中的zookeeper安装目录内容到slave1和slave2:
命令:scp 
	格式:scp -r 源目录  用户名@机器名:目标目录
执行:
scp -r /usr/zookeeper  root@slave1:/usr
scp -r /usr/zookeeper  root@slave2:/usr
10.2.2 修改slave1和slave2机器myid的内容
vi /usr/zookeeper/zookeeper-3.4.10/zkdata/myid
修改slave1机器/usr/zookeeper/zookeeper-3.4.10/zkdata/myid
	将值1改为2
修改slave2机器/usr/zookeeper/zookeeper-3.4.10/zkdata/myid
	将值1改为3
10.2.3 修改slave1和slave2中的/etc/profile
vi /etc/profile
在最后添加:
#zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
export PATH=$ZOOKEEPER_HOME/bin:$PATH
保存退出
不启动系统情况下,让环境变量生效:
source /etc/profile

10.3 启动zookeeper

同步时间:
	master机器 启动ntpd服务:systemctl start ntpd
	slave1和slave2机器:ntpdate master
启动zookeeper:3台机器都要执行启动命令
	/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh  start/status/stop
	注:成功启动的情况,查看服务状态 Mode 是一个leader和两个follower

11. Hadoop的安装与配置

11.1 master机器的安装配置

11.1.1 创建Hadoop的安装目录
mkdir /usr/hadoop
11.1.2 解压hadoop软件
tar -xzvf soft/hadoop-2.7.3.tar.gz -C /usr/hadoop/
11.1.3 配置环境变量(三台机器都需要进行配置)
vi /etc/profile
在最后添加:
#hadoop environment
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH
export PATH=$HADOOP_HOME/bin:$PATH
保存退出
执行:source /etc/profile
11.1.4 修改Hadoop-env.sh
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_171
11.1.5修改core-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
在<configuration>和</configuration>之间添加下面的内容:
<configuration>
	<property>
		<name>fs.default.name</name>
	 	<value>hdfs://master:9000</value>
	</property>

	<property>
		 <name>hadoop.tmp.dir</name>
		 <value>/usr/hadoop/hadoop-2.7.3/hdfs/tmp</value>
		 <description>A base for other temporary directories.</description>
	</property>

	<property>
		 <name>io.file.buffer.size</name>
		 <value>131072</value>
	</property>

	<property>
		 <name>fs.checkpoint.period</name>
		 <value>60</value>
	</property>
	
	<property>
		 <name>fs.checkpoint.size</name>
		 <value>67108864</value>
	</property>
</configuration>
11.1.6 修改yarn-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
在<configuration>和</configuration>之间添加下面的内容
<property>
	 <name>yarn.resourcemanager.address</name>
 	 <value>master:18040</value>
</property>

<property>
	<name>yarn.resourcemanager.scheduler.address</name>
 	<value>master:18030</value>
</property>

<property>
 	<name>yarn.resourcemanager.webapp.address</name>
 	<value>master:18088</value>
</property>

<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
 	<value>master:18025</value>
</property>

<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>master:18141</value>
</property>

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

<property>
	<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
	<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
11.1.7 修改hdfs-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
在<configuration>和</configuration>之间添加下面的内容
<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>

<property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/name</value>
	<final>true</final>
</property>

<property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/data</value>
 	<final>true</final>
</property>

<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>master:9001</value>
</property>

<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>

<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>
11.1.8 修改mapred-site.xml
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
在<configuration>和</configuration>之间添加下面的内容
<property>
	<name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
11.1.9 修改/usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves
文件内容:删除原来内容localhost,修改成下面的内容
slave1
slave2
11.1.10 创建/usr/hadoop/hadoop-2.7.3/etc/hadoop/master
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/master
文件内容:master

11.2 slave1和slave2机器的安装配置

复制master角色机器中的hadoop目录到slave1和slave2机器对应目录中
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/

11.3 格式化hadoop

在master机器中:
hadoop namenode -format

11.4 启动Hadoop

同步时间
启动zookeeper
再启动Hadoop:在master角色机器上执行
/usr/hadoop/hadoop-2.7.3/sbin/start-all.sh或
/usr/hadoop/hadoop-2.7.3/sbin/start-dfs.sh和
/usr/hadoop/hadoop-2.7.3/sbin/start-yarn.sh
如何查看Hadoop启动成功?
	使用命令:jps
	通过浏览器查看:http://master角色的ip:50070

11.5 结束Hadoop

/usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh或
/usr/hadoop/hadoop-2.7.3/sbin/stop-dfs.sh和
/usr/hadoop/hadoop-2.7.3/sbin/stop-yarn.sh
结束zookeeper

12. HBase安装与配置

12.1 master角色机器

12.1.1 创建目录
mkdir /usr/hbase
12.1.2 解压
tar -xzvf soft/hbase-1.2.4-bin.tar.gz -C /usr/hbase
12.1.3 修改配置文件
vi /usr/hbase/hbase-1.2.4/conf/hbase-env.sh
添加如下内容:
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/hadoop
12.1.4 修改配置文件hbase-site.xml
vi /usr/hbase/hbase-1.2.4/conf/hbase-site.xml
在<configuration>和</configuration>之间添加如下内容:
<property>
	<name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
</property>

<property>
	<name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

<property>
	<name>hbase.master</name>
    <value>hdfs://master:6000</value>
</property>

<property>
	<name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2</value>
</property>
    
<property>
	<name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/zookeeper/zookeeper-3.4.10</value>
</property>
12.1.5 修改regionservers
vi /usr/hbase/hbase-1.2.4/conf/regionservers
删除原来的内容localhost
修改为如下内容:
slave1
slave2
12.1.6 复制配置文件hdfs-site.xml和core-site.xml
将Hadoop的两个配置文件hdfs-site.xml和core-site.xml复制到hbase的conf目录中
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/hbase/hbase-1.2.4/conf/
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml /usr/hbase/hbase-1.2.4/conf/

12.2 slave1和slave2机器

将master角色的hbase目录复制到slave1和slave2机器中
scp -r /usr/hbase root@slave1:/usr/
scp -r /usr/hbase root@slave2:/usr/

12.3 配置环境变量(三个机器)

vi /etc/profile
添加如下内容:
#hbase
export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH=$HBASE_HOME/bin:$PATH
不重启机器生效,source /etc/profile

12.4 运行和测试

依次启动zookeeper、Hadoop
然后再启动HBase
在master角色机器上运行:
/usr/hbase/hbase-1.2.4/bin/start-hbase.sh
查看是否启动,使用jps命令
在浏览器中输入:http://master角色的ip:16010/master-status
结束HBase:输入/usr/hbase/hbase-1.2.4/bin/stop-hbase.sh

13 Hive数据仓库

13.1 角色分配

master角色 hive的客户端
slave1角色 hive服务端
slave2角色 安装mysql

13.2 slave2角色中安装mysql

centos7 不支持直接安装mysql5.7

13.2.1 安装wget
yum -y install wget
13.2.2下载mysql的repo源
wget  http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
13.2.3 安装mysql的repo源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
13.2.4 查看文件
ls -l /etc/yum.repos.d/mysql-com*
13.2 5 安装msyql
yum install mysql-community-server
13.2.6 查看安装mysql的安装版本
mysql -V
rpm -qa | grep mysql
13.2.7 重载所有修改过的配置文件
systemctl daemon-reload
重启msyql服务
systemctl start mysqld
启动centos7时,自动运行mysqld:
systemctl enable mysqld
13.2.8 登录mysql
默认安装的mysql,root用户是有密码
查看密码:grep "temporary password" /var/log/mysqld.log
登录:mysql -p"粘贴查到的密码"
修改root用户的密码:
       注:在mysql环境中运行
       修改mysql的密码安全策略
        set global validate_password_policy=0;
        修改密码的长度
        set global validate_password_length=4;
        修改root用户密码:
        alter user 'root'@'localhost' identified by '123456';
13.2. 9 设置远程登录
登录到mysql中
创建一个远程用户root
create user 'root'@'%' identified by '123456';
添加远程登录用户(授予权限)
grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限:flush privileges;

13.3 hive的安装和配置(master机器)

13.3.1 创建安装目录
mkdir  /usr/hive
13.3.2 解压
tar -xzvf soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive
13.3 3 复制解压hive目录到slave1中的/usr目录
在master角色中执行scp命令
scp -r /usr/hive root@slave1:/usr/
13.3.4 配置环境变量(master和slave1)
vi /etc/profile
添加下面的内容:
#hive envirment
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$HIVE_HOME/bin:$PATH
不重启计算机的情况下,让环境变量生效,执行:source /etc/profile

13.4 Hive服务群的配置(slave1机器)

13.4.1 将mysql的驱动程序复制slave1的hive的安装目录的lib目录中
cp /root/soft/mysql-connector-java-5.1.5-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib/
13.4.2 修改配置文件hive-env.sh
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
13.4.3 创建hive-site.xml文件
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-site.xml
内容修改如下:
<configuration>
        <!-- Hive产生的元数据存放位置-->
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive_remote/warehouse</value>
        </property>
        
        <!--数据库连接JDBC的URL地址 -->
        <property>
                <name>javax.jdo.option.ConnectionURI</name>
                <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value>
        </property>
        
        <!-- 数据库连接driver,即MySQL驱动-->
        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        
        <!-- MySQL数据库用户名-->
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        
        <!-- MySQL数据库密码-->
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>
        </property>

        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>

        <property>
                <name>datanucleus.schema.autoCreateAll</name>
                <value>true</value>
        </property>
        
</configuration>

13.5master作为client的配置

13.5.1 版本冲突和jar包依赖问题
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
13.5.2 修改hive-env.sh
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
13.5.3 创建hive-site.xml文件
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-site.xml
内容修改如下:
<configuration>
        <!-- Hive产生的元数据存放位置-->
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive_remote/warehouse</value>
        </property>
        
        <!--使用本地服务连接Hive,默认为true -->
        <property>
                <name>hive.metastore.local</name>
                <value>false</value>
        </property>
        
        <!-- 连接服务器-->
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://slave1:9083</value>
        </property>
        
</configuration>

13.6 hive启动

同步时间
启动zookeeper
启动Hadoop
启动HBase
启动Hive:
	slave1角色:hive服务端
		 /usr/hive/apache-hive-2.1.1-bin/bin/hive  --service metastore
	master角色:hive客户端
		/usr/hive/apache-hive-2.1.1-bin/bin/hive
		hive客户端启动成功之后
		show databases;
		1) 退出hive的客户端:quit;
		2) 退出hive的服务端:ctrl+c

14 scala语言的安装与配置

14.1 在master角色机器中安装

14.1.1 创建安装目录
mkdir /usr/scala
14.1.2 解压文件
tar -xzvf soft/scala-2.11.12.tgz -C /usr/scala/
14.1.3 配置环境变量
vi /etc/profile
添加如下内容:
#scala environment
export SCALA_HOME=/usr/scala/scala-2.11.12
export PATH=$SCALA_HOME/bin:$PATH
保存退出
执行source /etc/profile
14.1.4 查看scala是否安装成功?
scala -version

14.2 在slave1和slave2机器上安装

14.2.1 将master角色机器中安装的scala目录复制到slave1和slave2机器中
scp -r /usr/scala/ root@slave1:/usr/
scp -r /usr/scala/ root@slave2:/usr/
14.2.2 在slave1和slave2机器中,修改/etc/profile文件
vi /etc/profile
添加如下内容:
#scala environment
export SCALA_HOME=/usr/scala/scala-2.11.12
export PATH=$SCALA_HOME/bin:$PATH
保存退出
执行source /etc/profile
14.2.3 在slave1和slave2机器中,查看scala是否安装成功?
scala -version

15 spark的安装与配置(在三台机器中安装)

15.1 master角色

15.1.1 创建安装目录
mkdir /usr/spark
15.1.2 解压安装文件
tar -xzvf soft/spark-2.4.0-bin-hadoop2.7.tgz -C /usr/spark/
15.1.3 修改配置文件spark-env.sh
cp /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/spark-env.sh.template /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/spark-env.sh
vi /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/spark-env.sh
添加如下内容:
	export SPARK_MASTER_IP=master
	export SCALA_HOME=/usr/scala/scala-2.11.12
	export SPARK_WORKER_MOMERY=1024m
	export JAVA_HOME=/usr/java/jdk1.8.0_171
	export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
	export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop
15.1.4 配置spark的从节点,修改slaves文件
cp /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/slaves.template /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/slaves
vi /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/slaves
删除原来的内容:localhost
添加下面内容:
slave1
slave2
15.1.5 修改配置文件/etc/profile
vi /etc/profile
添加如下内容:
#spark enviroment
export SPARK_HOME=/usr/spark/spark-2.4.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
执行source /etc/profile

15.2 slave1和slave2角色

15.2.1 将master角色机器的/usr/spark复制到slave1和slave2机器中
scp -r /usr/spark/ root@slave1:/usr/
scp -r /usr/spark/ root@slave2:/usr/
15.2.2 修改配置文件/etc/profile
vi /etc/profile
添加如下内容:
#spark enviroment
export SPARK_HOME=/usr/spark/spark-2.4.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
执行source /etc/profile

15.3 启动spark

先启动zookeeper
再启动Hadoop
jps查看
master角色
	SecondaryNameNode
	ResourceManager
	NameNode
slave1角色
	NodeManager
	DataNode
slave2角色
	NodeManager
	DataNode
最后启动spark,mster角色中,执行:/usr/spark/spark-2.4.0-bin-hadoop2.7/sbin/start-all.sh
使用jps命令查看是否成功?worker角色和master角色
在浏览器中输入:http://master角色的ip:8080
		或者:
	  		 http://master角色的机器名:8080	
关闭spark
/usr/spark/spark-2.4.0-bin-hadoop2.7/sbin/stop-all.sh

总结

舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。文章来源地址https://www.toymoban.com/news/detail-852083.html

到了这里,关于Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算集群搭建记录[Hadoop|Zookeeper|Hbase|Spark | Docker |OpenStack]更新索引 |动态更新

    为了能够更好的查看所更新的文章,讲该博文设为索引 为了解决在编辑文件等操作的过程中的权限问题,博主一律 默认采用 root 账户登录 对于初次安装的用户可以采用如下命令行: 另外推荐一款终端工具:Tabby,既能够连接自己的服务器,也能够连接自己本地的虚拟机,还

    2023年04月13日
    浏览(55)
  • ZooKeeper+HBase分布式集群环境搭建

    安装版本:hadoop-2.10.1、zookeeper-3.4.12、hbase-2.3.1 一、zookeeper 集群搭建与配置 1. 下载zookeeper安装包 2. 解压移动zookeeper 3. 修改配置文件(创建文件夹) 4. 进入conf/ 5. 修改zoo.cfg文件 6. 进入/usr/local/zookeeper-3.4.12/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1 7. 拷贝到

    2024年02月08日
    浏览(48)
  • Hadoop 之 Centos 7 搭建 Zookeeper 3.8.2 集群(六)

    阿里云镜像站 VmWare 安装 Centos 7 自动分区 开始安装 设置用户名密码 重启系统 Apache Zookeeper 下载 地址分配如下: 节点 地址 Host 主 192.168.1.100 zk1 从 192.168.1.101 zk2 从 192.168.1.102 zk3 zoo.cfg 配置说明 配置项 默认值 含义 tickTime 2000 通信心跳 initLimit 10 Leader 和 Follower 初始化容忍最多

    2024年02月15日
    浏览(51)
  • Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文)

    说明: 本篇将详细介绍用二进制安装包部署hadoop等组件,注意事项,各组件的使用,常用的一些命令,以及在部署中遇到的问题解决思路等等,都将详细介绍。 ip hostname 192.168.1.11 node1 192.168.1.12 node2 192.168.1.13 node3 1.2.1系统版本 1.2.2内存建议最少4g、2cpu、50G以上的磁盘容量 本次

    2024年02月12日
    浏览(53)
  • 大数据平台安装实验: ZooKeeper、Kafka、Hadoop、Hbase、Hive、Scala、Spark、Storm

    ​ 在大数据时代,存在很多开源的分布式数据采集、计算、存储技术,本实验将在熟练掌握几种常见Linux命令的基础上搭建几种常用的大数据采集、处理分析技术环境。 相关安装包下载: 链接:https://pan.baidu.com/s/1Wa2U3qstc54IAUCypcApSQ 提取码:lcd8 Hadoop大数据平台所需工具、软件

    2023年04月09日
    浏览(90)
  • 大数据期资料2023 Beta版 - Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase详解

    了解大数据概念、Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase等技术,包括特点、命令操作和启动关闭方法。获取2023年大数据资料Beta版。

    2024年02月06日
    浏览(238)
  • Linux多虚拟机集群化配置详解(Zookeeper集群、Kafka集群、Hadoop集群、HBase集群、Spark集群、Flink集群、Zabbix、Grafana部署)

    前面安装的软件,都是以单机模式运行的,学习大数据相关的软件部署,后续安装软件服务,大多数都是以集群化(多台服务器共同工作)模式运行的。所以,需要完成集群化环境的前置准备,包括创建多台虚拟机,配置主机名映射,SSH免密登录等等。 我们可以使用VMware提供

    2024年02月04日
    浏览(52)
  • 大数据Hadoop集群之超级详细的HBase搭建

    Hbase是基于Hadoop集群之上来搭建的 Hadoop有一些局限性: 做一些批量的数据处理,吞吐量比较高,但是它对随机查询、实时操作性能是不行的 HBase是NoSQL数据库的一种,它跟传统的RDBMS有很大的差别 不支持JOIN的,摒弃了关系型模型,而且在HBase中只有一种数据类型:byte[] HBase可

    2023年04月13日
    浏览(85)
  • zookeeper + hadoop + hbase + phoenix

    IP hostname 192.168.23.130 hadoop01 192.168.23.131 hadoop02 192.168.23.132 hadoop03 jdk-1.8 zookeeper-3.8.1 hadoop-3.2.4 hbase-2.4.15 phoenix-2.4.0-5.1.3 1、关闭防火墙 2、设置主机名 3、配置主机hosts 4、设置ssh免密登录 分发JDK安装包到其他节点 配置JDK环境变量(所有节点都需要执行) 修改zookeeper配置 添加z

    2024年02月06日
    浏览(47)
  • 基于CentOS 7 的 Hadoop3版本分布式环境配置搭建

    以下是在VMware虚拟机中安装centos 7去配置hadoop。所以要准备的包 centos 7:Index of /apache/hadoop/common/hadoop-3.3.5 hadoop3.3.5:Index of /apache/hadoop/common/hadoop-3.3.5 查看原本的jdk版本   其实原来的openjdk版本也是可用的,但是hadoop3.x不支持较低版本的jdk,所以这里卸载重新安装新版本jdk文件

    2024年02月01日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包