Hadoop分布式集群搭建_1

Hadoop是一个开源的分布式系统框架

一.集群准备

1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式

2.节点分布

k1: NameNode DataNode ResourceManager NodeManager
k2: SecondNameNode DataNode NodeManager
k3 : DataNode NodeManager

3.安装包准备

jdk-8uxx-linux-x64.rpm
hadoop-2.7.1.tar.gz

二.Linux准备

1.关闭防火墙

systemctl status firewalld //查看防火墙状态
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //防火墙开机不启动

2.修改主机名

hostnamectl set-hostname 主机名
注:如果克隆的虚拟机,那么需要修改主机名

3.IP设置

编辑:vi /etc/sysconfig/network-scripts/ifcfg-ens33

文件中修改 :
BOOTPROTO=none
ONBOOT=yes [开机启动网卡]
文件中添加 :
IPADDR=xxx [IP地址]
NETMASK=xxx [子网掩码]
GATEWAY=xxx [网关]
DNS1=xxx

重启网卡 : systemctl restart network
注 : 克隆的虚拟机需要修改IP地址,删除UUID

4.添加hosts文件

编辑:vi /etc/host

文件中添加:
IP地址 主机名
IP地址 主机名
IP地址 主机名

5.安装JDK

安装包 :jdk-8uxx-linux-x64.rpm
安装 : rpm -ivh jdk-8uxx-linux-x64.rpm
配置环境变量 : vi /etc/profile

文件中添加 :
JAVA_HOME=/usr/java/jdk
PATH=$PATH:$JAVA_HOME/bin:
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:

环境变量生效 : source /etc/profile
查看:java -version

6.SSH免密

1. ssh-keygen
之后一直回车就可以
2.ssh-copy-id 主机名
三台机子都需要进行免密
3.ssh 主机名
测试免密是否成功

三.HADOOP环境搭建

1.解压缩

安装包 :hadoop-2.7.1.tar.gz
解压缩 : tar -zxvfhadoop-2.7.1.tar.gz -C /opt/apps

2.修改环境变量

编辑 :vi /etc/profile

文件中添加 :
export HADOOP_HOME=/opt/apps/hadoop.2.7.1/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

3.环境变量生效

source/etc/profile

四.HADOOP配置文件

1.进入hadoop配置文件目录

cd /opt/apps/hadoop.2.7.1/etc/hadoop

2.修改配置文件 : hadoop-env.sh

vi hadoop-env.sh
修改文件中JAVA_HOME,改为自己JDK的路径

3.配置文件 :core-site.xml

vi core-site.xml 添加如下内容:

<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:8020</value> //NameNode节点主机名
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096<value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopdata/bigdata/tmp</value>
</property>

4.配置文件 : hdfs-site.xml

vi hdfs-site.xml添加如下内容:

<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopdata/dfs/data<>
</property>
<property>
<name>dfs.http.address</name>
<value>NameNode节点主机名:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>SecondNameNode节点主机名:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

5.配置文件 : salves

vi salves添加以下内容(三台机器的主机名) :

hostname1
hostname2
hostname3

6.配置文件 :mapred-site.xml

mv mapred-site.xml.template mapred-site.xml (进行重命名)
vimapred-site.xml 添加以下内容 :

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>历史服务:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>历史服务节点主机名:19888</value>
</property>

7.配置文件 : yarn-site.xml

vi yarn-site.xml 添加如下内容 :

<property>
<name>yarn.resourcemanager.hostname</name>
<value>ResourceManager节点主机名</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>ResourceManager节点主机名:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>ResourceManager节点主机名:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>ResourceManager节点主机名:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>ResourceManager节点主机名:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>ResourceManager节点主机名:8088</value>
</property>
<property>
<name>yarn.client.failover-proxy-provider</name>
<value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value> </property>
<property>
<name>yarn.web-proxy.address</name>
<value>ResourceManager节点主机名:9989</value>
</property>

五.Hadoop启动【Hadoop分发到别的机器,三台机器都要有Hadoop】

1.格式化NameNode

hdfs namenode -format
注 : 如出现 [name has been successfully formated] 则格式化成功

2.启动进程

start-dfs.sh
start-yarn.sh

3.查看节点 ------ jps

4.创建wordcount.txt 验证Yarn

yarn jar /root/app/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /hello.txt /out/1

六.谢谢

本人还处于小白阶段,可能写的地方可能让人晦涩,还请多见谅,我还会继续努力!

相关推荐