CentOS7下搭建Hadoop2.7.3集群

介绍

安装并配置Hadoop集群


CentOS7下搭建Hadoop2.7.3集群_第1张图片
集群

修改hosts信息

# vi /etc/hosts

# Hadoop Cluster
172.16.252.128 master
172.16.252.129 slave01
172.16.252.130 slave02

环境依赖

  1. 安装ssh
    yum install -y ssh
  2. 安装rsync
    yum install -y rsync
  3. 安装jdk
    选择安装1.6及以上版本,我才用rpm方式安装,在官网下载 Java SE Development Kit 7u79
    如果存在需要卸载旧版本
    # rpm -qa | grep java
    将显示的旧版本全部删除
    # rpm -e --nodeps jdk-X-Y-Z..
    转到jdk-7u79-linux-x64.rpm下载目录并安装
    # rpm -ivh jdk-7u79-linux-x64.rpm
    查看版本信息
    # java -version
    配置环境变量
    # vi /etc/profile
    添加内容

# Java Env
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

#Hadoop Env
export HADOOP_HOME=/data/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Done!

  1. 配置ssh免密码登陆
    选择一台主节点机器生成公钥并存放到~/.ssh/authorized_keys中,所有含此证书信息的机器都可以被主节点机器免密码ssh访问。
    我本地是使用172.16.252.128作为主节点机器,172.16.252.129和172.16.252.130作为子节点。
$ cd ~        #进入用户目录
$ ssh-keygen -t rsa -P ""   
#这是生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用""空字符串表示无密码。
#回车后,会提示三次输入信息,我们直接回车即可。这样就在~/.ssh目录下生成了几个东西
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys #这个命令将id_rsa.pub的内容追加到了authorized_keys的内容后面

调试:

# ssh localhost

如不需要输入密码说明生成公钥成功。
对子节点服务器:
/.ssh目录中的id_rsa.pub这个文件拷贝到需要登录的服务器的/.ssh目录中,然后再运行以下命令来将公钥导入
到~/.ssh/authorized_keys这个文件中

# scp [email protected]:/root/.ssh/id_rsa.pub ~/.ssh/
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置目录权限

$ chmod 755 ~
#~/权限设置为755
$ chmod 700 ~/.ssh/
#~/.ssh权限设置为700
$ chmod 600 ~/.ssh/authorized_keys
#~/.ssh/authorized_keys的权限设置为600

在主节点上ssh登陆无需密码即表示成功
ssh 172.16.252.130

安装配置Hadoop

下载安装

在官网选择了一个稳定且焦心的版本(2.7.3)安装,下载二进制文件。
传到安装目录并解压安装
# tar -zxvf hadoop-2.7.3.tar.gz

配置

采用三台机器作为配置Hadoop集群

进入安装目录
# cd hadoop-2.7.3

  1. 配置jdk安装信息,将JAVA_HOME修改为你的jdk安装目录
# vi etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79
  1. 配置输出信息(仅master配置,非必要)
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'
$ cat output/*
  1. 配置HDFS文件基本信息
# mkdir tmp
# vi etc/hadoop/core-site.xml


  
      fs.defaultFS
      hdfs://master:9000
  
  
      hadoop.tmp.dir
      /data/hadoop-2.7.3/tmp
  

# vi etc/hadoop/hdfs-site.xml


  
      dfs.replication
      3
  

#数据有3个副本
# vi etc/hadoop/mapred-site.xml.template
#2.6以前的版本是mapred-site.xml文件


  
      mapreduce.framework.name
      yarn
  

# vi etc/hadoop/yarn-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79
# vi etc/hadoop/yarn-site.xml



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

# vi etc/hadoop/slaves

master
slave01
slave02
  1. 格式化主节点并启动dfs
# bin/hdfs namenode -format
# sbin/start-dfs.sh

在外部(同一局域网或公网)浏览器下访问可以看到相关信息
http://localhost:50070/

CentOS7下搭建Hadoop2.7.3集群_第2张图片
主机信息
CentOS7下搭建Hadoop2.7.3集群_第3张图片
数据节点情况
  1. 启动 ResourceManagerNodeManager
# sbin/start-yarn.sh
CentOS7下搭建Hadoop2.7.3集群_第4张图片
集群节点情况

参考

CentOS-6.3安装配置JDK-7

Hadoop: Setting up a Single Node Cluster.

Hadoop 2.6.4分布式集群环境搭建

你可能感兴趣的:(CentOS7下搭建Hadoop2.7.3集群)