【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装、Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置。具体请参看:

【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-上

6. Linux节点配置

  设置主机名:根据规划修改主机名,执行hostnamectl set-hostname hdoop1,修改主机名并写入配置文件,使用hostname查看当前生效的主机名。

  关闭防火墙:使用systemctl命令关闭防火墙,stop是本次关闭,disable是下次开机也不会启动(永久关闭)。这里我们需要使用disable彻底关闭。

  停止selinux:使用getenforce命令可以查询selinux状态,使用setenforce命令设置状态 0表示允许通过(即本次关闭selinux,下次启动还会还原,要想永久关闭,则需要使用vim编辑配置文件,下图为getenforce和setenforce的使用)

    vim编辑器的简要使用说明:

    vim编辑器有三种状态:普通模式,编辑模式,命令模式

    普通模式按i键进入编辑模式,按esc键回普通模式

    普通模式进入命令模式,直接在普通模式下输入(冒号加命令)

    :q!(不保存退出)  :q(直接退出) 

    :w(保存不退出)  :wq(保存退出)

    selinux的配置文件目录:etc/selinux/config 

    输入命令:vim etc/selinux/config 即可打开配置文件编辑,按i键进入编辑模式,修改为如下结果。cat为查看文件命令。

  利用VMware克隆另外两个节点:利用节点1的虚拟机克隆出另外两台节点虚拟机,克隆完成后按规划修改主机名和IP地址。分别为hadoop2节点IP为192.168.1.20,hadoop3节点IP为192.168.1.30,修改方法与前面一致。

  设置主机名和IP对应:每个节点都要设置,写法是一样的,完成之后可以直接ping主机名来测试是否设置成功。输入vim /etc/hosts打开配置文件编辑,修改为如下结果。(三个节点都是一样的方式)。

  设置ssh互信:ssh免密码登录如果不配置,在启动集群时候需要输入每个节点的密码方可启动,为避免多次输入密码,可配置ssh免密码登录。下面以hadoop1为例,首先生成密钥,然后将密钥传给其它节点,也要传给自己。(另外两个节点也要做,做法是一样的,如下所示)。

  首先,生成密钥:ssh-keygen  (敲三次回车)

  然后将密钥传给其它节点(包括自己),每个节点都要做,命令格式如下:

  用ssh测试一下能否直接登陆(下图是从节点1登陆至节点2和节点3)

  目录建立:根据规划为每个节点创建目录文件夹。

7. JDK安装配置

  拷贝JDK包至节点机:首先使用Xftp将JDK安装文件传输至Linux节点机,打开Xftp工具,配置会话,在Xftp工作区左侧打开物理机需要上传软件所在的目录,再在右侧打开节点机hadoop1的目的目录(/hadoop/soft),将文件由左侧拖至右侧即可。

  解压JDK: tar -zxvf jdk-8u161-linux-x64.tar.gz,解压完成后即可看到蓝色的JDK文件夹

  编辑环境变量:配置root用户的环境变量,切换至家目录,使用vim .bash_profile编辑环境变量。添加如下内容。

 

  验证:使用source .bash_profile重新加载环境变量,使用命令java –version查看现在java的版本,看能否成功执行,结果如下。

  其它节点安装:将节点hadoop1上的Java拷贝到另外两个节点上,然后分别登陆至两个节点,按上面的方法设置另外两个节点的环境变量。完成后重新加载环境变量,查看版本验证一下。

8. Hadoop安装配置

  将Hadoop软件包上传至节点1:利用Xftp将物理机上的hadoop-2.8.3.tar.gz传输至节点1上(/hadoop/soft)目录下。

  解压Hadoop: tar -zxvf hadoop-2.8.3.tar.gz

  进入Hadoop配置文件目录:如下图所示

  编辑Hadoop配置文件:需要编辑hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。(小建议:可以用Xftp将这些文件复制到windows系统上,用Notepad++修改保存,然后在复制到每个节点相应的文件夹里覆盖原来的)。当然,也可在linux下用vim编辑这些文件,只是较为不便。

  a.  设置hadoop-env.sh和yarn-env.sh中的java环境变量

  b.配置core-site.xml文件 

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.10:9000</value>
</property>
<property>
<name>hadoop,tmp.dir</name>
<value>/hadoop/tmp/</value>
</property>
</configuration>

  c.配置hdfs-site.xml文件 

<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.1.10:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.1.20:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///hadoop/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///hadoop/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///hadoop/secondarynn</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

  d.配置mapred-site.xml文件(由于默认没有mapred-site.xml文件,只有一个mapred-site.xml.template文件,可以将这个template文件重命名为mapred-site.xml) 

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.1.10:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.1.10:19888</value>
</property>
</configuration>

  e.配置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.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.10:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.10:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.10:8031</value>
</property>
<property>

  f.配置slaves文件 

  

  编辑环境变量:配置root用户的环境变量,切换至家目录,使用vim .bash_profile编辑环境变量。添加如下内容。

  验证:使用source .bash_profile重新加载环境变量,使用命令hadoop version查看现在hadoop的版本,结果如下。

  其它节点安装:将节点hadoop1上已经配置好的hadoop拷贝到另外两个节点上,然后按上面的方法设置另外两个节点的环境变量。(使用vim .bash_profile编辑环境变量),完成后用上面查看版本的方式验证一下。

9. Hadoop启动

  使用hdfs namenode –format格式化hdfs文件系统,如下图。(仅在第一次启动之前需要格式化,后面启动不需要格式化,只需在节点1上执行)

  使用start-all.sh启动所有服务(只需在节点1上执行)

  启动成功可分别登陆至每个节点运行jps查看每各个节点上运行的进程,正常情况如下。

  在物理机上访问hdfs的web界面,打开物理机浏览器,输入网址:http://192.168.1.10:50070,结果如下图能看到datanode的数据和启动datanode相同,表示启动成功。

  同上,使用浏览器打开http://192.168.1.10:8088,结果如下图,表示yarn正常正常启动。

原文地址:https://www.cnblogs.com/nnzhang/p/10475630.html