大数据集群(HA)安装 CDH版本

32 篇文章 1 订阅

1.下载组件(注意版本号要与其他的组件CDH版本一致) 有的需要翻墙下载

2.环境配置

  •  设置主机名和用户名

     vi  /etc/hostname :修改主机名    

     vi /etc/hosts :将主机名和ip绑定   172.16.0.81 netcloud01    172.16.0.82 netcloud02    172.16.0.83 netcloud03

    创建hadoop用户
        adduser hadoop    //新建hadoop用户
        passwd  hadoop    //设置密码

    为hadoop用户添加管理权限

        root        ALL=(ALL)       ALL
        hadoop  ALL=(ALL)       ALL

  • 配置SSH免密登录(集群的内网ip)

      ssh-keygen -t rsa :生成密钥对

      ssh-copy-id -i ~/.ssh/id_rsa.pub netcloud01 :将公钥互相拷贝其他几点,包括自己。

  • 配置JDK 

        vi /etc/profile 

        export JAVA_HOME=/opt/java
        export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin:$PATH
 

3.配置HADOOP
    1、新建用户hadoop,从root用户获取/opt文件夹的权限(软件安装到此目录下),所有节点都要执行
   
        1)创建hadoop用户
        adduser hadoop    //新建hadoop用户
        passwd  hadoop    //设置密码
        
        2)授权
        chown -R hadoop /opt
        
        3) 为hadoop用户添加管理权限
        visudo
        ## Next comes the main part: which users can run what software on
        ## which machines (the sudoers file can be shared between multiple
        ## systems).
        ## Syntax:
        ##
        ##      user    MACHINE=COMMANDS
        ##
        ## The COMMANDS section may have other options added to it.
        ##
        ## Allow root to run any commands anywhere
        root    ALL=(ALL)       ALL
        hadoop  ALL=(ALL)       ALL
    4)hadoop的安装路径不推荐安装在/home/hadoop目录下,推荐安装在/opt目录下,然后切换到hadoop用户,解压文件到/opt下,         并修改文件夹名称为hadoop
       
        修改hadoop文件夹的权限
        sudo chown -R hadoop:hadoop hadoop
        
    5)配置环境变量
      vi /etc/profile

        export JAVA_HOME=/opt/java
        export HADOOP_HOME=/opt/hadoop
        export ZK_HOME=/opt/zookeeper
        export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin:$PATH
        
    6) 修改配置文件(配置高可用的nameNode和ResourceManager)
      hadoop-env.sh (Hadoop运行环境变量设置)
      core-site.xml
      hdfs-site.xml
      yarn-site.xml
      mapred-site.xml
      slaves
 7) 首次启动/格式化集群
    1、启动 ZooKeeper 集群  命令:zkServer.sh start  三台机器都要执行
    2、格式化 ZooKeeper 集群 命令:hdfs zkfc –formatZK  在任意的 namenode 上都可以执行
    3、启动 JournalNode 集群 任意节点执行 命令:hadoop-daemons.sh start journalnode
    4、格式化集群的 NameNode 在netcloud01节点执行 命令: hdfs namenode -format
    5、启动刚格式化的 NameNode  命令: hadoop-daemon.sh start namenode
    6、同步 NameNode1 元数据到 NameNode2 上  在netcloud02节点执行命令:hdfs namenode -bootstrapStandby
    7、启动 NameNode2  hadoop-daemon.sh start namenode
    8、启动集群中所有的DataNode  netcloud01节点执行命令:hadoop-daemons.sh start datanode
8) 非首次启动
    启动zk ---> 启动hdfs-->启动yarn
    zkServer.sh start   start-dfs.sh  start-yarn.sh
   hadoop fs -ls 是空的 需要 创建一个目录  如 hadoop fs mkdir /user
   
可能碰到的问题:格式化namenode报错 或者datanode进程存在但是 界面不显示等问题 ,
需要删除 journalnode datanode namenode 在配置文件中指定的目录 然后重新格式化或者启动服务。

4、配置spark master节点是netcloud01

搭建链接:https://blog.csdn.net/yangshaojun1992/article/details/84170191

spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 /opt/spark/examples/jars/spark-examples_2.11-2.2.0.jar 100

监控界面:hdfs:netcloud01:50070

                 resourceManager:netcloud03:8088

                 sparkWebUI:netcloud01:18080

执行的任务可以在yarn上查看

hdfs各个配置文件情况

1)hadoop-env.sh

export JAVA_HOME=/opt/java

2)core-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>

<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
<discription>表示用户"hadoop"可以代理所有主机上的所有用户</discription>
</property>

