Hadoop集群搭建安装教程(详细完整)

这篇具有很好参考价值的文章主要介绍了Hadoop集群搭建安装教程(详细完整)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 引入

大数据:最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,大数据究竟是什么东西?有哪些相关技术?

2 Hadoop介绍

2.1狭义的hadoop

Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。
狭义上说,Hadoop指Apache这款开源框架,有四个模块,如下
配置hadoop搭建安装教程,大数据,hadoop,大数据

通过上图,可知,它的核心组件有:
HDFS(分布式文件系统):解决海量数据存储
YARN(作业调度和集群资源管理的框架):解决资源任务调度
MAPREDUCE(分布式运算编程框架):解决海量数据计算

2.2 Hadoop生态圈

广义的Hadoop是指Hadoop生态圈,不仅包含上述组件,还包含各类大数据存储和分析应用,如下图:
配置hadoop搭建安装教程,大数据,hadoop,大数据

3 集群环境准备

3.1 虚拟机和操作系统安装

博客技术文章较多,不再赘述,推荐文章https://blog.csdn.net/q2158798/article/details/80550626

3.2 环境搭建

windows系统确认所有的关于VmWare的服务都已经启动
配置hadoop搭建安装教程,大数据,hadoop,大数据
确认好VmWare生成的网关地址,网关地址不必和我一样,可以自己设置网段,比如192.168.88.xxx
配置hadoop搭建安装教程,大数据,hadoop,大数据
在windows系统网络适配器中,确认VmNet8网卡已经配置好了IP地址和DNS
注意ip地址如果设置为固定,ip地址的网段应与上面所选的网段一致
配置hadoop搭建安装教程,大数据,hadoop,大数据

3.3 复制虚拟机和设置

3.3.1 复制

利用虚拟机的“克隆功能”进行虚拟机克隆,或者直接复制虚拟机文件夹,然后打开虚拟机。
复制完成的虚拟机文件夹以及打开后的虚拟机如下图,注意复制之后再vmare中将mac地址重新生成
配置hadoop搭建安装教程,大数据,hadoop,大数据

3.3.2 内存设置

在分配的时候, 需要在总内存大小的基础上, 减去2G-4G作为系统内存, 剩余的内存供虚拟机分配, 作为每
台虚拟机的内存
软件安装规划

IP 主机名 环境配置 安装
192.168.174.100 node01 关防火墙和selinux, host映射, 时钟同步 JDK, NameNode,
192.168.174.110 node02 关防火墙和selinux, host映射, 时钟同步 JDK, DataNode, NodeManager,Zeekeeper
192.168.174.120 node03 关防火墙和selinux, host映射, 时钟同步 JDK, DataNode, NodeManager,Zeekeeper

3.3.2 网络设置

有些教程要求再虚拟机系统中设置mac地址,我没有设置
本教程提供设置命令如下:修改mac通过命令:vim /etc/udev/rules.d/70-persistent-net.rules
修改mac地址,mac地址与vmare中的mac地址一致

每台虚拟机更改IP地址:
进入目录

cd /etc/sysconfig/network-scripts/

该目录下有配置ip地址的文件,不同系统的文件名可能不同,不同之处是文件后的数字,我的是ifcfg-ens32, 打开文件

vim ifcfg-ens32

修改内容如下,其他保持默认配置。
配置hadoop搭建安装教程,大数据,hadoop,大数据
或按下面进行修改
配置hadoop搭建安装教程,大数据,hadoop,大数据
设置每台虚拟机的主机名

vim  /etc/sysconfig/network

HOSTNAME=node01
HOSTNAME=node02
HOSTNAME=node03
每台虚拟机设置ip和域名映射

vim /etc/hosts

添加如下内容,注意下面的ip地址根据前面设置的修改

192.168.88.100 node1.btks.cn node1
192.168.88.101 node2.btks.cn node2
192.168.88.102 node3.btks.cn node3

重启虚拟机

3.4 虚拟机关闭防火墙和SELinux

三台机器执行以下命令(root用户来执行)

service iptables stop #关闭防火墙
chkconfig iptables off #禁止开机启动

