关键词:
文章目录
一、准备工作
1.1 安装VMware并设置网络
下载vmvare软件,配置NAT网络模式。NAT是网络地址转换,是在宿主机和虚拟机之间增加一个地址转换服务,负责外部和虚拟机之间的通讯转接和IP转换。
1.2.安装centos虚拟机(这里就不详细说了,网上太多了)
安装完后克隆虚拟机,产生三台虚拟机共集群使用。
三台虚拟机的ip:
192.168.239.128
192.168.239.129
192.168.239.130
1.3 虚拟机配置(三台虚拟机同理)
- (1) 永久修改主机名
修改配置文件 /etc/hostname 保存退出。
[root@xxxx ~]# vi /etc/hostname
spark1
~
~
~
~
:wq
[root@xxxx ~]# reboot
- (2) 修改host
[root@spark1 ~]# vi /etc/hosts
192.168.239.128 spark1
192.168.239.129 spark2
192.168.239.130 spark3
注意: 需要把以上hosts配置到windows的hosts文件中,才能使用http://spark1:port 的形式进行访问HDFS的界面。当然也可以用服务器的ip进行访问。
- (3) 关闭防火墙和selinux(Centos7)
停止防火墙命令:
systemctl stop firewalld
开机禁止启动防火墙命令:
systemctl disable firewalld
- (4) 关闭selinux
vim /etc/sysconfig/selinux
- (5) ssh设置 免密登陆
集群之间的机器需要相互通信,我们需要先配置免密码登录。
[root@spark1 ~]# ssh-keygen -t rsa
拷贝生成的公钥到另外两台虚拟机:
[root@spark1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub spark2
[root@spark1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub spark3
另外两台虚拟机(spark1,spark2)也需要执行上述步骤
测试:
[root@spark1 ~]# ssh spark2
Last login: Mon Aug 2 11:27:04 2021 from 192.168.239.1
[root@spark2 ~]#
二、集群规划
所有下载资源的地址:华为开源镜像站
主机名 | IP | NameNode | DataNode | ResourceManager | NodeManager | SecondaryNameNode |
---|---|---|---|---|---|---|
spark1 | 192.168.239.128 | √ | √ | √ | ||
spark2 | 192.168.239.129 | √ | √ | |||
spark3 | 192.168.239.130 | √ | √ |
2.1 编写同步脚本xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for i in spark1 spark2 spark3
do
#echo $pdir/$fname $user@hadoop$host:$pdir
echo --------------- $i ----------------
rsync -rvl $pdir/$fname $user@$i:$pdir
done
并把xsync设置为全局命令:
[root@spark1 bin]# ln -s /usr/local/datawork/bin/xsync /usr/bin/xsync
2.2 安装JAVA 环境JDK
在华为资源站下载jdk-8u191-linux-x64.tar.gz,上传spark1虚拟机 /usr/java目录下,并解压:
[root@spark1 java]# ls
jdk1.8.0_191
配置环境变量:
vim /etc/profile
#添加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=/usr/java/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:$JAVA_HOME/bin:$PATH
使用source命令生效
source /etc/profile
查看Java环境变量配置是否成功:
[root@spark1 ~]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
``
`
到此jdk已经安装成功。
其他两台虚拟机可以按照上述方式安装,也可以使用快捷方式,通过以下命令同步这两台虚拟机
```java
rsync -av /usr/java/jdk1.8.0_191 spark2:/usr/java/jdk1.8.0_191
rsync -av /usr/java/jdk1.8.0_191 spark3:/usr/java/jdk1.8.0_191
rsync -av /etc/profile spark2:/etc/profile
rsync -av /etc/profile spark3:/etc/profile
然后分别在另外两台虚拟机上执行source命令,使配置文件生效。
2.3 hadoop安装
在华为资源站下载压缩包,上传spark1虚拟机 /usr/local/datawork目录下
并解压后:
配置环境变量
vim /etc/profile
#添加如下内容
export HADOOP_HOME=/usr/local/datawork/hadoop-2.8.5
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$PATH
使用source命令生效
source /etc/profile
2.3.1 配置 hadoop
进入hadoop文件夹查看目录:
etc目录存放配置文件
sbin目录下存放服务的启动命令
share目录下存放jar包与文档
- (1) 配置hdfs-site.xml
vi etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/data/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/data/datanode</value>
</property>
<property>
<name>dfs.tmp.dir</name>
<value>/home/data/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
- (2) 配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://spark1:8020</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
- (3) 配置mapred-env.sh
`#添加
export JAVA_HOME=/usr/java/jdk1.8.0_191
- (4) 配置yarn-env.sh
`#添加
export JAVA_HOME=/usr/java/jdk1.8.0_191
- (5) 配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>spark1</value>
</property>
</configuration>
- (6) 配置mapred-site.xml,如果没有就拷贝mapred-site.xml.template然后重命名为mapred-site.xml
<configuration>
<property>
<name>mapreduce.jobhistory.address</name>
<value>spark1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>spark1:19888</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置从节点的主机名,前面配置host的时候已经ip和hostname做了映射就可以使用hostname,如果没有就需要写对应的ip
vi etc/hadoop/slaves
[root@spark1 hadoop]# cat slaves
spark1
spark2
spark3
同理我们也可以通过命令去同步另外两台虚拟机,减少安装hadoop时间
rsync -av /usr/local/datawork/hadoop-2.8.5 spark2:/usr/local/datawork/
rsync -av /usr/local/datawork/hadoop-2.8.5 spark3:/usr/local/datawork/
rsync -av /etc/profile spark2:/etc/profile
rsync -av /etc/profile spark3:/etc/profile
然后分别在两台虚拟机上执行source命令,使得环境变量有效。
2.4 启动hadoop集群
启动hdfs,首次启动需格式化hdfs。
[root@spark1 ~]# hdfs namenode -format
格式化完毕后可以使用以下命令开启集群.
[root@spark1~]# start-all.sh
启动完后,执行jps查看执行情况
主节点(spark1):
[root@spark1~]# jps
9814 Jps
4374 SecondaryNameNode
3176 NameNode
3545 ResourceManager
3645 NodeManager
从节点(spark2):
[root@spark2~]# jps
2933 NodeManager
5062 DataNode
7784 Jps
从节点(spark3):
[root@spark2 ~]# jps
5020 DataNode
7629 Jps
2926 NodeManager
到此集群已搭建成功,接着继续看一下控制台的一些情况
输入http://192.168.239.128:50070/,查看hdfs运行情况:
输入http://192.168.239.128:8088查看YARN运行情况
hadoop完全分布式集群搭建(超详细)-大数据集群搭建(代码片段)
hadoop完全分布式集群搭建本次搭建完全分布式集群用到的环境有:jdk1.8.0hadoop-2.7.7本次搭建集群所需环境也给大家准备了,下载链接地址:https://share.weiyun.com/dk7WgaVk密码:553ubk本次完全分布式集群搭建需要提前建... 查看详情
大数据技术——hadoop3.x入门搭建+安装调优(1.入门)(代码片段)
...op运行模式4.1本地运行模式(官方WordCount)4.2完全分布式运行模式(开发重点& 查看详情
大数据系列——hadoop集群完全分布式坏境搭建
...8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本篇的正题。技术准备VMware虚拟机、CentOS6.864bit安装流程我们先来回顾上一篇我们完成的单节点的Hadoop环境配置,已经配置了一个CentOS6... 查看详情
大数据分析师实操练习(hadoop完全分布式集群搭建)(代码片段)
参考自:大数据技能竞赛之hadoop完全分布式集群搭建(三)练习内容:安装并配置Hadoop相关环境;相关配置文件,并确定master为namenode,slave1和slave2为datanode;配置Yarn运行环境;设置Yarn核心参数... 查看详情
大数据|hadoop集群搭建(完全分布式)(代码片段)
...天,推翻重做两小时进行搭建的Hadoop集群(完全分布式)个人笔记和感想,收录于初心的《大数据》专栏。🏠个人主页:初心%个人主页🧑个人简介:大家好,我是初心,一名正在努力的双... 查看详情
大数据技术栈-hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超详细-小白注释版)虚拟机安装+平台部署(代码片段)
目录环境条件:1、安装虚拟机(已安装好虚拟机的可跳转至 一、安装jdk与hadoop)(1)直接新建一台虚拟机(2)首次启用虚拟机,进行安装一、集群前置环境搭建(三台机器分别设置hostname、... 查看详情
大数据☀️搞定hadoop集群☀️hadoop运行模式-完全分布式(代码片段)
目录 三大模式:完全分布式搭建:分析:编写集群分发脚本xsync:1.scp(securecopy)安全拷贝:2.rsync远程同步工具:3.xsync集群分发脚本:SSH无密登录配置:配置SSH:1.基本语法:2.ssh... 查看详情
linux企业运维——hadoop大数据平台(上)hadoop工作原理部署资源管理器yarn(代码片段)
...1.2、Hadoop工作原理二、Hadoop工作模式2.1、hadoop部署2.2、伪分布式2.3、完全分布式三、资源管理器YARN一、Hadoop简介1.1、Hadoop框架与模块Hadoop名字不是一个缩写,是Hadoop之父DougCutting儿子毛绒玩具象命名的。Hadoop起源于Google的三... 查看详情
大数据集群环境搭建(代码片段)
目录1.设计一个规模合适的集群1.1.资源预估1.2.选择服务器1.3.分配集群角色2.部署和管理集群的工具2.1.Hadoop的发展历程2.2.部署和管理Hadoop的集群并不简单2.3.三种工具的部署方式3.自动创建虚拟机3.1.什么是Vagrant3.2.安装Vagrant和概... 查看详情
大数据平台环境搭建(代码片段)
...器导入和导出容器容器与主机之间复制文件二、Hadoop完全分布式安装配置1.修改IP和MAC地址2.修改主机名3.设置IP和域名映射4.关闭防火墙5.关闭SELINUX6.免密登录7.时钟同步8.JDK安装9.HADOOP安装10.HADOOP官方文档三、Mysql安装配置1.卸载系... 查看详情
hadoop集群完全分布式搭建教程-centos(代码片段)
本篇在前一篇《Hadoop单机模式和伪分布式搭建教程》的基础上完成完全分布式的搭建,所以本篇的前提是已经按照之前的教程完成了伪分布式的安装。注意截图中的slaver应该是slave,哈哈,搭建的时候多打了r... 查看详情
hadoop完全分布式搭建(代码片段)
集群配置可以将服务分别去配置在多台服务器上面以hadoop105,hadoop106,Hadoop107为案例组件hadoop105hadoop106hadoop107HDFSNameNode、DataNodeDataNodeSecondaryNameNode、DataNodeYARNNodeManagerResourceManager、NodeManagerNodeM 查看详情
hadoop完全分布式集群搭建(代码片段)
Hadoop完全分布式三节点集群搭建0、准备工作版本选型:系统名称版本centos7.9java1.8.0_291mysql8.0.23Hadoop2.7.7Hive2.3.7硬件规划:组件10.0.7.110.0.7.210.0.7.3JavaYYYMySqlServer+ClientNNHiveClientNNHadoop-YARNNodeManagerResourceManager+NodeManagerNodeM... 查看详情
linux企业运维——hadoop大数据平台(上)hadoop工作原理部署资源管理器yarn(代码片段)
...1.2、Hadoop工作原理二、Hadoop工作模式2.1、hadoop部署2.2、伪分布式2 查看详情
hadoop完全分布式集群搭建centos6.5(保姆级教程)(代码片段)
Hadoop完全分布式搭建环境:使用的是centos6.5hadoop-3.3.0,jdk版本推荐使用Jdk-1.8.0_202否则容易出现版本不兼容准备三台主机:HadoopMaster,HadoopSlave1,HadoopSlave2!!注:除了一些系统文件用root用户编辑外,其他... 查看详情
大数据3.1hadoop本地运行(代码片段)
...doop.apache.org/2)Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分布式模式:也是单机运行,但是具备Hadoop集 查看详情
hadoop完全分布式集群搭建(代码片段)
Hadoop完全分布式三节点集群搭建0、准备工作版本选型:系统名称版本centos7.9java1.8.0_291mysql8.0.23Hadoop2.7.7Hive2.3.7硬件规划:组件10.0.7.110.0.7.210.0.7.3JavaYYYMySqlServer+ClientNNHiveClientNNHadoop-YARNNodeManagerRe 查看详情
大数据运维docker搭建分布式图数据库nebula(代码片段)
...脚丫先生(o^^o)最近在做数据融合分析平台。需要搭建一个分布式图数据库,第一想法就是面向百度和官网搜索,但是大多数只看到单节点搭建,分布式搭建都是基于k8s。自己不想那么把项目搞这么重,于是考利用d... 查看详情