hdfs、hive、sqoop、spark环境搭建

python安装参考

hadoop安装包
链接:https://pan.baidu.com/s/1DQl8yUcuY9fgjvw_VWSzFQ
提取码:6666

  • 下载jdk python hadoop hbase hvie 等放到 ~/software目录下 然后解压到 ~/app目录下

    tar -zxvf 压缩包名字 -C ~/app/
    
  • linux设置

    #关闭selinux模式
    setenforce 0
    vi /etc/selinux/config
    SELINUX=disabled
    
     #关闭防火墙
     systemctl stop firewalld
     systemctl disable firewalld
     
     # 禁用交换分区 swap
     swapon -a
     #修改交换分区为0
     vi /etc/fstab
    /dev/mapper/centos_centos--master-swap swap                    swap    defaults        0 0
    #查看交换分区使用情况
    free -h
    vi /etc/hosts
    #添加
    127.0.0.1 hadoop000
    

HDFS环境搭建

  • 配置环境变量

    vi ~/.bash_profile
    
    export JAVA_HOME=/root/app/jdk1.8.0_321
    export JRE_HOME=/root/app/jdk1.8.0_321/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    
    export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
    export PATH=$HADOOP_HOME/bin:$PATH
    
    #保存退出后
    source ~/.bash_profile
    
  • 进入到解压后的hadoop目录 修改配置文件

    • 配置文件作用

      • core-site.xml 指定hdfs的访问方式
      • hdfs-site.xml 指定namenode 和 datanode 的数据存储位置
      • mapred-site.xml 配置mapreduce
      • yarn-site.xml 配置yarn
    • 修改hadoop-env.sh

      cd /root/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
      vi hadoop-env.sh
      #找到下面内容添加
      # The java implementation to use.
      export JAVA_HOME=/root/app/jdk1.8.0_321
      
    • 单节点情况修改slaves

      vi slaves
      hadoop000
      
    • 修改 core-site.xml 在 节点中添加

      <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop000:8020</value>
      </property>
      
    • 修改hdfs-site.xml 在 configuration节点中添加

      <property>
          <name>dfs.namenode.name.dir</name>
          <value>/root/app/tmp/dfs/name</value>
      </property>
      <property>
          <name>dfs.datanode.data.dir</name>
          <value>/root/app/tmp/dfs/data</value>
      </property>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
      </property>
      
    • 修改 mapred-site.xml

    • 默认没有这个 从模板文件复制

      cp mapred-site.xml.template mapred-site.xml
      
    • ​在mapred-site.xml 的configuration 节点中添加

       <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
       </property>
      
    • 修改yarn-site.xml configuration 节点中添加

      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      
    • 来到hadoop的bin目录

          ./hadoop namenode -format (这个命令只运行一次)
      
    • 启动hdfs 进入到 sbin

      ./start-dfs.sh
      
    • 启动启动yarn 在sbin中

      ./start-yarn.sh
      

HBase 的安装

  • 配置伪分布式环境

    • 环境变量配置

      vi ~/.bash_profile
      export HBASE_HOME=/root/app/hbase-1.2.0-cdh5.7.0
      export PATH=$HBASE_HOME/bin:$PATH
      #保存退出后
      source ~/.bash_profile
      
    • 配置hbase-env.sh

      cd /root/app/hbase-1.2.0-cdh5.7.0/conf
      vi hbase-env.sh
      
      export JAVA_HOME=/root/app/jdk1.8.0_321
      #--如果你是使用hbase自带的zk就是true,如果使用自己的zk就是false
      export HBASE_MANAGES_ZK=false  
      
    • 配置hbase-site.xml

      <property>
          <name>hbase.rootdir</name>  --hbase持久保存的目录
          <value>hdfs://hadoop000:8020/opt/hbase</value>   
      </property>
      <property>
          <name>hbase.cluster.distributed</name>  --是否是分布式
          <value>false</value>
      </property>
       <property>     
         <name>hbase.zookeeper.property.clientPort</name>    --指定要连接zk的端口
             <value>2181</value>    
       </property>    
       <property>        
             <name>hbase.zookeeper.property.dataDir</name>   
         <value>/root/app/hbase/zkData</value>    
       </property>          
       <property>  
           <name>hbase.master.info.port</name>  
           <value>60010</value>  
       </property> 
      
    • 启动hbase(启动的hbase的时候要保证hadoop集群已经启动)

      cd /root/app/hbase-1.2.0-cdh5.7.0/bin
      ./start-hbase.sh
      hbase shell
      
    • 输入hbase shell(进入shell命令行)

Hive 安装部署

  • 进入到 解压后的hive目录 找到 conf目录, 修改配置文件

    cd /root/app/hive-1.1.0-cdh5.7.0/conf
    cp hive-env.sh.template hive-env.sh
    vi hive-env.sh
    

    在hive-env.sh中指定hadoop的路径

    HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
    
  • 配置环境变量

    vi ~/.bash_profile
    
    export HIVE_HOME=/root/app/hive-1.1.0-cdh5.7.0
    export PATH=$HIVE_HOME/bin:$PATH
    
    source ~/.bash_profile
    
  • 根据元数据存储的介质不同,分为下面两个版本,其中 derby 属于内嵌模式。实际生产环境中则使用 mysql 来进行元数据的存储。

    • 内置 derby 版:
      bin/hive 启动即可使用
      缺点:不同路径启动 hive,每一个 hive 拥有一套自己的元数据,无法共享

    • mysql 版: 需要建立好数据库hive

      • 上传 mysql驱动到 hive安装目录的lib目录下

        mysql-connector-java-5.*.jar

      • vi conf/hive-site.xml 配置 Mysql 元数据库信息(MySql安装见文档)

        <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
        <configuration>
        <!-- 插入以下代码 -->
            <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value><!-- 指定mysql用户名 -->
            </property>
            <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value><!-- 指定mysql密码 -->
            </property>
           <property>
                <name>javax.jdo.option.ConnectionURL</name>mysql
                <value>jdbc:mysql://127.0.0.1:3306/hive?useSSL=false</value>
            </property><!-- 指定mysql数据库地址 -->
            <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value><!-- 指定mysql驱动 -->
            </property>
                <!-- 到此结束代码 -->
          <property>
            <name>hive.exec.script.wrapper</name>
            <value/>
            <description/>
          </property>
        </configuration>
        
        

        启动

        cd /root/app/hive-1.1.0-cdh5.7.0/bin
        hive --service metastore &
        
        hive
        

Sqoop安装

  • 配置环境变量

    vi ~/.bash_profile
    
    export SQOOP_HOME=/root/app/sqoop-1.4.6-cdh5.7.0
    export PATH=$SQOOP_HOME/bin:$PATH
    
    source ~/.bash_profile
    
  • 到 $SQOOP_HOME/conf 目录下 配置sqoop_env.sh

    cp sqoop-env-template.sh sqoop-env.sh
    vi sqoop-env.sh
    #在sqoop_env.sh中
    export HADOOP_COMMON_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
    export HADOOP_MAPRED_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
    export HIVE_HOME=/root/app/hive-1.1.0-cdh5.7.0
    
  • 拷贝 mysql驱动到$SQOOP_HOME/lib目录下

     cp ~/software/mysql-connector-java-5.1.49.jar  ~/app/sqoop-1.4.6-cdh5.7.0/lib/
    
  • 测试sqoop环境

    sqoop-version
    

    看到如下输出 说明sqoop安装成功

    Sqoop 1.4.6-cdh5.7.0
    git commit id
    Compiled by jenkins on ******
    

spark的安装部署

cd /root/app/spark-2.4.7-bin-hadoop2.6/conf
cp slaves.template slaves
vi slaves
#localhost
hadoop000
  • 修改配置文件

    • spark-env.sh(需要将spark-env.sh.template重命名)

      • 配置java环境变量
        • export JAVA_HOME=java_home_path
      • 配置PYTHON环境
        • export PYSPARK_PYTHON=/xx/pythonx_home/bin/pythonx
      • 配置master的地址
        • export SPARK_MASTER_HOST=node-teach
      • 配置master的端口
      • export SPARK_MASTER_PORT=7077
      cp spark-env.sh.template spark-env.sh
      vi spark-env.sh
      
      export SPARK_HOME=/root/app/spark-2.4.7-bin-hadoop2.6
      export JAVA_HOME=/root/app/jdk1.8.0_321
      export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
      export YARN_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
      export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
      export YARN_CONF_DIR=$YARN_HOME/etc/hadoop
      
      export SPARK_MASTER_HOST=192.168.31.10
      export SPARK_MASTER_PORT=7077
      export SPARK_LIBRARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
      export SPARK_LOCAL_DIRS=/root/app/spark-2.4.7-bin-hadoop2.6/tmp
      export PYSPARK_PYTHON=/root/app/python36/bin/python3.6
      
  • 配置spark环境变量

    vi ~/.bash_profile
    
    export SPARK_HOME=/root/app/spark-2.4.7-bin-hadoop2.6
    export PATH=$SPARK_HOME/bin:$PATH
    
    source ~/.bash_profile
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值