三台机器关闭selinux(ELinux是Linux的一种安全子系统)
SELinux的工作模式: enforcing 强制模式 ; permissive 宽容模式; disable 关闭

#修改selinux的配置文件
vi /etc/selinux/config

配置hadoop搭建安装教程,大数据,hadoop,大数据

3.4 集群之间虚拟机免密码登录

Hadoop 节点众多, 所以一般在主节点启动从节点, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦
流程为 1. 需要先在 B节点 配置 A节点 的公钥 2. A节点 请求 B节点 要求登录 3. B节点 使用 A节点 的公钥, 加密一段随机文本 4. A节点 使用私钥解密, 并发回给 B节点 5. B节点 验证文本是否正确。可以看出以上操作非常繁琐。

配置无密码登录。具体操作如下
第一步:在三台机器执行以下命令,生成公钥与私钥

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可
第二步:拷贝公钥到同一台机器。三台机器将拷贝公钥到第一台机器,三台机器执行命令:

ssh-copy-id node1 # node1 为机器名,下同

第三步:复制第一台机器的认证到其他机器。将第一台机器的公钥拷贝到其他机器上,在第一天机器上面指向以下命令

scp /root/.ssh/authorized_keys node2:/root/.ssh
scp /root/.ssh/authorized_keys node3:/root/.ssh

3.5 时钟同步

三台机器时钟同步
因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是 1, B节点 记录
的时间是 2, 就会出问题
通过网络,所有主机和时钟同步服务器保持同步

## 安装
yum install -y ntp
## 启动定时任务
crontab -e
## 随后在输入界面键入
*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;

4 辅助环境和hadoop编译

4.1 目录准备

mkdir -p /export/servers # 软件解压目录
mkdir -p /export/software # 软件目录
mkdir -p /export/data # 数据目录

4.2 辅助环境和编译环境

为什么要编译hadoop?由于appache给出的hadoop的安装包没有提供带C程序访问的接口,所以我们在使用本地库(本地库可以用来做压缩,以及支持C程序等等)的时候就会出问题,需要对Hadoop源码包进行重新编译。
(1)安装编译相关的依赖

yum install gcc gcc-c++
yum install autoconf automake libtool curl
yum install lzo-devel zlib-devel openssl openssl-devel ncurses-devel
yum install snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop libXtst

(2)手动安装cmake ,需要先获取cmake-3.13.5.tar.gz,然后上传至服务器,

#yum卸载已安装cmake 版本低
yum erase cmake
#解压
tar zxvf cmake-3.13.5.tar.gz
#编译安装
cd /export/servers/cmake-3.13.5
./configure
make && make install
#验证
cmake -version      
cmake version 3.13.5

#如果没有正确显示版本 请断开SSH连接 重新登录

(3)手动安装snappy,先获取snappy-1.1.3.tar.gz,上传至服务

#卸载已经安装的
cd /usr/local/lib
rm -rf libsnappy*
#上传解压
tar zxvf snappy-1.1.3.tar.gz 
#编译安装
cd /export/servers/snappy-1.1.3
./configure
make && make install
#验证是否安装
ls -lh /usr/local/lib |grep snappy
# -rw-r--r-- 1 root root 511K Nov  4 17:13 libsnappy.a
# -rwxr-xr-x 1 root root  955 Nov  4 17:13 libsnappy.la
# lrwxrwxrwx 1 root root   18 Nov  4 17:13 libsnappy.so -> libsnappy.so.1.3.0
# lrwxrwxrwx 1 root root   18 Nov  4 17:13 libsnappy.so.1 -> libsnappy.so.1.3.0
# -rwxr-xr-x 1 root root 253K Nov  4 17:13 libsnappy.so.1.3.0

(4)安装配置JDK 1.8,先获取jdk-8u65-linux-x64.tar.gz,上传到服务器

#解压安装包
tar zxvf jdk-8u65-linux-x64.tar.gz

#配置环境变量
vim /etc/profile
# 将以下内容追加到文件中
	export JAVA_HOME=/export/servers/jdk1.8.0_65
	export PATH=$PATH:$JAVA_HOME/bin
	export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 使配置文件生效	
