文档章节

Centos6.9安装hadoop2.8集群模式(一)

贝森
 贝森
发布于 2017/07/09 01:56
字数 1729
阅读 37
收藏 0

    最近正好项目期,为了技术选型,初探了一下hadoop,为系统拆分为分布式架构做一些准备工作,废话不多说了,直接入主题。

一、安装前准备工作:

    我们要安装一套Hadoop,首先要规划好机器节点的管理工作,因本人笔记本内存不足的原因,所以此次示例以3台虚拟机为例,搭建Hadoop集群环境。

  •     具体机器节点配置如下:
IP 节点名称 备注
10.211.55.10 master 主节点,目标为了管理启动其他节点信息。
10.211.55.6 node2 节点2
10.211.55.7 node1 节点1
  •     Centos 6.x (64)系统一套。
  •     Hadoop 2.8 软件一套。http://hadoop.apache.org
  •     Oracle JDK 1.7 一套。请从oracle官网自行下载
  •     VM或parallels desktop虚拟机软件一套,视个人爱好,土豪请略过。

二、安装准备工作:

  1. 设置好VM与parallels desktop的网络环境。我用的是parallels desktop。用VM的朋友请自行略过此设置。parallels desktop可以使用共享网络。
  2. 设置好网络后,请自行安装Centos 系统,安装过程比较简单,此处跳过。
  3. 设置各节点的主机名,Centos 6需要修改的地方有两个,一个是/etc/hosts文件,一个是/etc/sysconfig/network。在修改hosts文件的时候请注意,在做内环网络的时候,请不要将主机名称设置上去。否则在搭建hadoop过程中,从节点是链接不上去的。所以说主从节点在配置的时候稍微注意一下。
  4. 使用yum update命令更新软件依赖包,重启机器后,使用hostname命令,查看各节点是否已经顺利变更为我们计划的主机名称。
  5. 因我们设置的是共享网络,所以parallels desktop会默认分配好IP地址,为了安装顺利,我们还是将各系统设置为静态IP。

    IPADDR="10.211.55.10"
    NETMASK="255.255.255.0"
    GATEWAY="10.211.55.1"
    ARPCHECK="no"

    如果gateway不太清楚是什么,可以使用netstat –rn查看一下结果。

  6. 设置好静态IP后,我们关闭防火墙,因为是示例,所以我们不做防火墙规则处理,并将其加入开机后停止启动项。

    chkconfig NetworkManager off

    chkconfig iptables off

  7. 卸载openjdk后安装java jdk

    export HADOOP_HOME=/usr/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    export HADOOP_COMMON_LIB_NAT

    使用命令:rpm -qa | grep java查看Openjdk安装包。

    使用命令rpm -e --nodeps  XXXXXXXX卸载安装包。

    将jdk1.7.tar.gz放到/user/java路径下,并配置/etc/profile环境变量。

    重新加载source /etc/profile使环境变量生效,检查java –version查看是否已经是Java JDK

  8. 将hadoop放到/user/目录下,解压缩hadoop-2.8.0.tar.gz包,并且将其重新命名为hadoop。在/etc/profile 中hadoop环境变量。

    export HADOOP_HOME=/usr/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export 

    HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
    export HADOOP_ROOT_LOGGER=DEBUG,console

    export HADOOP_ROOT_LOGGER=DEBUG,console只为了我们看日志的时候比较明细异常,此句话可以省略。

  9. 创建hadoop用户

    groupadd hadoop

    useradd -g hadoop hadoop

  10. 将hadoop用户升级为root权限用户。

    chmod u+w /etc/sudoers

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    hadoop  ALL=(ALL)       ALL

    也可以使用: echo "hadoop ALL=(ALL) ALL" >> /etc/sudoers

  11. 最后将/user/hadoop文件授权给hadoop用户使用
    chown –R hadoop:hadoop /user/hadoop
  12. 检查Linux动态库

    ll /lib64/libc.so.6

    centos 6.9动态库为libc-2.12.so,hadoop2.8需要libc-2.14.so,所以我们要讲内核升级一下,到http://ftp.gnu.org/gnu/glibc/下载   

    下载glibc-2.14.tar.bz2

    下载glibc-linuxthreads-2.5.tar.bz2

    将文件解压缩

    tar -jxvf /user/hadoop/software/glibc-2.14.tar.bz2

    tar -jxvf /user/hadoop/software/glibc-linuxthreads-2.5.tar.bz2

    export CFLAGS="-g -O2"

    在/user/hadoop/software中执行

    ./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

    make

    make install

    动态库安装时间比较长,安装后再次执行ll /lib64/libc.so.6查看显示是否为libc-2.14.so,如果没有安装libc-2.14.so则启动时会报错。

    以上12项在各节点安装后,准备工作创建完成,重启各节点,我们开始干活儿了。

