热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hadoop完全分布式搭建

原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave

原文链接:hadoop完全分布式搭建

目录
  • 1.关闭防火墙 selinux (都要执行)
    • 1.1关闭防火墙
    • 1.2 关闭selinux
      • 1.2.1 临时关闭
      • 1.2.2永久关闭
  • 2. 添加IP与主机名的映射关系 ( 都要修改 )
    • 2.1. 修改主机名(都要修改)
  • 3.设置免密登录
    • 3.1方法一
    • 3.2方法二
  • 4.安装java环境 + 解压hadoop压缩包
    • 上传gz包,解压
  • 5.修改配置文件
    • 5.1 slaves 文件
    • 5.2 core-site.xml 文件
    • 5.3 hdfs-site.xml文件
    • 5.4 mapred-site.xml 文件
    • 5.5 yarn-site.xml文件
    • 5.6 hadoop-env.sh 文件
  • 6.设置环境变量
  • 7.另外两台环境
    • 7.1创建文件夹(另外两台)
    • 7.2发送文件给其他结点
    • 7.3刷新另外两台的环境
    • 7.4格式化namenode
    • 7.5启动HDFS
    • 7.6启动Yarn
    • 7.7jps结果
  • 8.操作
    • 8.1.使用CRT把本地计算机中的 email_log.txt ,上传到centos中
    • 8.2.创建文件夹,上传。
    • 8.3.计算文件email_log.txt 文件中每个数据出现的次数,保存到 /user/output 下。
    • 8.4.修改文件名字为 学号+姓名。


主机分配以及地址要求:

角色 主机名 IP地址
Namenode master 192.168.222.201
Datanode slave1 192.168.222.202
datanode slave2 192.168.222.203

要求:

  • 正确完成搭建
  • 将数据文件email_log.txt 传至HDFS系统的“/users”中
  • 计算文件email_log.txt 文件中每个数据出现的次数,将最终结果文件重命名为“学号+姓名”

1.关闭防火墙 selinux (都要执行)

1.1关闭防火墙

执行关闭命令: systemctl stop firewalld.service
执行开机禁用防火墙自启命令 : systemctl disable firewalld.service

1.2 关闭selinux

1.2.1 临时关闭

setenforce 0 :用于关闭selinux防火墙,但重启后失效。

setenforce 0
1.2.2永久关闭

修改selinux的配置文件,重启后生效。

打开 selinux 配置文件

vi /etc/selinux/config

修改 selinux 配置文件

将SELINUX=enforcing改为SELINUX=disabled,保存后退出

2. 添加IP与主机名的映射关系 ( 都要修改 )

2.1. 修改主机名(都要修改)

设定主机名与网卡启动、网关配置