source /etc/profile
#验证是否安装成功
java -version
# java version "1.8.0_65"
# Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
# Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
# You have new mail in /var/spool/mail/root

(5)安装maven,先下载apache-maven-3.5.4-bin.tar.gz。上传至服务器

#解压安装包
tar zxvf apache-maven-3.5.4-bin.tar.gz
#配置环境变量
vim /etc/profile
# 将以下内容追加到文件中
	export MAVEN_HOME=/exports/server/apache-maven-3.5.4
	export MAVEN_OPTS="-Xms4096m -Xmx4096m"
	export PATH=:$MAVEN_HOME/bin:$PATH
source /etc/profile
#验证是否安装成功
mvn -v
# Apache Maven 3.5.4

#添加maven 阿里云仓库地址 加快国内编译速度
vim /export/servers/apache-maven-3.5.4/conf/settings.xml
# 将以下内容添加到配置文件,注意配置文件中已经有<mirrors>,只需要将<mirror>...<mirror>添加到<mirrors>所在的位置即可
<mirrors>
     <mirror>
           <id>alimaven</id>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
           <mirrorOf>central</mirrorOf>
      </mirror>
</mirrors>

(6)安装ProtocolBuffer 2.5.0,下载protobuf-2.5.0.tar.gz上传至服务器

#解压
tar zxvf protobuf-2.5.0.tar.gz
#编译安装
cd /export/servers/protobuf-2.5.0
./configure
make && make install
#验证是否安装成功
[root@node4 protobuf-2.5.0]# protoc --version
libprotoc 2.5.0

(7)编译,,编译时间较长,可能会持续一个小时或者更久

#上传解压源码包
tar zxvf hadoop-3.1.4-src.tar.gz

#编译
cd /export/servers/hadoop-3.1.4-src

mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib

#参数说明:

#Pdist,native :把重新编译生成的hadoop动态库;
#DskipTests :跳过测试
#Dtar :最后把文件以tar打包
#Dbundle.snappy :添加snappy压缩支持【默认官网下载的是不支持的】
#Dsnappy.lib=/usr/local/lib :指snappy在编译机器上安装后的库路径

(8)编译之后的安装包路径

cd /export/servers/hadoop-3.1.4-src/hadoop-dist/target

(9)将安装包解压到servers目录

tar zxvf hadoop-3.1.4.tar.gz -C /export/servers/

5 修改hadoop配置文件

进入配置文件所在的目录

cd /export/servers/hadoop-3.1.4/etc/hadoop/

修改以下配置文件
(1)hadoop环境文件修改 。hadoop-env.sh

#配置JAVA_HOME
export JAVA_HOME=/export/server/jdk1.8.0_65
#文件最后添加各进程启动身份
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root 

(2)其他配置文件修改,注意路径和计算机名等内容和自己实际情况一致,需要仔细检查

<!------------------------core-site.xml------------------------------->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1.itcast.cn:8020</value>
</property>
<!-- hadoop本地数据存储目录 format时自动生成 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.1.4</value>
</property>
<!-- 在Web UI访问HDFS使用的用户名。-->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>

<!------------------------hdfs-site.xml------------------------------->

<!-- 设定SNN运行主机和端口。-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2.itcast.cn:9868</value>
</property>

<!------------------------mapred-site.xml------------------------------->

<!-- mr程序默认运行方式。yarn集群模式 local本地模式-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
  <name>mapreduce.jobhistory.address</name>
  <value>node1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>node1:19888</value>
</property>
<!-- MR App Master环境变量。-->
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR MapTask环境变量。-->
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR ReduceTask环境变量。-->
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<!------------------------yarn-site.xml------------------------------->

<!-- yarn集群主角色RM运行机器。-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node1.itcast.cn</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MR程序。-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 每个容器请求的最小内存资源(以MB为单位)。-->
<property>
  <name>yarn.scheduler.minimum-allocation-mb</name>
  <value>512</value>
</property>
<!-- 每个容器请求的最大内存资源(以MB为单位)。-->
<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>2048</value>
</property>
<!-- 容器虚拟内存与物理内存之间的比率。-->
<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>4</value>
</property>
<!-- 启动history server -->
<property>
  <name>yarn.log.server.url</name>
  <value>http://node1:19888/jobhistory/logs</value>