三、开始搭建:

  1. 切换到hadoop用户。首先我们要创建hadoop使用目录。切换用户主目录。

    mkdir –p hdfs/{data/master,name} tmp (主节点)

    mkdir –p hdfs/{data/node1,name} tmp (从node1节点)

    mkdir –p hdfs/{data/node2,name} tmp (从node2节点)

    请注意,3个节点的目录不要一致,否则启动管理台后无法看到从节点。

    如果搭建过程中需要重新格式文件服务,请将以上目录删除后,重新创建再次格式化,否则从节点可能无法启动。

  2. 创建SSH免账号密码登录

    使用hadoop创建免ssh登录。

    ssh-keygen -t rsa  -P ''       一路回车

    cd .ssh

    cp id_rsa.pub authorized_keys

    chmod 600 authorized_keys

    不用使用最高权限,这样也不安全

    使用ssh-copy-id name@ip 将生成的登录信息放到2个子节点中去。

    ssh-copy-id hadoop@node1

    ssh-copy-id hadoop@node2

    验证master是否可以使用ssh免密码方式登录子节点

    ssh node1

    ssh node2

  3.  进入/user/hadoop/etc/hadoop目录,该目录主要是配置目录,其中包括主从节点配置,管理台配置等 hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/home/hadoop/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home/hadoop/hdfs/data/master</value> master、node1、node2根据各节点名称换路径
        </property>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>master:9001</value>
        </property>
        <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
        </property>
    </configuration>

    core-site.xml

    <configuration>
       <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/hadoop/tmp</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131702</value>
        </property>
        <property>
            <name>hadoop.proxyuser.hadoop.hosts</name>
            <value>*</value>
        </property>
        <property>
            <name>hadoop.proxyuser.hadoop.groups</name>
            <value>*</value>
        </property>
    </configuration>

     

    cp mapred-site.xml.template mapred-site.xml
    mapred-site.xml
    <configuration>
         <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>master:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>master:19888</value>
        </property>
    </configuration>
    yarn-site.xml
    <configuration>
       <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8100</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>master:8101</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master:8102</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>master:8103</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:8888</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>4096</value>
        </property>
    </configuration>
  4. 设置完毕,最后设置一下环境变量后,准备启动hadoop

    编辑hadoop-env.sh

    25 # export JAVA_HOME=${JAVA_HOME} 将25注释掉,反正我配置环境变量找不到JAVA_HOME添加

    export JAVA_HOME=/usr/java/jdk1.7

    编辑yarn-env.sh一样加上

    export JAVA_HOME=/usr/java/jdk1.7

  5. 设置2个节点 slaves
    master
    node1
    node2
  6. 将hadoop复制到各节点中去

    scp -r /user/hadoop hadoop@node1  /user

    scp -r /user/hadoop hadoop@node2 /user

    注意:别忘记更改hdfs-site.xml各节点的路径

    /home/hadoop/hdfs/data/node1

    /home/hadoop/hdfs/data/node2

  7. 启动前格式化磁盘格式

    hdfs namenode -format

    格式化日志中,发现Exiting with status 0 则为格式化成功,否则删除各节点的tmp,hdfs目录

  8. 启动程序

    进入/usr/hadoop/sbin目录

    启动程序./start-all.sh

四、检查与查看结果

  1. 进程检查

    ./bin/hdfs dfsadmin -report  

    或者使用命令jps

  2. 日志检查

    检查hadoop-hadoop-datanode-node2.log

    检查hadoop-hadoop-datanode-node1.log

  3. 节点查看
    查看http://10.211.55.10:50070/
  4. 管理端检查
    查看http://10.211.55.10:8888

     

 

© 著作权归作者所有

共有 人打赏支持
贝森
粉丝 0
博文 1
码字总数 1729
作品 0
LAMP原理架构解析(一):LAMP工作模式

LAMP原理架构解析 目录: 1.LAMP架构解析 2.LAMP中PHP 种工作模式 2.1 PHP模块化工作模式 2.2 PHP模块化+XCache工作模式 2.3 PHP的FPM工作模式 3.PHP工作模式及编译 3.1 PHP工作模式介绍 3....

心的哲学
07/02
0
0
大数据学习系列之一 ----- Hadoop环境搭建(单机)

  一、环境选择 1,服务器选择   阿里云服务器:入门型(按量付费)   操作系统:linux CentOS 6.8   Cpu:1核   内存:1G   硬盘:40G   ip:39.108.77.250      2,配置选择 ...

大数据头条
2017/12/11
0
0
大数据学习系列 Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

目录 引言 目录 一、环境选择 1,集群机器安装图 2,配置说明 3,下载地址 二、集群的相关配置 1,主机名更改以及主机和IP做相关映射 2,ssh免登录 3,防火墙关闭 4,时间配置 5,快捷键设置...

董黎明
09/21
0
0
大数据学习系列之五 ----- Hive整合HBase图文详解

  引言   在上一篇大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)和之前的大数据学习系列之二 ----- HBase环境搭建(单机)中成功搭建了Hive和HBase的环境,并进行了相应的测...

大数据头条
2017/12/19
0
0
大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集

引言 成功添加之后输入 然后输入设置的别名就可以执行你所设置的内容了。别名的设置不一定非要按照上面的,如果有更好方式就请使用 6,整体环境变量设置 在 /etc/profile 这个配置文件要添加...

虚无境
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
今天
4
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
5
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
158
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部