vi /etc/sysconfig/network
[root@host1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master

需要注意的是Hadoop的集群中的主机名不能有_ (下划线)。如果存在_会导致Hadoop集群无法找到这群主机,从而无法启动!

经过上面的修改,主机名称不会马上改变,必须重启才能生效。

[root@master hadoop]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain
192.168.222.201 master
192.168.222.202 slave1
192.168.222.203 slave2

改完主节点之后,可以将hosts文件直接传到其他两个节点。

scp /etc/hosts 192.168.222.202:/etc/hosts
scp /etc/hosts 192.168.222.203:/etc/hosts

3.设置免密登录

让Master能够通过SSH无密码登录各个Slave节点

如果修改过主机名,需要重新生成的新的公钥。

3.1方法一

rm -r ~/.ssh
ssh-keygen -t rsa
ssh-copy-id localhost
ssh-copy-id slave1
ssh-copy-id slave2

3.2方法二

在master上执行如下命令:

 cd ~/.ssh       # 如果没有该目录,先执行一次ssh localhost
 rm ./id_rsa*      # 删除之前生成的公匙(如果已经存在)
 ssh-keygen -t rsa    # 执行该命令后,遇到提示信息,一直按回车就可以
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

接着将master中的id_rsa.pub文件复制到各个Slave节点中

 scp ~/.ssh/id_rsa.pub slave01:/root
 scp ~/.ssh/id_rsa.pub slave02:/root

在各个slave节点中执行如下命令:

 mkdir ~/.ssh    # 如果不存在该文件夹需先创建
 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
 rm ~/id_rsa.pub  # 用完以后就可以删掉

在master中验证是否可以无密码登录,各个Slave节点。

ssh Slave01 #如果成功登录,则配置完成
ssh Slave02 #如果成功登录,则配置完成

4.安装java环境 + 解压hadoop压缩包

上传gz包,解压

mkdir -p /simple/soft
cd /simple
tar -zxvf /simple/soft/jdk-7u79-linux-x64.tar.gz
tar -zxvf /simple/soft/hadoop-2.4.1.tar.gz

5.修改配置文件

cd /simple/hadoop-2.4.1/etc/hadoop 

5.1 slaves 文件

将文件中原来的 localhost 删除,添加内容:

vi slaves
slave1
slave2

5.2 core-site.xml 文件

内容修改为:


    
    
        fs.defaultFS
        hdfs://master:9000
    

     
    
        hadoop.tmp.dir
        /simple/hadoop-2.4.1/tmp
        Abase for other temporary directories.
    

5.3 hdfs-site.xml文件

Hadoop的分布式文件系统HDFS一般采用冗余存储,一份文件通常保存3份副本,所以dfs.replication的值还是设置为3。 具体内容如下:


    
        
        dfs.namenode.secondary.http-address
        master:50090
    
    
        dfs.replication
        3
    
    
        dfs.namenode.name.dir
        /simple/hadoop-2.4.1/tmp/dfs/name
    
    
        dfs.datanode.data.dir
        /simple/hadoop-2.4.1/tmp/dfs/data
    

5.4 mapred-site.xml 文件

修改内容如下:


    
        mapreduce.framework.name
        yarn
    
    
        mapreduce.jobhistory.address
        master:10020
    
    
        mapreduce.jobhistory.webapp.address
        master:19888
    

5.5 yarn-site.xml文件

内容如下:


    
        yarn.resourcemanager.hostname
        master
    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

5.6 hadoop-env.sh 文件

修改如下内容:

export JAVA_HOME=/simple/jdk1.7.0_79

# 可以不用
export HADOOP_HOME=/simple/hadoop-2.4.1/

6.设置环境变量

添加Hadoop、java的环境变量

vi /etc/profile
JAVA_HOME=/simple/jdk1.7.0_79
HADOOP_HOME=/simple/hadoop-2.4.1
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 

刷新环境配置:

source /etc/profile

java环境变量配置完成,测试环境变量是否生效。

echo $JAVA_HOME
java -version 

7.另外两台环境

7.1创建文件夹(另外两台)

mkdir /simple/

7.2发送文件给其他结点

   scp -r hadoop-2.4.1/ slave1:/simple
   scp -r hadoop-2.4.1/ slave2:/simple
   scp -r jdk1.7.0_79/ slave2:/simple
   scp -r jdk1.7.0_79/ slave1:/simple
   scp /etc/profile slave1:/etc/profile
   scp /etc/profile slave2:/etc/profile

7.3刷新另外两台的环境

source /etc/profile

7.4格式化namenode

hadoop namenode -format

7.5启动HDFS

start-dfs.sh

7.6启动Yarn

start-yarn.sh

7.7jps结果

master
2129 SecondaryNameNode
2530 Jps
1948 NameNode
2285 ResourceManager

slave1
1744 NodeManager
1841 Jps
1634 DataNode

slave2
1705 NodeManager
1803 Jps
1598 DataNode

打开浏览器输入 192.168.222.201:50070 与 192.168.222.201:8088 打开web验证页面。



8.操作

8.1.使用CRT把本地计算机中的 email_log.txt ,上传到centos中

8.2.创建文件夹,上传。

hdfs dfs -mkdir /users 
hdfs dfs -put /simple/email_log.txt /users 

8.3.计算文件email_log.txt 文件中每个数据出现的次数,保存到 /user/output 下。

hadoop jar /simple/hadoop-2.4.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /users/email_log.txt /user/output
 hadoop fs -cat /user/output/part-r-00000 (查看文件内容,文件很长,可以按 CTRL+C 停止)

8.4.修改文件名字为 学号+姓名。

hdfs dfs mv /user/output/part-r-00000 /user/output/18305105+×××
hdfs dfs -ls /user/output (查看文件夹下文件)

打开网页端,可以查看文件,点击Download下载统计后的文件,如果无法使用slave打开从节点,可以在本地物理机hosts中添加(因为无法解析):

192.168.222.202 slave1

192.168.222.203 slave2

原文链接:hadoop完全分布式搭建


推荐阅读
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 开发笔记:Linux学习笔记4CentOS7中redis3.2.9安装教程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux学习笔记4-CentOS7中redis3.2.9安装教程相关的知识,希望对你有一定的参考价值。 ... [详细]
  • centos卸载不必要的程序_在 Linux 中移除从源代码安装的程序的一种简单的方法...
    不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从 ... [详细]
  • 102安装Linux系统
    安装Linux系统 安装CentOS系统准备系统光盘插入CentOS7光盘,引导安装程序设置主机,将光盘作为第一-引导设备从CentOS7光盘启动主机检测安装光盘的完整性从ISO镜 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • gzip html php,Apache启用Gzip压缩的方法,压缩css、js、html等文件
    1、开启模块并添加配置项目a、linux服务器vietchttpdconfhttpd.conf本地服务器找到apacheconf文件夹下面httpd.confb、查找LoadMod ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
author-avatar
灸灵侯嗒黍_147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有