热门标签 | 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>
 

推荐阅读
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社区 版权所有