龙空技术网

Hadoop集群搭建详细教程

改了很多都被占用 908

前言:

此时姐妹们对“hadoop集群的搭建步骤”都比较重视,小伙伴们都需要知道一些“hadoop集群的搭建步骤”的相关文章。那么小编同时在网摘上搜集了一些对于“hadoop集群的搭建步骤””的相关内容,希望姐妹们能喜欢,大家一起来了解一下吧!

写在前面的话:对于初学者对于Linux不熟的童鞋,建议使用root用户操作。另外,本教程为自己试验中的原创。。。

一:前期准备

1.修改hosts文件,增加主机名和端口映射。

终端下输入命令“vi /etc/hosts”,在文件末尾加上主机名与端口的映射关系,如下图所示:

2.关闭防火墙

停止防火墙

	[root@master ~]# systemctl stop firewalld	[root@master ~]# systemctl disable firewalld

禁用Selinux

	[root@master ~]# setenforce 0	[root@master ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

3.配置各节点之间的ssh免密登陆

3.1终端下输入命令“ssh-keygen -t rsa”,生成非对称公钥和私钥,这个在集群中所有节点机器都必须执行,一直回车就行。

3.2通过ssh登录远程机器时,本机会默认将当前用户目录下的.ssh/authorized_keys带到远程机器进行验证,这里是/root/.ssh/authorized_keys中公钥(来自其他机器上的/root/.ssh/ id_rsa.pub.pub), 以下代码只在主节点执行就可以做到主从节点之间SSH免密码登录 cd root/.ssh/

3.3首先将Master节点的公钥添加到authorized_keys

cat id_rsa.pub>>authorized_keys

3.4其次将worker节点的公钥添加到authorized_keys,这里我是在

Master机器上操作的

ssh root@worker01 cat /root/.ssh/id_rsa.pub>> authorized_keys ssh root@worker02 cat /root/.ssh/id_rsa.pub>> authorized_keys 

3.5这里将Master节点的authorized_keys分发到其他worker节点

scp -r /root/.ssh/ authorized_keys root@worker01:/root/.ssh/scp -r /root/.ssh/ authorized_keys root@worker02:/root/.ssh/

二:jdk安装

下载Linux版的jdk,可自行百度,此处不再演示。

上传:将下载好的jdk上传到Linux服务器(若是在Linux上下载的jdk,则此步跳过)。可通过WinScp或者Xftp等工具上传。

解压:tar -zxvf tar -zxvf jdk-8u151-linux-x64.tar.gz

配置环境变量

在终端下输入“vi /etc/profile”,编辑该文件,在文件末尾加上如下内容:

export JAVA_HOME=/bigdata/soft/jdk1.8.0_151/export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后保存退出,输入命令“source /etc/profile”,使修改得配置文件生效。在终端下输入“java -version”或者“javac”查看jdk是否安装成功,若成功则如下图所示:然后将配置文件发送到集群中的其他节点。

将jdk分发到集群中的各个worker节点:

scp -r jdk1.8.0_151 root@worker01:/bigdata/soft/jdk1.8.0_151scp -r jdk1.8.0_151 root@worker02:/bigdata/soft/jdk1.8.0_151

三:Hadoop安装

1.下载(本教程以Hadoop3.0稳定版为例)

登陆hadoop官网:,选择左侧的Releases,选择3.0.0版本,点击binary,此时会看到可供下载的镜像源,本例选择清华大学的镜像源,点击之后即可下载。整个过程如下图所示:

2.上传(若是在Linux环境下此步骤则不需要,上传方式同jdk,此处不再赘述)

3.解压

在终端输入解压命令 tar -zxvf hadoop-3.0.0

4.配置

4.1系统配置文件修改

修改配置文件“/etc/profile”,终端输入命令“vi /etc/profile”

4.配置

4.1系统配置文件修改

修改配置文件“/etc/profile”,终端输入命令“vi /etc/profile”

在文件末尾新增hadoop的环境变量路径

#set hadoop pathexport HADOOP_HOME=/bigdata/soft/hadoop-3.0.0export PATH="$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin"

然后输入命令“source /etc/profile”,使该文件生效,之后将该文件发送到集群中的其他节点,并在其他节点同样source该文件使其生效。

4.2 Hadoop配置文件修改,首先进入$HADOOP_HOME/etc/hadoop目录下,本例为“/bigdata/soft/hadoop-3.0.0/etc/hadoop”,如下图所示:

4.2.1 修改core-site.xml,在终端输入命令“vi core-site.xml”,在文件末增加如下内容:

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/bigdata/hdfs/tmp</value> </property></configuration>

完成之后保存退出。

4.2.2修改“hdfs-site.xml”配置文件,终端输入“vi hdfs-site.xml”,在文件末加上如下内容:

<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/bigdata/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/bigdata/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>	worker01:9001</value> </property>

4.3.3修改“mapred-site.xml”配置文件,步骤如上,在文件末新增如下内容:

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value> /bigdata/soft/hadoop-3.0.0/etc/hadoop, /bigdata/soft/hadoop-3.0.0/share/hadoop/common/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/common/lib/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/hdfs/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/hdfs/lib/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/mapreduce/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/mapreduce/lib/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/yarn/*, /bigdata/soft/hadoop-3.0.0/share/hadoop/yarn/lib/* </value> </property></configuration>

4.3.4修改“yarn-site.xml”配置文件,步骤如上,在文件末新增如下内容:

<configuration><!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandle</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value>	</property>		<property>		<name>mapreduce.application.classpath</name>		<value>		 /bigdata/soft/bigdata/hadoop-3.0.0/etc/hadoop,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/common/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/common/lib/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/hdfs/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/hdfs/lib/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/mapreduce/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/mapreduce/lib/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/yarn/*,		 /bigdata/soft/bigdata/hadoop-3.0.0/share/hadoop/yarn/lib/*		</value>	</property>		<!—下面两个配置是Spark on yarn 需要的,只针对虚拟机搭建的集群,若是物理机则不需要--> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> <description>Whether virtual memory limits will be enforced for containers</description> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>4</value> <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description> </property></configuration>

4.3.5修改“hadoop-env.sh”配置文件,用vi打开该文件,然后操作如下图所示:

之后保存退出。

4.3.6修改“start-dfs.sh”和“stop-dfs.sh”(这两个文件位于Hadoop安装目录下的sbin目录下),在文件注释最开始处加上如下:

HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root

4.3.7同样在该目录下修改“start-yarn.sh”和“stop-yarn.sh” 在文件注释最开始处加上如下:

YARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root

4.3.8 修改worker文件,将worker1,worker2写入到文件中。

5:发送

将解压且配置好的hadoop发送到集群的各个节点:

scp -r hadoop-3.0.0 root@ worker01:/bigdata/soft/hadoop-3.0.0scp -r hadoop-3.0.0 root@ worker02:/bigdata/soft/hadoop-3.0.0

6.格式化NameNode

hdfs namenode -format

7.启动

启动hdfs:start-dfs.sh启动yarn:start-yarn.sh

启动成功后输入jps命令,可以看到守护进程如下图所示

则集群搭建成功。

若要测试该机器是否真正搭建成功,则可以用hadoop自带的WordCount例子测试。具体步骤此处不再演示,可以自行百度。

标签: #hadoop集群的搭建步骤