【Hadoop】完全分布式安装

一、集群搭建之主节点

                1、下载安装包及测试文档
                2、安装Java JDK
                3、Hadoop安装
                4、修改hosts文件
                5、创建数据文件夹
                6、修改hadoop hadoop-env.sh文件配置
                7、修改hadoop core-site.xml文件配置
                8、修改hadoop hdfs-site.xml文件配置
                9、修改hadoop yarn-site.xml文件配置
                10、修改hadoop mapred-site.xml文件配置
                11、修改hadoop slaves文件配置
                12、创建公钥
                13、拷贝公钥,过程中需要输入zhangyu用户的密码
                14、拷贝文件到所有从节点
                15、格式化分布式文件系统
                16、启动Hadoop
                17、查看Hadoop进程
                18、在命令行中输入以下代码,打开Hadoop WebUI管理界面:
                19、测试HDFS集群以及MapReduce任务程序

二、集群搭建之从节点1

                1、Java环境配置
                2、修改hosts文件
                3、创建公钥
                4、Hadoop环境配置
                5、创建数据文件夹:

三、集群搭建之从节点2

                1、Java环境配置
                2、修改hosts文件
                3、创建公钥
                4、Hadoop环境配置
                5、创建数据文件夹

进入主界面:一个主结点,两个从结点
在这里插入图片描述
一、集群搭建之主节点
1、下载安装包及测试文档

切换目录到/tmp

cd /tmp
下载Hadoop安装包

wget http://59.74.172.143:60000/hadoop-2.6.0-cdh5.4.5.tar.gz
下载JDK安装包

wget http://59.74.172.143:60000/jdk-7u75-linux-x64.tar.gz
下载实验测试数据

wget http://59.74.172.143:60000/word.txt

2、安装Java JDK

这里安装的版本是jdk-7u75-linux-x64.tar.gz;

当前是普通用户,超级管理员才能对/opt目录进行操作,所有要使用sudo命令获取获取特权才能成功解压; 命令将其解压到/opt目录下:

sudo tar -zxvf /tmp/jdk-7u75-linux-x64.tar.gz -C /opt/
并将解压后的文件夹jdk-7u75-linux-x64改名为java:

sudo mv /opt/jdk1.7.0_75 /opt/java
修改java目录的所属用户和所属组:

sudo chown -R zhangyu.zhangyu /opt/java
jdk安装完配置环境变量,编辑/etc/profile:

sudo vim /etc/profile
在文档末端添加如下内容:

export JAVA_HOME=/opt/java
export PATH=JAVAHOME/bin:

JAVAH​OME/bin:PATH
刷新环境变量:

source /etc/profile
刷新环境变量后,可以通过java的家目录找到java可使用的命令。 利用java查看版本号命令验证是否安装成功:

java -version
正常结果显示如下:
在这里插入图片描述3、Hadoop安装

这里安装的版本是hadoop-2.6.0-cdh5.4.5.tar.gz;命令将其解压到/opt目录下:

sudo tar -zxvf /tmp/hadoop-2.6.0-cdh5.4.5.tar.gz -C /opt/
并将解压后的文件夹hadoop-2.6.0-cdh5.4.5改名为hadoop:

sudo mv /opt/hadoop-2.6.0-cdh5.4.5 /opt/hadoop
修改hadoop目录的所属用户和所属组:

sudo chown -R zhangyu.zhangyu /opt/hadoop
jdk安装完配置环境变量,编辑/etc/profile:

sudo vim /etc/profile
末端添加如下内容:

export HADOOP_HOME=/opt/hadoop
export PATH=HADOOPHOME/bin:

HADOOPH​OME/bin:PATH
刷新环境变量:

source /etc/profile
利用hadoop查看版本号命令验证是否安装成功:

hadoop version
正常结果显示如下:
在这里插入图片描述4、修改hosts文件

获取网卡信息得命令有:ifconfig 和 ip a ;使用获取网卡信息得命令,查看到当前节点的IP地址;编辑/etc/hosts文件:

sudo vim /etc/hosts
添加本机IP地址对应本机映射名和其它节点IP地址对应映射名:

0.0.0.0 master
0.0.0.0 slave1
0.0.0.0 slave2
节点IP地址即”内网管理地址“

配置完hosts文件,可以通过映射名访问对应的IP地址;

5、创建数据文件夹

sudo mkdir /data
所有者修改为当前用户:

sudo chown -R zhangyu.zhangyu /data

6、修改hadoop hadoop-env.sh文件配置

vim /opt/hadoop/etc/hadoop/hadoop-env.sh
将JAVA_HOME修改成java所在目录:

export JAVA_HOME=/opt/java/

7、修改hadoop core-site.xml文件配置

编辑core-site.xml文件:

vim /opt/hadoop/etc/hadoop/core-site.xml
替换为下面的xml文本:

<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl"   
        href="configuration.xsl"?>  
<configuration>  
<property>  
    <name>hadoop.tmp.dir</name>  
    <value>/data/tmp/hadoop/tmp</value>  
</property>  
<property>  
    <name>fs.defaultFS</name>  
    <value>hdfs://master:9000/</value>  
    <description>NameNode URI</description>  
</property>  
</configuration>  

这里有两项配置:

一项是hadoop.tmp.dir,配置hadoop处理过程中,临时文件的存储位置。这里的目录/data/需要提前创建。 另一项是fs.defaultFS,配置hadoop HDFS文件系统的地址。

8、修改hadoop hdfs-site.xml文件配置

编辑hdfs-site.xml文件:

vim /opt/hadoop/etc/hadoop/hdfs-site.xml
替换为下面的xml文本:

<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl"   
       href="configuration.xsl"?>  
<configuration>  
<property>  
   <name>dfs.namenode.name.dir</name>  
   <value>/data/tmp/hadoop/hdfs/name</value>  
</property>  
<property>  
   <name>dfs.datanode.data.dir</name>  
   <value>/data/tmp/hadoop/hdfs/data</value>  
</property>  
<property>  
    <name>dfs.replication</name>  
    <value>1</value>  
</property>  
<property>  
    <name>dfs.permissions</name>  
    <value>false</value>  
</property>  
</configuration>  

配置项说明:

dfs.namenode.name.dir,配置元数据信息存储位置; dfs.datanode.data.dir,配置具体数据存储位置; dfs.replication,配置每个数据库备份数,由于目前我们使用1台节点,所以,设置为1,如果设置为2的话,运行会报错。

9、修改hadoop yarn-site.xml文件配置

编辑yarn-site.xml文件:
vim /opt/hadoop/etc/hadoop/yarn-site.xml
替换为下面的xml文本:

view plain copy
<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl"  
        href="configuration.xsl"?>  
<configuration>  
<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>  
</configuration>  

这里的配置是指定所用服务。

10、修改hadoop mapred-site.xml文件配置

创建mapred-site.xml文件:

vim /opt/hadoop/etc/hadoop/mapred-site.xml
输入为下面的xml文本:

view plain copy
<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl"   
        href="configuration.xsl"?>  
<configuration>  
<property>  
    <name>mapreduce.framework.name</name>  
    <value>yarn</value>  
</property>  
</configuration>  

这里指定mapreduce任务处理所使用的框架。

11、修改hadoop slaves文件配置

vim /opt/hadoop/etc/hadoop/slaves
覆盖写入主节点映射名和从节点映射名:

master
slave1
slave2

12、创建公钥

在zhangyu用户下创建公钥:

ssh-keygen
出现如下内容:

Enter file in which to save the key (/home/zhangyu/.ssh/id_rsa):

直接使用默认选项,回车即可,出现如下内容:

Enter passphrase (empty for no passphrase):

直接回车,出现内容:

Enter same passphrase again:

直接回车,创建完成,结果内容如下:
在这里插入图片描述13、拷贝公钥,过程中需要输入zhangyu用户的密码

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2
提示:命令执行过程中需要输入“yes”和密码“zhangyu”。三台节点请依次执行完成。

测试连接是否正常:

ssh master
输入exit退出测试:

ssh slave1
输入exit退出测试:

ssh slave2
输入exit退出测试:

测试中可以看出,连接各节点时,无需输入密码,因为已经设置好授权秘钥。

14、拷贝文件到所有从节点

scp -r /opt/java/ /opt/hadoop/ slave1:/tmp/

scp -r /opt/java/ /opt/hadoop/ slave2:/tmp/
至此,主节点配置完成。


更多精彩内容