</property>

(3)修改workers文件

node1
node2
node3

6 安装包分发

将安装包分发到其他节点主机

cd /export/servers

scp -r hadoop-3.1.4 root@node2:$PWD
scp -r hadoop-3.1.4 root@node3:$PWD 

hadoop环境变量配置

vim /etc/proflie
# 将以下内容追加到配置文件
	export HADOOP_HOME=/export/server/hadoop-3.1.4
	export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

将配置文件分发到其他节点,并刷新使其生效。

cd /etc/
scp -r profile root@node2:$PWD
scp -r profile root@node3:$PWD 
source /etc/profile # m每个节点都需要执行

7 启动Hadoop

(1)启动hadoop

hdfs namenode -format(注意:只有首次启动)格式化namenode

start-dfs.sh 
#Starting namenodes on [node1]
#Last login: Thu Nov  5 10:44:10 CST 2020 on pts/0
#Starting datanodes
#Last login: Thu Nov  5 10:45:02 CST 2020 on pts/0
#Starting secondary namenodes [node2]
#Last login: Thu Nov  5 10:45:04 CST 2020 on pts/0

start-yarn.sh 
#Starting resourcemanager
#Last login: Thu Nov  5 10:45:08 CST 2020 on pts/0
#Starting nodemanagers
#Last login: Thu Nov  5 10:45:44 CST 2020 on pts/0

(2)查看启动结果

jps

配置hadoop搭建安装教程,大数据,hadoop,大数据
配置hadoop搭建安装教程,大数据,hadoop,大数据
配置hadoop搭建安装教程,大数据,hadoop,大数据

8 测试

(1)上传文件,然后在浏览器打开http://node1.itcast.cn:9870/ ,查看结果

#在/export/data/目录中创建helloworld.txt文件,并写入数据
cd /export/data/
touch helloworld.txt
echo "hello hadoop" > helloworld.txt 

#将a.txt上传到HDFS的根目录
hadoop fs -put helloworld.txt  /

(2)运行mapreduce程序测试

#计算圆周率
 yarn jar /export/servers/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar pi 2 5

结果如下
配置hadoop搭建安装教程,大数据,hadoop,大数据
配置hadoop搭建安装教程,大数据,hadoop,大数据
(3)读写io测试

# 写入
hadoop jar /export/servers/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-tests.jar  TestDFSIO -write -nrFiles 10  -fileSize 10MB
# 读取
hadoop jar /export/servers/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-tests.jar  TestDFSIO -read -nrFiles 10 -fileSize 10MB

#删除测试数据
hadoop jar /export/servers/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-tests.jar   TestDFSIO -clean

测试结果,测试结果也可以在http://node1:8088中查看
写入
配置hadoop搭建安装教程,大数据,hadoop,大数据
配置hadoop搭建安装教程,大数据,hadoop,大数据
(本文根据传智教程和自己实际操作经验撰写)结束,撒花文章来源地址https://www.toymoban.com/news/detail-716745.html

