步骤一:环境准备

在Hadoop安装与配置之前,需要准备的环境:虚拟机、Linux系统、配置JDK环境变量。
若以上还没准备,请查询vmware虚拟机linux安装以及linux安装jdk以及配置环境变量,这里不说jdk和虚拟机了。
先安装一台centos即可,后续直接克隆,所有机器的配置文件就不用一个一个修改了。
配置环境变量
1:命令:vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
	export HADOOP_HOME=/usr/hadoop/hadoop-2.6.5
	export CLASSPATH=.:$JAVA_HOME/lib
	export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

生效修改 :source /etc/profile
检查环境变量是否配好

hadoop version

搭建hadoop集群的目的 搭建hadoop集群的步骤是_hadoop集群搭建


2:根据自己IP修改hosts创建ip别名:vi /etc/hosts

IP地址 master
	IP地址 slave1
	IP地址 slave2

生效修改 :source /etc/hosts

3:配置master访问slave免密码登陆
执行 以下安装命令 生成秘钥文件

ssh-keygen -t rsa
	cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

如有必要 可以对 .ssh 文件 和 赋权

chmod 700 .ssh       
	chmod 600 .ssh/*

将密钥发给slaves服务器

scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

测试 ssh slave1 只要不让输入密码即代表成功
这个就可以正常启动了 不需要输入密码了

4:虚拟机需要关闭防火墙,
注意不同CentOs版本关闭防火墙的指令不同。

systemctl stop firewalld.service

关闭防火墙;
禁止自动启动就用

systemctl  disable  firewalld.service

就可以了

步骤二:下载

首先我们需要到Apache官网下载我们需要的Hadoop版本,Apache产品官网是:https://www.apache.org/dist/hadoop/common 如下图所示,我们可以看到有很多种产品,这里我们需要的是Hadoop因此我们点击hadoop。

搭建hadoop集群的目的 搭建hadoop集群的步骤是_大数据_02


这里我选择的2.6.5版本

搭建hadoop集群的目的 搭建hadoop集群的步骤是_搭建hadoop集群的目的_03

步骤三:上传并解压

1.在/usr/src/目录下为hadoop创建个目录:mkdir hadoop
2.下载完成后利用xftp工具将解压包导入linux中。
3.解压:tar -zxvf hadoop-2.6.5.tar.gz -C /usr/src/hadoop

步骤四:分析解压的hadoop目录

如下图所示:

bin文件夹中存放的是一些可执行的脚本(我们用到的比较多的是hadoop、hdfs、yarn);

etc存放的是hadoop的配置文件,这个etc跟linux根目录下的etc是不一样的;

include存放的是本地库的一些头文件;

lib存放的是本地库的文件其所依赖的jar包在share目录下;

sbin里面存放的是关于启动和停止相关的内容(如 start-all.shstart-dfs.shstop-all.sh、stop-dfs.sh等);

搭建hadoop集群的目的 搭建hadoop集群的步骤是_搭建hadoop集群的目的_04

步骤五:修改5个配置文件

接下来我们开始修改5个配置文件了,首先我们进入/usr/src/hadoop/hadoop-2.6.5/etc/hadoop的配置文件目录(如下图所示),我们可以看到有很多配置文件。

搭建hadoop集群的目的 搭建hadoop集群的步骤是_hadoop集群搭建_05


1.修改配置文件 hadoop-env. sh

输入命令vi hadoop-env. sh,按回车,我们可以看到该文件的内容,如下图所示,其中有一行是配置JAVA环境变量的,初始值默认是${JAVA_HOME},我们需要把它改成具体的jdk所在的目录。查看jdk安装路径 echo $JAVA_HOME

搭建hadoop集群的目的 搭建hadoop集群的步骤是_Hadoop_06

2.修改配置文件core-site.xml
添加的内容在当中,需要说明的是,第一个property配置的是HDFS的NameNode的地址(主机名:端口号),第二个property配置的内容用来指定Hadoop运行时产生的文件的存放目录(初始化的tmp目录,后面格式化时会自动生成tmp文件)。添加完后按ESC键退出编辑模式,输入:wq保存并退出当前配置页面。

<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9090</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/src/hadoop/data</value>
        </property>
</configuration>

3.修改配置文件hdfs-site.xml
该文件是Hadoop的底层存储配置文件。
第一个key|value键值对表示:key表示namenode存储hdfs名字的空间的元数据文件;value表示自己指定的目录(不创建也会自动生成)。
第二个key|value键值对表示:key表示datanode上的一个数据块的物理的存储位置文件;value表示自己指定的目录(不创建也会自动生成)。
第三个key|value键值对表示:用来指定HDFS保存数据副本的数量(现在是伪分布式,所以数量是1,将来的集群副本数量默认是3)

<configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/usr/src/hadoop/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/src/hadoop/hdfs/data</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
</configuration>

4.修改配置文件mapred-site.xml
我们在hadoop目录下发现文件列表中只有mapred-site.xml.template而没有mapred-site.xml,因此我们需要先把mapred-site.xml.template的后缀.template去掉(即重命名)
mv mapred-site.xml.template mapred-site.xml
然后
vi mapred-site.xml
该配置告诉Hadoop以后mapreduce(MR)运行在YARN上。(表示MapReduce使用yarn框架)

<configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
</configuration>

5.修改配置文件yarn-site.xml
需要说明的是,第一个property配置的内容是NodeManager获取数据的方式shuffle,第二个property配置的内容是指定YARN的ResourceManager的地址。

<configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
</configuration>

6.补充:如搭建伪分布式修改配置文件slaves

并修改第六个配置文件:slaves文件,里面写上从节点所在的主机名字

搭建hadoop集群的目的 搭建hadoop集群的步骤是_hadoop_07


至此关闭虚拟克隆slave

搭建hadoop集群的目的 搭建hadoop集群的步骤是_大数据_08


选择虚拟机找到管理的克隆,只需要记住克隆时需要创建一个完整的系统就可以了。

启动所有虚拟机
进入:cd /usr/src/hadoop/hadoop-2.6.5/sbin
格式化namenode

hadoop namenode -format
hdfs namenode -format

启动hadoop :

./start-all.sh

测试hadoop是否可用 第一命令后如没有错误查看是否创建成功执行第二个命令

hadoop fs -mkdir /aaa
hadoop fs -ls /

如有,hadoop集群搭建完成。

本人刚学大数据,以后准备找这方面的工作,如上面配置有问题请高手解答,自测可用。