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

CentOS7.2下Hadoop2.7.2的集群搭建

1.基本环境:操作系统:Centos7.2.1511三台虚机:192.168.163.224master192.168.163.225node

1.基本环境:

操作系统:

    Centos 7.2.1511

三台虚机:

    192.168.163.224  master

    192.168.163.225  node1

    192.168.163.226  node2

软件包

    hadoop-2.7.2.tar.gz

    jdk-7u79-linux-x64.tar.gz

 

2.配置系统环境

配置ntp时间同步

    参考http://bigtrash.blog.51cto.com/8966424/1826481

 

修改hostname

    192.168.163.224主机: echo "master" /etc/hostname

 

    192.168.163.225主机:echo "node1" /etc/hostname

 

    192.168.163.226主机:echo "node2" /etc/hostname

 

master上修改hosts文件

echo "192.168.163.224 master" >>/etc/hosts

 echo "192.168.163.225 node1" >>/etc/hosts

 

 echo "192.168.163.225 node2" >>/etc/hosts

 

同步到node1,node2上的主机

 

 scp /etc/hosts node1:/etc/

 

 scp /etc/hosts node2:/etc/

 

各台主机上相互ping,测试是否可以通过host连通

 

 ping master

 

 ping node1

 

 ping node2

 

master,node1,node2上关闭防火墙

 

  systemctl stop firewalld

 

  systemctl disable firewalld

 

3.配置hadoop环境

master,node1,node2上安装jdk

rpm -qa|grep openjdk  #检查openjdk,存在则删除

yum remove *-openjdk-*   ####删除openjdk#####

 

安装sunjdk

#yum install glibc.i686(64位系统安装32位包,需要安装)

#tar -zxvf jdk-7u79-linux-x64.tar.gz

#mv ./jdk1.7.0_79 /usr/

 

master,node1,node2上创建hadoop用户

    useradd hadoop  #增加hadoop用户,用户组、home目录、终端使用默认

    passwd  hadoop  #修改密码

    建议在学习阶段将hadoop用户加入sudo权限管理,简单方法如下

        1.执行visudo命令

        2.在root    ALL=(ALL)       ALL 后加入

            hadoop    ALL=(ALL)       ALL

    master,node1,node2上进入hadoop用户:

    su - hadoop

 

master,node1,node2上无密钥连接:

    master上的hadoop用户通过rsa算法生成非对称密钥对:

 
  ssh-keygen -t rsa
  cd /home/hadoop/.ssh/
  cp id_rsa.pub  authorized_keys
  chmod go-wx  authorized_keys

 

 

master上的公钥authorized_keys拷贝到node1,node2上的hadoop用户

 

  scp authorized_keys node1:/home/hadoop/.ssh/

 

  scp authorized_keys node2:/home/hadoop/.ssh/

 

    可通过如下命令测试

        ssh node1

        ssh node2

    为方便node1,node2中hadoop用户可以同时登录master,这里我们集群中的所有用户共用一个密钥

 

 scp ~/.ssh/id_rsa node1:/home/hadoop/.ssh/

 

 scp ~/.ssh/id_rsa node2:/home/hadoop/.ssh/

  

master,node1,node2上修改环境变量

    vi /etc/profile

  JAVA_HOME=/usr/jdk1.7.0_79

 

  HADOOP_HOME=/usr/local/hadoop

 

  export PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

 

  su - hadoop  #重新读取环境变量

 

master,node1,node2上创建相关目录

 

  sudo mkdir -p /usr/local/hadoop

 

  sudo chown -R hadoop:hadoop  /usr/local/hadoop

 

  sudo mkdir -p /data/hadoop/   #创建 hadoop 数据目录结构

 

  sudo chown -R hadoop:hadoop  /data/hadoop/

 

  mkdir -p /data/hadoop/tmp/   #创建 tmp

 

  mkdir -p /data/hadoop/hdfs/   #创建hdfs

 

  mkdir -p /data/hadoop/hdfs/data  #创建datanode目录

 

  mkdir -p /data/hadoop/hdfs/name  #创建namenode目录

 

  mkdir -p /data/hadoop/hdfs/namesecondary

 