<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
<discription>nameNode高可用的时候两个节点的tmp是同一份</discription>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
<discription>dfs权限是否打开, 建议设为false,否则可能存在数据因为权限问题访问不了的情况</discription>
</property>

<property>
<name>fs.trash.interval</name>
<value>1440</value>
<discription>这个是开启hdfs文件删除自动转移到垃圾箱的选项,值为垃圾箱文件清除时间,单位是分钟,默认:360</discription>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
<discription>指定hdfs的nameservice为ns1 这样就能代替主namenode的 ip:9000;使用HDFS API了</discription>
</property>

<property>
<name>ha.zookeeper.quorum</name>
<value>netcloud01:2181,netcloud02:2181,netcloud03:2181</value>
<discription>指定zookeeper地址</discription>
</property>

</configuration>

3)hdfs-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<configuration>
<property>
<name>dfs.name.dir</name>
<value>/opt/data/metadata</value>
<discription>指定元数据信息在本地磁盘的存储路径</discription>
</property>

<property>
<name>dfs.data.dir</name>
<value>/opt/data/datadir</value>
<discription>指定HDFS数据块的存储路径</discription>
</property>


<property>
<name>dfs.replication</name>
<value>3</value>
<discription>指定HDFS数据块的副本数量 默认是3</discription>
</property>

<property>
<name>dfs.nameservices</name>
<value>ns1</value>
<discription>指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致</discription>
</property>

<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
<discription>ns1下面有两个NameNode,分别是nn1,nn2</discription>
</property>

<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>netcloud01:9000</value>
<discription>nn1的RPC通信地址</discription>
</property>

<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>netcloud01:50070</value>
<discription>nn1的http通信地址</discription>
</property>

<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>netcloud02:9000</value>
<discription>nn2的RPC通信地址</discription>
</property>

<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>netcloud02:50070</value>
<discription>nn2的http通信地址</discription>
</property>

<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/data/journalnode</value>
<discription>指定JournalNode在本地磁盘存放数据的位置</discription>
</property>

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://netcloud01:8485;netcloud02:8485;netcloud03:8485/ns1</value>
<discription>指定NameNode的元数据在JournalNode上的存放位置 也就是说元数据信息存储在/data/journalnode/ns1下</discription>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
<discription>开启NameNode失败自动切换</discription>
</property>

<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
<discription>配置失败自动切换实现方式</discription>
</property>

<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
<discription>配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行</discription>
</property>

<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
<discription>使用sshfence隔离机制时需要ssh免登陆</discription>
</property>

<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
<discription>配置sshfence隔离机制超时时间</discription>
</property>

<property>
<name>dfs.support.append</name>
<value>true</value>
<discription>支持文件append 默认是false,主要是支持hbase hadoop2.X以后才支持这个功能</discription>
</property>

</configuration>

4)mapred-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<discription>指定mr框架为yarn方式 必须配置 下面的都是优化配置</discription>
</property>

<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
<discription>启动JVM虚拟机时,传递给虚拟机的启动参数,而默认值 -Xmx200m 表示这个 Java 程序可以使用的最大堆内存数,一旦超过这个大小,JVM 就会抛出 Out of Memory 异常,并终止进程。 选配调优</discription>
</property>

<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
<discription>设置的是 Container 的内存上限 这个参数由 NodeManager 读取并进行控制,当 Container 的内存大小超过了这个参数值,NodeManager 会负责 kill 掉 Container。 mapreduce.map.java.opts一定要小于mapreduce.map.memory.mb 选配调优</discription>
</property>

<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>

<property>
<name>mapreduce.reduce.shuffle.parallelcopies</name>
<value>50</value>
<discription>reuduce shuffle阶段并行传输数据的数量 集群大可以增大 选配调优</discription>
</property>

<property>
<name>mapreduce.task.io.sort.factor</name>
<value>100</value>
<discription>Reduce Task中合并小文件时,一次合并的文件数据,每次合并的时候选择最小的前10进行合并。默认值10 选配调优</discription>
</property>

<property>
<name>mapreduce.task.io.sort.mb</name>
<value>512</value>
<discription>Map Task缓冲区所占内存大小--默认值100</discription>
</property>

</configuration>

