zoukankan      html  css  js  c++  java
  • Centos7系统 Hadoop+HBase+Spark环境搭建

    必须前提条件JDK环境

    必须前提条件JDK环境

    必须前提条件JDK环境

    推荐通过yum源进行安装。好处就是自动搞定环境变量

    具体百度搜索

    下载Hadoop:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/  (3.2.0)

    下载HBase: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ (2.3.0)

    下载spark: https://spark.apache.org/downloads.html (3.0.0)

    更改主机名:
     命令: vi  /etc/hosts 

    192.168.0.117 自己的IP地址   master 名称可以自己随意取

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    开始正式配置我们的环境: 

    将下载好的三个包上传到服务器并使用 tar -xzvf  文件名带后缀  解压

    1. 编辑Hadoop的配置文件

    hadoop-env.sh 配置环境变量
    
    #自己的jdk所在路径
    
    export JAVA_HOME=/usr/local/jdk1.8.0_144

    配置 core-site.xml 配置公共属性

    <configuration>

    <!-- master 前面配置的主机名称 --> <property>      <name>fs.default.name</name>      <value>hdfs://master:9000</value>    </property>   <property>      <name>hadoop.tmp.dir</name>      <value>/home/hadoop/data/tmp</value>    </property>   </configuration>

    配置 hdfs-site.xml 配置HDFS

    <configuration>
    <property>
    
          <!--指定SecondaryNameNode位置-->
         <name>dfs.namenode.secondary.http-address</name>
         <value>master:9001</value>
    </property>
    <property>
         <name>dfs.replication</name>
         <value>1</value>
    </property>
    </configuration>

    配置 yarn-site.xml 配置YARN

    <configuration>
    
    <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
    </property>
    
    </configuration>

    配置 mapred-site.xml 配置MapReduce

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

    slaves 配置DataNode节点 

    vi  slaves
    
    master 

    开始配置HBase:

    编辑hbase-env.sh文件

    export JAVA_HOME=/usr/local/jdk1.8.0_144

    编辑hbase-site.xml

    <configuration>    
    <property>

    <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.master.maxclockskew</name> <value>180000</value> <description>Time difference of regionserver from master</description> </property> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.0.124</value> </property>
    <!-- 修改默认8080 端口--> <property> <name>hbase.rest.port</name> <value>8088</value> </property>

    <!-- 修改2181 默认端口--> <property> <name>hbase.zookeeper.property.clientPort</name> <value>9095</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase/data</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>

    编辑regionservers文件

    vi /opt/hbase/conf/regionservers
    
    master

    配置Hadoop和HBase的环境变量

     vi  /etc/profile
    
    #Hadoop Environment Setting
    export HADOOP_HOME=/opt/hadoop
    
    #HBase Environment Setting
    export HBASE_HOME=/opt/hbase
    
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

    ssh免密登录设置

    [root@master ~]#  ssh-keygen -t rsa
    
    一路回车

    你会看到 ~ 目录下多了一个.ssh文件

    [root@master ~]# ls -a
    .   anaconda-ks.cfg  .bash_logout   .bashrc  .oracle_jre_usage  .ssh
    ..  .bash_history    .bash_profile  .cshrc   .pki               .tcshrc
    
    [root@master .ssh]# ls
     id_rsa  id_rsa.pub
    
    [root@master .ssh]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    免密设置的目的是为了启动hadoop每次不用输入密码,也就是跳过输密码步骤,免得麻烦

    启动Hadoop(启动前先格式化)

    hdfs  namenode  -format 

    启动后的信息是放在/home/hadoop/data/tmp路径文件中,如果之后集群出问题需要格式化,那么需要先删除这个文件路径中的内容

    <property>  
       <name>hadoop.tmp.dir</name>  
       <value>/home/hadoop/data/tmp</value>   
    </property>  

    格式化后启动hadoop,配置了Hadoop的环境变量的,在全局都可以启动

    start-dfs.sh
    start-yarn.sh
    或
    start-all.sh (这个会和spark中的一样可以改名)

    查看启动服务:

    jps -l

    启动完成后通过ip:50070 可以查看web 页面

    启动hbase,配置了Hbase的环境变量的,在全局都可以启动

    start-hbase.sh

    启动成功访问 ip:16010 端口,HBase默认的Web UI端口

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    开始配置spark

    修改spark-env.sh配置文件

    # 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
    [root@master opt]# cd spark/conf/
    [root@masterconf]# cp spark-env.sh.template spark-env.sh
    
    # 修改spark-env.sh配置文件,添加如下内容
    [root@master conf]# vim spark-env.sh
    
    # 配置JAVA_HOME,一般来说,不配置也可以,但是可能会出现问题,还是配上吧
    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    # 一般来说,spark任务有很大可能性需要去HDFS上读取文件,所以配置上
    # 如果说你的spark就读取本地文件,也不需要yarn管理,不用配
    export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
    
    # 设置Master的主机名
    export SPARK_MASTER_HOST=master
    # 提交Application的端口,默认就是这个,万一要改呢,改这里
    export SPARK_MASTER_PORT=7077
    # 每一个Worker最多可以使用的cpu core的个数,我虚拟机就一个...
    # 真实服务器如果有32个,你可以设置为32个
    export SPARK_WORKER_CORES=1
    # 每一个Worker最多可以使用的内存,我的虚拟机就2g
    # 真实服务器如果有128G,你可以设置为100G
    export SPARK_WORKER_MEMORY=2g
    #web UI端口默认8081
    SPARK_MASTER_WEBUI_PORT=8090

    修改slaves配置文件

    [root@master conf]# cp slaves.template slaves
    [root@master conf]# vim slaves
    
    # 里面的内容原来为localhost,改为master 
    master 
    
    # 伪分布式就一台机器,用localhost也可以
    # 但我们毕竟搭建的是伪分布式集群,注意,是集群
    # 改成master 心里可能更相信它是一个分布式集群

    配置SPARK_HOME环境变量

    vim /etc/profile
    
    export SPARK_HOME=/opt/spark-2.2.0
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
    
    source /etc/profile

    启动spark伪分布式集群

    注意:

    • 上一步配置了SPARK_HOME,所以在任意位置使用start-all.sh就可以启动spark集群
    • 但是,如果你也配置了HADOOP_HOME,在HADOOP_HOME/sbin目录下,也有start-all.sh和stop-all.sh这两个命令

    可以给spark 的start-all.sh 改名为start-spark-all.sh 然后全局

    start-spark-all.sh

    如果启动过程有问题或者启动之后一会服务挂了

    请确认hadoop 、HBase、Spark 所需要的端口没有被占用

    请确认hadoop 、HBase、Spark 所需要的端口没有被占用

    请确认hadoop 、HBase、Spark 所需要的端口没有被占用

     

    这里有个文章记录了一下几个坑点可以去看看是不是你偶到的 https://www.cnblogs.com/thousfeet/p/8618696.html

  • 相关阅读:
    详细的git入门级别,从安装到实战
    Linux安装maven超级详细步骤
    比较全的开源软件镜像地址
    区块链应用领域
    区块链来源比特币,区块链基础构造
    xpath定位总结--精简版
    python装饰器
    python六剑客
    Python断言方法:assert
    python3对excel读写openpyxl
  • 原文地址:https://www.cnblogs.com/Mr-lin66/p/13378248.html
Copyright © 2011-2022 走看看