zoukankan      html  css  js  c++  java
  • CentOS7.0+Hadoop2.7.2+Hbase1.2.1搭建教程

    1、软件版本

      CentOS-7.0-1406-x86_64-DVD.iso

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

      hadoop-2.7.2.tar.gz

      hbase-1.2.1-bin.tar.gz


    2、集群配置

      主机:Master.Hadoop      IP地址:192.168.1.100
      主机:Slave1.Hadoop      IP地址:192.168.1.101
      主机:Slave2.Hadoop      IP地址:192.168.1.102

      用户设置:系统用了GUI,新版非得建立一个账户。例如随便建一个jfz,密码1,但操作时使用root(密码root)直接进行,装好后重启,以后用SSH进root。


    3、配置本地hosts

      输入指令:

    nano /etc/hosts
      将以下数据复制进入各个主机中:

    192.168.1.100  Master.Hadoop
    192.168.1.101  Slave1.Hadoop
    192.168.1.102  Slave2.Hadoop
      使用以下指令在Master主机中进行测试,可使用类似指令在Slave主机测试:

    ping Master.Hadoop
    ping Slave1.Hadoop
    ping Slave2.Hadoop

    4、关闭防火墙

      三台机器均关闭防火墙。

      停止firewall:

    systemctl stop firewalld.service
      禁止firewall开机启动:

    systemctl disable firewalld.service

    5、Java安装

    (1)卸载自带的OpenJDK v1.7:

    java -version
    yum remove java-1.7.0-openjdk
      重启。

    (2) JDK安装:

      在/usr下创建java文件夹,将jdk-7u80-linux-x64.tar.gz文件放到这个文件夹中。

      使用以下指令进行解压

    tar zxvf jdk-7u80-linux-x64.tar.gz
      解压后可以删除掉gz文件

    rm jdk-7u80-linux-x64.tar.gz
      配置JDK环境变量:

    nano /etc/profile
      添加Java环境变量,将以下数据复制到文件底部:

    export JAVA_HOME=/usr/java/jdk1.7.0_80
    export JRE_HOME=/usr/java/jdk1.7.0_80/jre
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
      重载使配置生效:

    source /etc/profile
      验证安装成功:

    java -version

      如果出现对应版本信息,则配置成功:java version "1.7.0_80"


    6、SSH免密码登录

      因为Hadoop需要通过SSH登录到各个节点进行操作,本集群用的是root用户,每台服务器都生成公钥,再合并到authorized_keys。

    (1)修改sshd_config配置

      CentOS默认没有启动SSH无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置。

    nano /etc/ssh/sshd_config
    RSAAuthentication yes
    PubkeyAuthentication yes

    (2)生成key

      输入命令:

    ssh-keygen -t rsa
      生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置。

    (3)合并key

      合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并。

    cat id_rsa.pub>> authorized_keys
    ssh root@192.168.1.101 cat ~/.ssh/id_rsa.pub>> authorized_keys
    ssh root@192.168.1.102 cat ~/.ssh/id_rsa.pub>> authorized_keys

    (4)拷贝key

      把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录。

    scp authorized_keys known_hosts root@192.168.1.101:/root/.ssh
    scp authorized_keys known_hosts root@192.168.1.102:/root/.ssh

    (5)检证免密登陆

    ssh root@192.168.1.101
    ssh root@192.168.1.102

      以后就不需要输入密码了。


    7、Hadoop安装流程

    (1)下载hadoop安装包

      将下载“hadoop-2.7.2.tar.gz”文件上传至到/home/hadoop目录下。

      注意:一定要在Linux下解压,否则执行权限问题很麻烦。

    (2)解压压缩包

    tar -xzvf hadoop-2.7.2.tar.gz

    (3)在/home/hadoop目录下创建目录

      创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name

    mkdir -p tmp hdfs/name hdfs/data

    (4)配置core-site.xml

      指令:

    nano /home/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml
      内容:
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://192.168.1.100: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>
    </configuration>

    (5)配置hdfs-site.xml

      指令:

    nano /home/hadoop/hadoop-2.7.2/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</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>192.168.1.100:9001</value>
        </property>
        <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
        </property>
    </configuration>

    (6)配置mapred-site.xml

      指令:

    nano /home/hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml
      内容:
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.1.100:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.1.100:19888</value>
        </property>
    </configuration>

    (7)配置yarn-site.xml

      指令:

    nano /home/hadoop/hadoop-2.7.2/etc/hadoop/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>192.168.1.100:8032</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>192.168.1.100:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>192.168.1.100:8031</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>192.168.1.100:8033</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>192.168.1.100:8088</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>2048</value>
        </property>
    </configuration>
      注意:yarn.nodemanager.resource.memory-mb值要大于1024,否则影响进程!

    (8)配置hadoop-env.sh、yarn-env.sh的JAVA_HOME

      配置/home/hadoop/hadoop-2.7.2/etc/hadoop目录下:

      hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了。

    export JAVA_HOME=/usr/java/jdk1.7.0_80

    (9)配置slaves

    nano /home/hadoop/hadoop-2.7.2/etc/hadoop/slaves
      删除默认的localhost,增加2个从节点:
    192.168.1.101
    192.168.1.102

    (10)传送Hadoop至其它节点

      将配置好的Hadoop复制到各个节点对应位置上,通过scp传送:

    scp -r /home/hadoop 192.168.1.101:/home/
    scp -r /home/hadoop 192.168.1.102:/home/

    (11)启动Hadoop

      在Master服务器启动hadoop,从节点会自动启动。

      进入/home/hadoop/hadoop-2.7.2目录,初始化,输入命令:

    bin/hdfs namenode -format
      全部启动:
    sbin/start-all.sh
      也可以分开启动sbin/start-dfs.sh、sbin/start-yarn.sh。

      Hadoop环境变量配置,需要在/etc/profile 中添加HADOOP_HOME内容,之前已经配置过,所以这一步已经节省下来,那么可重启 source /etc/profile。

    (12)验证Hadoop

      jps运行成功结果:

    8、Hbase安装流程

    (1)复制安装包至Master节点/home/hbase目录下

      通过SFTP或是直接拷贝至Master节点,软件推荐在Linux下解压!

    (2)解压压缩包

    tar zxvf hbase-1.2.1-bin.tar.gz

    (3)添加到环境变量

      将hbase添加到环境变量/etc/profile中,配环境变量方便使用指令:

    nano /etc/profile
    内容:
    export HBASE_HOME=/home/hbase/hbase-1.2.1
    export PATH=$HBASE_HOME/bin:$PATH
    export HBASE_MANAGES_ZK=true 
    export HBASE_CLASSPATH=/home/hbase/hbase-1.2.1/conf

    (4)修改配置文件hbase-env.sh

    nano /home/hbase/hbase-1.2.1/conf/hbase-env.sh
    
      内容:
    export JAVA_HOME=/usr/java/jdk1.7.0_80

    (5)修改配置文件hbase-site.xml

    <configuration>
    	<property>
    		<name>hbase.rootdir</name>
    		<value>hdfs://192.168.1.100:9000/hbase</value>
    	</property>
    	<property>
    		<name>hbase.cluster.distributed</name>
    		<value>true</value>
    	</property>
    	<property>
    		<name>hbase.zookeeper.quorum</name>
    		<value>Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop</value>
    	</property>
    	<property>
    		<name>hbase.temp.dir</name>
    		<value>/home/hbase/hbase-1.2.1/tmp</value>
    	</property>
    	<property>
    		<name>hbase.zookeeper.property.dataDir</name>
    		<value>/home/hbase/hbase-1.2.1/tmp/zookeeper</value>
    	</property>
    	<property>
    		<name>hbase.master.info.port</name>
    		<value>60010</value>
    	</property>
    </configuration>

    (6)修改配置文件regionservers:

    nano regionservers
      将文件内容设置为:

    Master.Hadoop
    Slave1.Hadoop
    Slave2.Hadoop

    (7)Hbase复制到从节点

      差不多要成功了,别忘了最后一步!

    scp -r /home/hbase/hbase-1.2.1 root@192.168.1.101:/home/hbase/
    scp -r /home/hbase/hbase-1.2.1 root@192.168.1.102:/home/hbase/

    (8)验证Hbase

      1、用jps命令看进程对不对。


      2、测试Web访问

        http://Master.Hadoop:8088/

        http://Master.Hadoop:50070/

        http://Master.Hadoop:60010/

  • 相关阅读:
    time 模块学习
    day 14 自定义模块,常用模块 time .datetime ,time 模块
    day 13 课后作业
    day 12 课后作业
    day 11课后作业
    树状数组最值
    hdu 1059 Dividing bitset 多重背包
    XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship
    最长公共子序列板/滚动 N^2
    Uva 10635
  • 原文地址:https://www.cnblogs.com/sandeepin/p/12236526.html
Copyright © 2011-2022 走看看