zoukankan      html  css  js  c++  java
  • CentOS7搭建Hadoop 2.X和Hbase2.x伪分布式环境

    实验环境

    • CentOs7
    • JDK8
    • Hadoop-2.10.0
    • Hbase-2.2.4

    1.安装JDK

    JDK下载官网

    这里下载选择JDK8 RPM长期支持版本

    这里提供个安装包,有需要的小伙伴自行下载:链接 密码:by4l

    安装:

    rpm -ivh jdk-8u241-linux-x64.rpm
    

    配置环境变量

    打开配置文件:

    vim /etc/profile
    

    在末尾添加以下内容:

    # JDK配置
    export JAVA_HOME=/usr/java/default
    export PATH=$PATH:$JAVA_HOME/bin:$PATH
    

    保存退出,让配置重新加载:

    source /etc/profile
    

    2. 下载Hadoop和Hbase

    去到Hadoop官方下载地址

    到中国站点下载比较快


    进入 /opt 目录

    同样方法去到Hbase下载地址

    里用wget命令下载:

    wget https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
    
    wget https://mirror.bit.edu.cn/apache/hbase/2.2.4/hbase-2.2.4-bin.tar.gz
    

    解压:

    tar -zxf hadoop-2.10.0.tar.gz
    

    添加软链接:

    ln -s hadoop-2.10.0 hadoop
    

    hadoop环境配置:

    vim /etc/profile
    

    末尾添加:

    # hadoop
    export HADOOP_HOME=/opt/hadoop
    export PATH=$HADOOP_HOME/bin:$PATH
    

    使配置文件生效:

    source /etc/profile                             
    

    测试:

    3.配置Hadoop

    修改hadoop配置文件

    修改 /opt/hadoop/etc/hadoop/ 下面的hadoop配置文件 hadoop-env.sh 、hdfs-site.xml 、 core-site.xml 这三个文件

    1 . hadoop-env.sh

    将文件中的

    export JAVA_HOME=${JAVA_HOME}
    

    改为绝对路径:

    export JAVA_HOME=/usr/java/default
    

    2 . hdfs-site.xml

    补充最后的属性:

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

    3 . core-site.xml
    补充最后的属性:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
    </configuration>
    

    启动Hadoop

    cd /opt/hadoop/bin   //切换到Hadoop安装目录下的bin目录
    hdfs namenode -format       //第一次启动Hadoop,要格式化namenode,之后再启动就不需要再格式化了
    cd /opt/hadoop/sbin   //切换到Hadoop安装目录下的sbin目录
    ./start-dfs.sh              //启动Hadoop
    jps                         //查看已经开启的进程,看namenode,datanode是否开启
    

    在centos系统的浏览器中输入 http://localhost:50070 查看运行在本机上的hadoop的运行状态

    4.配置YARN

    修改 /opt/hadoop/etc/hadoop 目录下的YARN配置文件

    cp mapred-site.xml.template mapred-site.xml             //复制YARN配置文件模板
    

    1 . mapred-site.xml
    在最后修改:

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    2 . yarn-site.xml
    在最后修改:

    <configuration>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
      		<value>mapreduce_shuffle</value>
     	</property>
     	<property>
      		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
     	</property>
    </configuration>
    

    运行YARN,验证是否成功

    cd /opt/hadoop/sbin
    ./start-yarn.sh                 //开启YARN
    jps
    

    在浏览器中输入 http://localhost:8088 查看YARN管理的集群状态


    5.免密登录配置

    5.1 首先生成密钥对:

    ssh-keygen -t rsa
    

    一路回车即可
    一路回车之后就会生成一个目录:/root/.ssh 因为我是root用户所以在root目录下

    5.2 进入到ssh 目录下,执行下面这条命令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost
    

    6.配置开机自启

    6.1 进入/etc/rc.d/init.d目录

    cd /etc/rc.d/init.d
    

    6.2 新建文件hadoop

    touch hadoop
    

    6.3 添加以下内容,只在master配置即可

    #!/bin/bash
    #chkconfig:2345 20 90
    #description:hadoop
    #processname:hadoop
    export JAVA_HOME=/usr/java/default
    case $1 in
    	start) su root /opt/hadoop/sbin/start-all.sh;;
        stop) su root /opt/hadoop/sbin/stop-all.sh;;
        *) echo "require start|stop" ;;
    esac
    

    6.4 给文件设置权限

    chmod +x hadoop
    

    6.5 加入开机自启列表

    chkconfig --add hadoop
    

    6.6 查看列表

    chkconfig --list
    

    4.配置Hbase

    1.解压:

    tar -zxf hbase-2.2.4-bin.tar.gz
    

    2.添加软连接:

    ln -s hbase-2.2.4-bin.tar.gz hbase
    

    3.配置环境变量

    打开配置文件:

    vim /etc/profile
    

    在末尾添加以下内容:

    # hbase环境配置
    export HBASE_HOME=/opt/hbase
    export PATH=$PATH:$HBASE_HOME/bin:$PATH
    

    保存退出,让配置重新加载:

    source /etc/profile
    

    4.修改hbase-env.sh文件(这里使用hbase自带的zookeeper,也可使用单独的zookeeper)

    vim /opt/hbase/conf/hbase-env.sh
    
    #指定java_home
    export JAVA_HOME=/usr/java/default
    
    #可使用hbase自带的zookeeper
    export HBASE_MANAGES_ZK=true
    

    5.修改conf/hbase-site.xml

    vim /opt/hbase/conf/hbase-site.xml
    
    <configuration>
    	<!-- 指定hbase在hdfs中的地址 -->
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://localhost:9000/hbase</value>
        </property>
        <!-- 指定hbase是分布式的 -->
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <!-- 指定bhase的master地址 -->
        <property>
            <name>hbase.master.port</name>
            <value>60000</value>
        </property>
        <!-- 指定hbase的web端口 -->
        <property>
            <name>hbase.master.info.port</name>
            <value>60010</value>
        </property>
    
        <!-- 指定zookeeper地址 -->
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>localhost</value>
        </property>
        <!--指定zookeeper端口-->
        <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2182</value>
        </property>
        <!--zookeeper超时时间-->
        <property>
            <name>zookeeper.session.timeout</name>
            <value>60000</value>
        </property>
        <!--zookeeper中bhase路径-->
        <property>
            <name>zookeeper.znode.parent</name>
            <value>/hbase</value>
        </property>
    </configuration>
    

    6.启动Hbase

    /opt/bin/start-hbase.sh  
    

    至此,hbase安装完成

    7.查看进程

    命令行输入jps,可看到进程:

    HMaster
    HRegionServer
    HQuorumPeer
    

    8.浏览器访问:

    在浏览器输入 http://localhost:60010 即可

    9.hbase shell启动

    bin/hbase shell
    
  • 相关阅读:
    为什么你需要升级 pip
    将py文件封装为exe
    Kafka原理分析之基础篇
    顶象验证码破解与研究
    优秀学员学习总结分享(三)
    优秀学员学习总结分享(二)
    ES6数组的扩展--Array.from()和Array.of()
    ES6核心特性
    优秀学员学习总结分享(一)
    JavaScript常见的六种继承方式
  • 原文地址:https://www.cnblogs.com/MessiXiaoMo3334/p/12642876.html
Copyright © 2011-2022 走看看