5)yarn-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

 <property>
    <name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name>
    <value>5000</value>
  </property>
 
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>yrc</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>netcloud03</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>netcloud02</value>
  </property>
    
  <property>
    <name>yarn.resourcemanager.scheduler.address.rm1</name>
    <value>netcloud03:8030</value>
  </property>


  <property>
    <name>yarn.resourcemanager.scheduler.address.rm2</name>
    <value>netcloud02:8030</value>
  </property>
   
  <property>
    <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
    <value>netcloud03:8031</value>
  </property>


  <property>
    <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
    <value>netcloud02:8031</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.address.rm1</name>
    <value>netcloud03:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address.rm2</name>
    <value>netcloud02:8032</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.admin.address.rm1</name>
    <value>netcloud03:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address.rm2</name>
    <value>netcloud02:8033</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.webapp.address.rm1</name>
    <value>netcloud03:8088</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address.rm2</name>
    <value>netcloud02:8088</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.recovery.enabled</name>
    <value>true</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.store.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  </property>
  
  <property>
  <name>yarn.resourcemanager.zk-address</name>
  <value>netcloud01:2181,netcloud02:2181,netcloud03:2181</value>
 </property>
  
  <property>
    <name>yarn.nodemanager.address</name>
    <value>0.0.0.0:8041</value>
    <discription>The address of the container manager in the NM.</discription>
  </property>
  
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>24576</value>
  </property>
  
  <property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>12</value>
  </property>

  <property>
    <name>yarn.scheduler.increment-allocation-mb</name>
    <value>512</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1024</value>
  </property>
  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>10240</value>
  </property>
  <property>
    <name>yarn.scheduler.increment-allocation-vcores</name>
    <value>1</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-vcores</name>
    <value>1</value>
  </property>
  <property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>12</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>3600</value>
  </property>

</configuration>

6) slaves

netcloud01
netcloud02
netcloud03

 spark配置文件参数详解

1、查看CPU信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

2、查看内存信息
1)、cat /proc/meminfo
2)、free 命令 free-g
             total       used       free     shared    buffers     cached
Mem:      65973912   32496232   33477680          0     906932    6452984
-/+ buffers/cache:   25136316   40837596
Swap:     41943032      13204   41929828

3、查看磁盘信息
1)fdisk -l
2)iostat -x 10    查看磁盘IO的性能
[root@xdpp02 bin]# iostat -x 10
Linux 2.6.32-358.el6.x86_64 (xdpp02)    11/30/2016      _x86_64_        (16 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.86    0.00    0.17    0.06    0.00   95.90
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.77    84.89    0.62    3.11    15.72   703.97   193.03     0.12   31.10   2.86   1.07
dm-0              0.00     0.00    0.15    0.22     2.93     1.78    12.75     0.00   12.42   3.77   0.14
dm-1              0.00     0.00    0.09    0.10     0.75     0.83     8.00     0.00   14.53   0.28   0.01
dm-2              0.00     0.00    0.00    0.57     0.03     4.52     8.00     0.01   22.24   4.84   0.28
dm-3              0.00     0.00    0.01    3.10     1.58    24.82     8.48     0.03   11.16   1.05   0.33
dm-4              0.00     0.00    0.03    0.00     0.27     0.00     8.00     0.00    0.52   0.10   0.00
dm-5              0.00     0.00    1.11   84.00    10.11   672.02     8.01     3.62   42.54   0.07   0.61

生成环境:

spark-env.sh配置文件

export JAVA_HOME=/opt/java

export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
export SPARK_HOME=/opt/spark-2.2.0
export SPARK_EXECUTOR_CORES=4
export SPARK_EXECUTOR_MEMORY=4G
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_CORES=12
export SPARK_WORKER_MEMORY=12g
export SPARK_DRIVER_MEMORY=6G

export SPARK_MASTER_WEBUI_PORT=18080
export SPARK_WORKER_WEBUI_PORT=18081
export SPARK_WORKER_DIR=/opt/spark-2.2.0/work
export SPARK_LOG_DIR=/opt/spark-2.2.0/logs
export SPARK_PID_DIR=/opt/spark-2.2.0/tmp1
export SPARK_MASTER_IP=master1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_PORT=7078

云主机测试版(netcloud01 2核4G 磁盘40G netcloud02 2核2G磁盘40G netcloud03 2核2G磁盘40G)

spark-env.sh

export JAVA_HOME=/opt/java
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
export SPARK_HOME=/opt/spark
export SPARK_MASTER_IP=netcloud01
export SPARK_MASTER_PORT=7077 
export SPARK_MASTER_WEBUI_PORT=18080
export SPARK_WORKER_WEBUI_PORT=18081
export SPARK_WORKER_PORT=7078
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=2g

export SPARK_EXECUTOR_CORES=2
export SPARK_EXECUTOR_MEMORY=2G
export SPARK_DRIVER_MEMORY=3G
export SPARK_WORKER_DIR=/opt/spark/work
export SPARK_LOG_DIR=/opt/spark/logs
export SPARK_PID_DIR=/opt/spark/tmp1

具体详解spark-env.sh 中的调优参数

CPU各核负载量很不均匀,内存也没有用满,系统的资源没有得到充分利用,该如何利用?

(1)Spark的RDD的partition个数创建task的个数是对应的;

(2)Partition的个数在hadoop的RDD中由block的个数决定的。

内存:系统总内存数 = 每个work内存大小 * work进程总数 = SPARK_WORKER_MEMORY * SPARK_WORKER_INSTANCES*work节点数目

CPU: 系统总的task数 = work进程总数 * 每个work所占的cores数 = SPARK_WORKER_INSTANCES * work节点数目*SPARK_WORKER_CORES

注:SPARK_WORKER_INSTANCES 表示一个work节点开启多少个work进程。

例子:Cpu(12core)  mem(48G)计算task并行度,内存分配情况,调优参数:
SPARK_WORKER_INSTANCES=12
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=4G​
如果没有在spark-env.sh配置文件中配置以上参数,那么Spark运行默认是系统所有的资源,如下图:

如果在spark-env.sh文件中配置了以上参数,则:

export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
SPARK_WORKER_INSTANCES=1
NSTANCES=1

那么 SPARK_WORKER_CORES、SPARK_WORKER_INSTANCES配置多大合适?要根据物理内存和核数进行分配通常x小于等于物理内存和核数。

 

SPARK_EXECUTOR_INSTANCES=11

SPARK_EXECUTOR_CORES=2

SPARK_EXECUTOR_MEMORY=1G

SPARK_DRIVER_MEMORY=3G

2.1 参数SPARK_EXECUTOR_INSTANCES

该参数决定了yarn集群中,最多能够同时启动的EXECUTOR的实例个数。Yarn中实际能够启动的最大Executors的数量会小于等于该值。如果不能确定最大能够启动的Executors数量,建议将该值先设置的足够大。(就是设置尽量大)

2.2 SPARK_EXECUTOR_CORES  该参数为设置每个EXECUTOR能够使用的CPU core的数量。

Yarn集群能够最多并行的Task数据为SPARK_EXECUTOR_INSTANCES乘 以SPARK_EXECUTOR_CORES一般设置为2

 也就是说如果spark_executor_instances=11 则最多并行的Task数为22

2.3 SPARK_EXECUTOR_MEMORY

该参数设置的是每个EXECUTOR分配的内存的数量。需要注意的是,该内存数量是SPARK_EXECUTOR_CORES中设置的内核数共用的内存数量。

例如上面示例中,就是2核cpu公用1G内存。

2.4 SPARK_DRIVER_MEMORY

该参数设置的是DRIVER分配的内存的大小。也就是执行start-thriftserver.sh机器上分配给thriftserver的内存大小。

 

hive-1.1.0-cdh5.8.3安装(netcloud01)

1)解压hive-1.1.0-cdh5.8.3.tar.gz 到  /opt 目录 并重命名为 hive