安装hadoop

 

  wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz 

 

  tar -zxvf hadoop-2.7.2.tar.gz 

 

  mv hadoop-2.7.2 /usr/local/hadoop

 

  chown -R hadoop:hadoop /usr/local/hadoop/

 

4.修改配置文件

配置文件相关变量详细解释可查看官网:

http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/

 

cd $HADOOP_HOME/etc/hadoop

 

4.1  vi hadoop-env.sh

 

export HADOOP_HEAPSIZE=128  #默认为1000M,这里我们修改为128M

 

4.2  vi core-site.xml  #全局配置

 
fs.defaultFS</name>
hdfs://master:9000</value>
</property>
 
dfs.namenode.checkpoint.period</name>
1800</value>
</property>
 
</property>
  fs.checkpoint.size</name>
  67108864</value>
</property>
 
fs.trash.interval</name>
1440</value>
</property>
 
hadoop.tmp.dir</name>
/data/hadoop/tmp</value>
</property>
 
io.file.buffer.size</name>
131702</value>
</property>
 
</configuration>

4.3 vi hdfs-site.xml  #hdfs中NameNode,DataNode局部配置

 
dfs.namenode.name.dir</name>
/data/hadoop/hdfs/name</value>
  </description>
</property>
 
dfs.datanode.data.dir</name>
/data/hadoop/hdfs/data</value>
 </description>
</property>
 
dfs.namenode.http-address</name>
master:50070</value>
</property>
 
dfs.namenode.secondary.http-address</name>
node1:50090</value>
</property>
 

推荐阅读
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 前期Linux环境准备1.修改Linux主机名2.修改IP3.修改主机名和IP的映射关系4.关闭防火墙5.ssh免登陆6.安装JDK,配置环境变量等集群规划主机 IP安装软件运行进 ... [详细]
  • 安装hadoop2.9.2jdk1.8centos7
    安装JDK1.8查看JDK1.8的安装https:www.cnblogs.comTJ21p13208514.html安装hadoop上传hadoop下载hadoop地址http:m ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 优化Oracle数据库日志功能的关闭方法与实践
    在优化Oracle数据库日志功能的过程中,关闭不必要的日志记录是一项重要任务。本文探讨了Oracle 11g中日志路径的配置和管理,特别是针对常用的警报日志(alert log)。通过合理配置 `alert_$ORACLE_SID.log` 文件,可以有效减少日志文件的大小和提高系统性能。此外,文章还介绍了如何通过调整参数和使用脚本自动化日志管理,进一步提升数据库的稳定性和维护效率。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 对于内存仅为512MB、硬盘80GB的老旧设备,部署Ubuntu Server毫无压力。然而,许多平台仅支持CentOS系统,而CentOS默认要求1GB以上内存才能使用图形界面安装。实际上,安装完成后,即使内存低至256MB也能正常运行。此外,通过优化系统配置和减少不必要的服务,可以进一步提升系统性能,确保在资源受限的环境中稳定运行。 ... [详细]
  • NanoPi2 使用体验深入解析(续篇)
    随着Raspberry Pi的问世,开源硬件领域迎来了前所未有的发展,激发了全球范围内的创新热潮。在中国,这一趋势同样催生了一系列类似的开发板,例如NanoPi 2。本文作为前篇的延续,将深入探讨NanoPi 2的实际使用体验,从性能、兼容性到应用场景,进行全面分析。 ... [详细]
  • Panabit应用层流量管理解决方案
    Panabit是一款国内领先的应用层流量管理解决方案,提供高度开放且免费的专业服务,尤其擅长P2P应用的精准识别与高效控制。截至2009年3月25日,该系统已实现对多种网络应用的全面支持,有效提升了网络资源的利用效率和安全性。 ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
黎明前后2502887455
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有