栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hadoop完全分布式集群——Hadoop 配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hadoop完全分布式集群——Hadoop 配置

前面已完成VMware虚拟机安装与配置(参考前一篇Hadoop完全分布式集群——VMware虚拟机安装与配置_夏雨和阳阳的博客-CSDN博客),下面将进行Hadoop 配置。

一、slave1、slave2节点配置修改

slave1、slave2节点都需要进行以下操作:

1.开启虚拟机,输入命令:

[root@slave1 ~]#ip addr

[root@slave2 ~]#ip addr

2.修改slave1、slave2虚拟机的IP

[root@slave1 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33

[root@slave12 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改slave1为IPADDR=192.168.128.131,修改slave2为IPADDR=192.168.128.132。

 3.修改slave1、slave2虚拟机的主机名

[root@slave1 ~]#vi /etc/hostname

[root@slave2 ~]#vi /etc/hostname

主节点为 master,子节点分别为 slave1、slave2。

 4.slave1、slave2虚拟机重启网络服务

[root@slave1 ~]#service network restart

[root@slave2 ~]#service network restart

5.查看slave1、slave2虚拟机 IP、主机名是否修改

[root@slave1 ~]#ip addr

[root@slave2 ~]#ip addr

6.reboot 重启slave1、slave2虚拟机。

root@slave1 ~]#reboot

root@slave2 ~]#reboot

二、 配置master、slave1、slave2虚拟机无密码登录 1.配置 IP 映射(master、slave1、slave2每个节点都需修改)

[root@master ~]#vi /etc/hosts

[root@slave1 ~]#vi /etc/hosts

[root@slave2 ~]#vi /etc/hosts

依次添加如下内容:

192.168.128.130 master

192.168.128.131 slave1

192.168.128.132 slave2

 2.配置 SSH 无密码登录

(1) 使用 ssh-keygen 产生公钥与私钥对。

在master虚拟机输入命令:

[root@master ~]# ssh-keygen -t rsa

执行过程中需要按三次 Enter 键。

生成私有密钥 id_rsa 和公有密钥 id_rsa.pub 两个文件。ssh-keygen 用来生成 RSA类型的密钥以及管理该密钥,参数“-t”用于指定要创建的 SSH 密钥的类型为RSA。

(2)用 ssh-copy-id 将公钥复制到slave1、slave2虚拟机中

