| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> hadoop完全分布式搭建与集群测试 -> 正文阅读 |
|
[大数据]hadoop完全分布式搭建与集群测试 |
hadoop是本文章主要介绍hadoop完全分布式搭建过程。 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是完全开源的,是由java语言编写的。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了分布式存储,而MapReduce则为海量的数据提供了分布式计算 特别注意:hadoop是三台虚拟机之间实现资源调度,非常容易出错,初学者可以反复练习搭建(不成功不要气馁),搭建过程中一定要仔细,哪怕一个字符敲错就可能使得集群不能成功运行。 环境准备:宿主机内存最好16G及以上(可满足同时运行三台虚拟机) centos7虚拟机3台,使用单核单cpu,2G内存,最小安装方式。(尽可能节省资源) 可以选用vmware提供的虚拟机克隆功能,就可以创建一台虚拟机,克隆两台虚拟机。 利用vmware搭建虚拟机请查看以下连接,有详细的虚拟机创建过程。 一、前期配置(root用户进行):1、ssh免密配置以下为虚拟机名称以及IP地址规划
各节点更改主机名,每个节点配置上述规划的主机名(重启生效)
配置静态IP地址配置,每个节点配置上述规划的IP地址。
重启网络服务
查看网络是否配置生效
|
名称 | 路径 |
安装包存放目录 | /root/package/ |
软件安装目录 | /root/soft/ |
数据目录 | /root/data/ |
日志目录 | /root/log/ |
检查是否存在自带jdk环境
rpm -qa |grep java
如果有自带java环境需要先卸载
rpm -e --nodeps 已安装的jdk
mkdir /root/package
mkdir /root/soft
tar -zxvf /root/package/jdk-8u211-linux-x64.tar.gz -C /root/soft/
mv /root/soft/jdk1.8.0_211/ /root/soft/java
vi /etc/profile 打开文件在末尾添加如下行
export JAVA_HOME=/root/soft/java
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
scp -r /root/soft/java/ slave1:/root/soft/
scp -r /root/soft/java/ slave2:/root/soft/
scp -r /etc/profile slave1:/etc/
scp -r /etc/profile slave2:/etc/
source /etc/profile
tar -zxvf /root/package/hadoop-2.7.5.tar.gz -C /root/soft/
mv /root/soft/hadoop-2.7.5/ /root/soft/hadoop
hadoop-env.sh
hadoop-env.sh文件主要配置跟Hadoop环境相关的变量。
vi /root/soft/hadoop/etc/hadoop/hadoop-env.sh
加入如下内容
export JAVA_HOME=/root/soft/java
?core-site.xml
core-site.xml是Hadoop的全局配置文件,主要配置Hadoop的公有属性。
mkdir -p /root/data/hdfs/tmp 创建目录
vi /root/soft/hadoop/etc/hadoop/core-site.xml
加入如下配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/data/hdfs/tmp</value>
</property>
</configuration>
hdfs-site.xml
hdfs-site.xml文件主要配置和HDFS相关的属性。
mkdir -p /root/data/hdfs/name
mkdir -p /root/data/hdfs/data
vi /root/soft/hadoop/etc/hadoop/hdfs-site.xml
添加如下配置
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/root/data/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/data/hdfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml
mapred-site.xml是MapReduce的配置文件,默认情况下Hadoop中没有该文件,可通过执行cp? mapred-site.xml.template? mapred-site.xml复制一个,并进行编辑。为了使提交的MapReduce程序运行在分布式模式,而不是本地local模式,可以指定由Yarn作为MapReduce的程序运行框架。
cp /root/soft/hadoop/etc/hadoop/mapred-site.xml.template /root/soft/hadoop/etc/hadoop/mapred-site.xml
vi /root/soft/hadoop/etc/hadoop/mapred-site.xml
加入如下配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
yarn-site.xml文件主要配置YARN的一些信息。
vi /root/soft/hadoop/etc/hadoop/yarn-site.xml
加入如下配置
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
slaves
slaves文件主要根据集群规划配置DataNode节点所在的主机名,master节点通过该文件获得集群的子节点名称,然后再通过/etc/hosts文件得到各子节点对应的IP,从而与自己进行通信。
vi /root/soft/hadoop/etc/hadoop/slaves
把原有内容删除,修改为如下内容
slave1
slave2
vi /etc/profile
末尾添加如下内容
export HADOOP_HOME=/root/soft/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
scp -r /root/soft/hadoop/ slave1:/root/soft/
scp -r /root/soft/hadoop/ slave2:/root/soft/
scp -r /etc/profile slave1:/etc/
scp -r /etc/profile slave2:/etc/
source /etc/profile
格式化namenode,只能格式化一次,不能重复格式化(master节点)
hdfs namenode -format
在master的终端执行命令start-all.sh启动hadoop集群,该命令可由start-dfs.sh和start-yarn.sh代替,用于分别启动HDFS和YARN。首次启动hadoop时,会提示输入yes/no,输入yes,第二次及以后启动不会输入任何内容。(master)
start-all.sh
检查集群启动情况,执行jps指令,若三个节点进程和如下一直,hadoop搭建成功(三个节点)
jps
?
Hadoop集群启动后,可以在浏览器中查看集群运行情况。
在浏览器中输入http://192.168.6.10:50070(或http://master:50070),可以查看HDFS文件系统上存储的目录和文件等信息,如图显示的是NameNode的信息。
hadoop jar /root/soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 1 1
首先,创建目录:mkdir? /home/apache/data/test,在这个目录下创建文件wctest.txt
?在HDFS文件系统中创建一个hdfstest目录
?
?
将本地的wctest.txt文件上传到hdfstest目录中
hdfs dfs -put wctest.txt /hdfstest
运行Hadoop自带的WordCount程序
hadoop jar /root/soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /hdfstest/wctest.txt /hdfstest/output
查看结果
?以上测试都没有问题,表明hadoop集群搭建成功。
? ? ? ? 在master的终端中输入命令用于关闭整个Hadoop集群,如果只是关闭HDFS,可使用stop-hdfs.sh命令。Hadoop集群关闭后,在各个主机上通过jps命令查看进程是否都正常关闭,如果还有僵尸进程存在,则使用kill命令将其杀死。(master)
stop-all.sh
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/21 8:44:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |