Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)

一、准备三台虚拟机

hadoop 192.168.131.128
localhost131 192.168.131.131
localhost134 192.168.131.134

(以上是我的三台虚拟机的hostname 和 ip)

hadoop 是 master 的 hostname

剩下的两个是 slave 的 hostname

linux 的 hostname 需要自己手动修改 不然会是 localhost.localdomain

修改 hostname 的命令是:

 hostnamectl set-hostname hadoop

修改 hosts 文件,(三台虚拟机都要添加)添加:

192.168.131.131 localhost131
192.168.131.134 localhost134
192.168.131.128 hadoop

二、然后在 master 机器上配置通过 SSH 远程复制过去就行了,接下来几乎都是在 master 机器上操作

1->安装 jdk

在官网上下载 jdk 是 linux 版本的 (我是在 wins 上下载好之后通过 FTP 上传的 Centos 上的)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注意记得查看 Centos 是 64 位的还是 32 位的

查看的命令:

uname -r

后缀是 X86_64 是 64 位的,否则是 32 位的

解压 jdk,将 jdk 添加 PATH 中:

vim /etc/profile
    #添加内容:
    export JAVA_HOME=/home/jdkHome #jdk压缩包解压位置
    export PATH=$PATH:$JAVA_HOME/bin

!!!!!退出vim后,别忘了重启文件!!!!
source /etc/profile

2->安装 Hadoop-2.9.1

http://archive.apache.org/dist/hadoop/core/stable/

这是 hadoop 目前比较稳定的版本

将文件通过 FTP 上传的 Centos 上 /home/hadoopCluster 并解压

3->配置 Hadoop-2.9.1

进入到 Hadoop 目录下的 etc/hadoop 的目录下(修改 6 个文件)

① 修改文件 hadoop-env.sh

找到 export JAVA_HOME=$JAVA_HOME 修改为 jdk 所在的路径

Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第1张图片

②修改文件 core-site.xml


    
    
        fs.defaultFS
        hdfs://hadoop:8020
    
    
    
        hadoop.tmp.dir
        /home/hadoopCluster/hadoop-2.9.1/tmp
    

③修改文件 hdfs-site.xml


    
    
        dfs.namenode.http-address
        hadoop:50070
    

    
    
        dfs.namenode.secondary.http-address
        localhost131:50090
    

    
    
        dfs.replication
        2
    
    
 

该配置文件中我之前配置 namenode 和 datanode 的路径,到最后格式化 namenode 的时候,namenode 没有启动,查看 logs 目录下的启动日志时发现,format 的时候,会报找不到 namenode 的错误,jps 查看 java 进程的时候或发现 namenode 没有启动,所以就将 namenode 和 datanode 的路径设置为默认。

④修改文件 mapred-site.xml

mapred-site.xml 文件当你修改时会发现没有这个文件,将 mapred-site.xml.template 文件重命名为 mapred-site.xml

mv  mapred-site.xml.template mapred-site.xml

修改为:


    
    
        mapreduce.framework.name
        yarn
    

⑤修改文件 yarn-site.xml

    
    
        mapreduce.framework.name
        yarn
    

⑥修改文件 slaves

localhost131
localhost134


4->修改完成了接下是配置 SSH 免密登录

在这里我使用 root 超级管理员登陆的,所以进入 /root 目录下

执行命令 ls

Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第2张图片

进入目录 .ssh  --> cd .ssh

ssh-keygen -t rsa
mv id_rsa_pub authorized_keys
ssh-copy-id root@localhost131
ssh-copy-id root@localhost134

配置完以上操作之后测试 SSH

ssh localhost131     !!退出 SSH 命令是 exit
ssh localhost134

不需要输入密码证明 SSH 配置成功,接下来就是远程复制文件,将 jdk 还有 hadoop 复制到另外两台机器上

注意:以上操作都是在一台机器上完成的 master (hadoop : 192.168.131.128)

5->将 Hadoop 添加到 PATH 中去

vim /etc/profile
export JAVA_HOME=/home/jdkHome/jdk1.8.0_171
export HADOOP_HOME=/home/hadoopCluster/hadoop-2.9.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

6->远程复制文件

进入目录 /home 文件夹下(因为 jdk 和 hadoop 文件都在这个文件夹下)

scp -r jdkHome root@localhost131
scp -r hadoopCluster root@localhost131
scp -r jdkHome root@localhost134
scp -r hadoopCluster root@localhost134

7->将另外两台机器也配置 jdk 全局环境

ssh 复制过去的是以文件的形式传输的,所以不用解压,直接修改 profile 文件就行了,修改完之后,hadoop 不用再修改了,s三台机器 hadoop 配置都是一样的 , 注意:如果  jdk 的路径有不同,则需要修改 hadoop 配置文件 hadoop-env.sh 文件,将里面的 JAVA_HOME 配置成该机器的路径

8->格式化 master (hadoop:192.168.131.128) 的 namenode

hdfs namenode -format

Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第3张图片

9->启动 Hadoop (master)

进去 sbin 目录下 : ./start-all.sh

 另外两台机器:jps


Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第4张图片

测试:192.168.131.128:50070 进入 namenode 的管理界面

          192.168.131.128:8088   进入resourceManager的管理界面

Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第5张图片

Centos7 实现Hadoop-2.9.1分布式集群搭建和部署(三台机器)_第6张图片

启动完成

你可能感兴趣的:(Centos,7,Hadoop,分布式搭建)