到了这里,关于Hadoop集群搭建安装教程(详细完整)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Hadoop集群安装和搭建(从零开始超级超级详细的过程)(上)

    本文直接从最最最开始安装Hadoop开始讲解,省略了虚拟机安装的这部分,这里我就默认学过Liunx的各位小伙伴们已经有相关环境了。 下半部分在这里~ Hadoop集群安装和搭建(从零开始超级超级详细的过程)(下) 组件 功能 HDFS 分布式文件系统 MapReduce 分布式并行编程模型 YA

    2024年02月06日
    浏览(40)
  • 【Hadoop】下载安装及伪分布式集群搭建教程

    目录 1.概述 2.环境准备 3.hadoop安装 3.1.下载安装配置 3.2.伪分布式集群 3.3.注意事项 4.Hadoop集群的组成 hadoop有三种安装模式 单机模式,只在一台机器上运行,存储用的本地文件系统而不是HDFS。 伪分布式模式,存储采用HDFS,名称节点和数据节点在同一台机器上。 分布式模式,

    2024年04月14日
    浏览(43)
  • 头歌Hadoop 开发环境搭建及HDFS初体验(第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建)

    注: 1 头歌《Hadoop 开发环境搭建及HDFS初体验》三关在一个实验环境下,需要三关从前往后按顺序评测,跳关或者实验环境结束后重新打开 不能单独评测通过 2 复制粘贴请用右键粘贴,CTRL+C/V不管用哦~ 第1关:配置开发环境 - JavaJDK的配置: 解压: 配置环境变量: 细节: vi

    2024年02月08日
    浏览(118)
  • Kali Linux 安装搭建 hadoop 平台 调用 wordcount 示例程序 详细教程

    目标: *安装虚拟机,在自己虚拟机上完成hadoop的伪分布式安装。(安装完成后要检查)* 安装SSH Server服务器:apt-get install openssh-server 更改默认的SSH密钥 cd /etc/ssh mkdir ssh_key_backup mv ssh_host_* ssh_key_backup 创建新密钥:dpkg-reconfigure openssh-server 允许 SSH Root 访问,修改SSH 配置文件

    2024年02月04日
    浏览(33)
  • Hadoop集群环境搭建(超详细)

    Oracle Linux 7.4 JDK 1.8 Hadoop 2.7.4 1.实验准备三台机器分别为master,slave1,slave2 2.单击master机器桌面中的konsole图标 1.编辑/etc/hosts文件,出现如下界面 [Command 001]: 2.按i键,如下图 3.第一行前面添加#,如下图 4.按键ESC,按键:wq回车,保存退出。如下图 5.切换到slave1机器,重复1~4步骤 6

    2024年02月07日
    浏览(27)
  • 从零开始在 Linux 上搭建 Hadoop 平台:一个详细的教程和必备配置文件

    在信息时代,大数据处理是企业发展必不可少的一部分。Hadoop 是一种分布式计算平台,能够高效地处理大数据集。然而,搭建 Hadoop 集群可以相当复杂,需要正确配置和调整多个组件。本文将向您展示如何从零开始在 Linux 上搭建 Hadoop,以及如何配置 Hadoop 的必备文件。 选择

    2024年02月08日
    浏览(42)
  • Hadoop简介以及集群搭建详细过程

    hadoop加群包括两个集群:hdfs集群,yarn集群 两个集群逻辑上分离,通常物理上在一起 两个集群都是标准的主从架构集群 逻辑上分离:两个集群相互之间没有依赖,互不影响 物理上在一起:某些角色今晚往往部署在同一台物理服务器上 MapReduce集群呢? MapReduce是计算框架、代

    2024年02月16日
    浏览(28)
  • hadoop完全分布式集群搭建(超详细)-大数据集群搭建

    本次搭建完全分布式集群用到的环境有: jdk1.8.0 hadoop-2.7.7 本次搭建集群所需环境也给大家准备了,下载链接地址:https://share.weiyun.com/dk7WgaVk 密码:553ubk 本次完全分布式集群搭建需要提前建立好三台虚拟机,我分别把它们的主机名命名为:master,slave1,slave2 一.配置免密登陆 首先

    2024年02月10日
    浏览(38)
  • 基于Hadoop搭建Flink集群详细步骤

    目录 1.xftp上传flink压缩包至hadoop102的/opt/software/目录下 2.解压flink压缩包至/opt/module/目录下 3. 配置flink-conf.yaml 4.配置masters 5.配置workers 6.配置环境变量my_env.sh 7.重启环境变量 8.分发/opt/module/flink-1.13.0和/etc/profile.d/my_env.sh 9.另外两台重启环境变量 10.开启hadoop集群和flink集群 11.浏

    2024年02月09日
    浏览(53)
  • hadoop伪分布式环境搭建,完整的详细步骤

    1、VMware14 2、一台ubtuntu 18 64位 3、主机名位master 4、ip 地址:192.168.136.31 5、本次实验需要的安装包 1、 查看id 地址 2、 关闭防火墙 命令来关闭防火墙 命令查看当前防火墙状态 3、 修改主机名、 添加主机映射 修改虚拟机hosts文件,将ip地址添加进来 使用 :wq 保存 测试是否修改

    2024年02月08日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包