[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave1     //依次输入 yes,123456(root 用户的密码)

[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave2     //依次输入 yes,123456(root 用户的密码)

(3)验证是否设置无密码登录

依次输入:
[root@master ~]# ssh slave1      //下图表示无密码登陆slave1成功

[root@master ~]# exit    //下图表示退出slave1

 用同样的方法验证slave2是否设置无密码登录。

(4)配置宿主机SSH 无密码登录master、slave1、slave2虚拟机

 为了便于连接和操作master、slave1、slave2虚拟机,也需要配置SSH 无密码登录。在宿主机上操作如下:

[root@localhost~]#vi /etc/hosts

依次添加如下内容:

192.168.128.130 master

192.168.128.131 slave1

192.168.128.132 slave2

[root@localhost~]# ssh-keygen -t rsa

执行过程中需要按三次 Enter 键。

[root@localhost~]# ssh-copy-id -i /root/.ssh/id_rsa.pub master     //依次输入 yes,123456(root 用户的密码)

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave1     //依次输入 yes,123456(root 用户的密码)

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave2     //依次输入 yes,123456(root 用户的密码)

[root@localhost ~]# ssh master

[root@localhost ~]# ssh slave1   

[root@localhost ~]# ssh slave1   

三、安装 jdk(每个节点都需安装)

用的是JDK1.8.0_131版本(jdk-8u131-linux-x64.tar.gz),有需要从百度网盘中下载。

下载链接:https://pan.baidu.com/s/1P2fkRonIVO-DZMNKNgCCKA

提取码:ml01

1. 解压并安装/opt 目录

[root@master opt]#tar -zxvf jdk-8u131-linux-x64.tar.gz

2.修改环境变量

[root@master ~]#vi /etc/profile

添加如下内容:

export JAVA_HOME=/opt/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

[root@master ~]#source /etc/profile            //使配置生效

 3.验证 JDK 是否配置成功

[root@master ]#java -version

4.将master上的配置好的JDK分发到slave1、slave2上

[root@master ]#scp -r /opt/jdk1.8.0_131 root@slave1:/opt

[root@master ]#scp -r /opt/jdk1.8.0_131 root@slave2:/opt

5.环境变量配置生效

[root@slave1 ~]#source /etc/profile 

[root@slave2 ~]#source /etc/profile 

6.验证 slave1、slave2中的JDK 是否配置成功

[root@slave1 ~]#java -version

[root@slave2 ~]#java -version

四、 Hadoop2.7.7 安装与配置

用的是Hadoop2.7.7版本(hadoop-2.7.7.tar.gz),有需要从百度网盘中下载。

下载链接:https://pan.baidu.com/s/13Mc6YsbHiZPkbozJUMuahg

提取码:mt1s

1.解压并安装/usr/local目录(主节点进行)

[root@master ]#tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local

解压后即可看到/usr/local/hadoop-2.7.7文件夹。

2.配置 Hadoop

(1)进入目录

[root@master ]#cd /usr/local/hadoop-2.7.7/etc/hadoop

依次修改以下配置文件(使用 vi 命令对文件进行修改 如 vi core-site.xml),修改完按ESC键,输入:wq!保存退出。

注:文件中存在,配置放入其中,且只保留一组的

(2)修改core-site.xml

[root@master hadoop]#vi xore-site.xml

添加如下内容:


       
        fs.default.name
        hdfs://master:9000
       

       
        hadoop.tmp.dir
        /usr/local/hadoop-2.7.7/hdfs/tmp
       

(3)修改hadoop-env.sh

[root@master hadoop]#vi hadoop-env.sh

修改如下内容:

# The java implementation to use.
export JAVA_HOME=/opt/jdk1.8.0_131

(4)修改hdfs-site.xml

[root@master hadoop]#vi hdfs-site.xml

添加如下内容:


       
        dfs.namenode.name.dir
        /usr/local/hadoop-2.7.7/hdfs/name
       

       
        dfs.datanode.data.dir
        /usr/local/hadoop-2.7.7/hdfs/data
       

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

       
        dfs.replication
        2
       

(5)修改mapred-site.xml

此目录下并没有mapred-site.xml,须复制mapred-site.xml.template生成。命令如下:

[root@master hadoop]#cp mapred-site.xml.template mapred-site.xml

[root@master hadoop]#vi mapred-site.xml

添加如下内容:


       
        mapreduce.framework.name
        yarn
       


       
        mapreduce.jobhistory.address
        master:10020
       

       
        mapreduce.jobhistory.webapp.address
        master:19888
       

(6)修改yarn-site.xml

[root@master hadoop]#vi yarn-site.xml

添加如下内容:


       
        yarn.resourcemanager.hostname
        master
       

       
        yarn.resourcemanager.address
        ${yarn.resourcemanager.hostname}:8032
       

       
        yarn.resourcemanager.scheduler.address
        ${yarn.resourcemanager.hostname}:8030
       

       
        yarn.resourcemanager.webapp.address
        ${yarn.resourcemanager.hostname}:8088
       

       
        yarn.resourcemanager.webapp.https.address
        ${yarn.resourcemanager.hostname}:8090
       

       
        yarn.resourcemanager.resource-tracker.address
        ${yarn.resourcemanager.hostname}:8031
       

       
        yarn.resourcemanager.admin.address
        ${yarn.resourcemanager.hostname}:8033
       

       
        yarn.nodemanager.local-dirs
        /usr/local/hadoop-2.7.7/yarn/local
       

       
        yarn.log-aggregation-enable
        true
       

       
        yarn.nodemanager.remote-app-log-dir
        /usr/local/hadoop-2.7.7/yarn/logs
       

       
        yarn.log.server.url
        http://master:19888/jobhistory/logs/
        URL for job history server
       

       
        yarn.nodemanager.vmem-check-enabled
        false
       

       
        yarn.nodemanager.aux-services
        mapreduce_shuffle
       

       
        yarn.nodemanager.aux-services
        mapreduce_shuffle
       

       
        yarn.nodemanager.resource.memory-mb
        2048
      

       
        yarn.scheduler.minimum-allocation-mb
        512
       

       
        yarn.scheduler.maximum-allocation-mb
        4096
       

       
        mapreduce.map.memory.mb
        2048
       

       
        mapreduce.reduce.memory.mb
        2048
       

       
        yarn.nodemanager.resource.cpu-vcores
        1
       

       
        yarn.application.classpath
       
        /usr/local/hadoop-2.7.7/etc/hadoop:/usr/local/hadoop-2.7.7/share/hadoop/common/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/common/*:/usr/local/hadoop-2.7.7/share/hadoop/hdfs:/usr/local/hadoop-2.7.7/share/hadoop/hdfs/lib/*:/usr/local/hadoop2.7.7/share/hadoop/hdfs/*:/usr/local/hadoop-2.7.7/share/hadoop/mapreduce/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/mapreduce/*:/usr/local/hadoop-2.7.7/share/hadoop/yarn:/usr/local/hadoop-2.7.7/share/hadoop/yarn/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/yarn/*
       

       

(7)修改yarn-env.sh

[root@master hadoop]#vi yarn-env.sh

修改如下内容:

# some Java parameters
export JAVA_HOME=/opt/jdk1.8.0_131

(8)修改workers

[root@master hadoop]#vi workers

删除原有 localhost,添加:

master

slave1

slave2

(9)修改slaves

[root@master hadoop]#vi slaves

删除原有 localhost,添加:

slave1

slave2

3.拷贝 hadoop 安装文件到集群 slave1、slave2 节点

[root@master hadoop]#scp -r /usr/local/hadoop-2.7.7 root@slave1:/usr/local
[root@master hadoop]#scp -r /usr/local/hadoop-2.7.7 root@slave2:/usr/local

4.在master、slave1、slave2分别修改配置文件并生效

[root@master ~]#vi /etc/profile        //添加 Hadoop 路径              

添加以下内容:

export HADOOP_HOME=/usr/local/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin

[root@master ~]#source /etc/profile      //配置生效

slave1、slave2 节点操作同上。

5.master节点上格式化 NameNode

[root@master ~]#cd /usr/local/hadoop-2.7.7/bin

[root@master ~]#./hdfs namenode -format

注:hadoop 集群只需要格式化一次即可,后续启动无需格式化。

6.master主节点启动Hadoop

[root@master ~]#cd /usr/local/hadoop-2.7.7sbin

[root@master ~]#./start-dfs.sh

[root@master ~]#./start-yarn.sh

[root@master ~]#./mr-jobhistory-daemon.sh start historyserver

7.使用 jps,查看进程

 

8.slave1、slave2子节点没有datanode进程

 此时须重启子节点,进入子节点对应的sbin目录,执行:

[root@slave1 ~]#cd /usr/local/hadoop-2.7.7/sbin

[root@slave1 sbin]#hadoop-daemon.sh start datanode

[root@slave1 sbin]#hadoop-daemon.sh start tasktracker(该命令可能会失效,所以失效的话就跳过该条命令)

使用jps查看进程已正常显示datanode进程。

9.在宿主机上添加映射

[root@localhost ~]#vi etchosts             //添加 IP 映射
添加如下内容:

192.168.128.130 master
192.168.128.131 slave1
192.168.128.132 slave2

10.在宿主机上用浏览器查看

查看HDFS的NameNode:http://master:50070


 

查看YARN的ResourceManager:http://master:8088

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号