2)安装mysql

3)在  /opt/hive/conf目录下创建 hive-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>  

 <name>hive.metastore.warehouse.dir</name>  

 <value>/user/hive/warehouse</value> 

</property>  

 <property>  

 <name>javax.jdo.option.ConnectionURL</name>  

 <value>jdbc:mysql://netcloud01:3306/hive?createDatabaseIfNotExist=true</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionDriverName</name>  

  <value>com.mysql.jdbc.Driver</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionUserName</name>  

  <value>root</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionPassword</name>  

  <value>hadoop</value>  

</property>
<property>  

  <name>hive.metastore.local</name>  

  <value>false</value>  

</property>  

<property>  

  <name>hive.metastore.uris</name>  

  <value>thrift://netcloud01:9083</value>  

</property>  
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
</configuration>

注意:我们在使用jdbc进行连接的时候需要配置hive.server2.thrift.port 并且除了启动

hive --service metastore >> /opt/apache-hive/tmp.log 2>&1 & 

还要启动hive --service  hiveserver2 & 如果只是需要终端命令连接hive 只需要启动

hive --service  hiveserver2 >> /opt/apache-hive/tmp.log 2>&1 &  即可。

使用DbVisualizer连接hive的时候需要启动上面的两个服务,同时将hive-jdbc-1.1.0-cdh5.8.3-standalone.jar和hadoop-common-2.6.0-cdh5.8.3.jar包放在jdbc目录下(注意copy jar的版本)。

启动元数据服务后,再次启动hiveserver2服务的时候会在hdfs上创建  /tmp/hive/hadoop 临时目录。(hadoop是启动服务的用户)

当用客户端(root)连接hive的时候会在hdfs上创建 /tmp/hive/root 临时目录

当用客户端(hive)连接hive的时候会在hdfs上创建 /tmp/hive/hive 临时目录

Sqoop安装集成hive

https://blog.csdn.net/yangshaojun1992/article/details/78238596

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值