Hadoop分布式集群搭建完整版(持续更新中)

2023-10-27

1.前期准备工作

  各类软件以及工具包下载

2.网络环境配置

2.1 打开 VMware 找到编辑,点击虚拟网络配置

2.2 点击第二行,然后更改设置

 

2.3 点击第三行VMnet8,把本地DHC服务将IP地址分配给虚拟机取消,配置子网,子网掩码,最后点击NAT设置

 2.4 配置网关IP(记住你配置的IP地址),点击DNS设置,取消自动检测可用的DNS服务器,配置DNS服务器,最后确定

2.5 Windows的网络配置

打开网络和Internet设置 -->  点击更改适配器选项  -->  找到VMware Network Adapter VMnet8右键属性,打开后点击Internet协议版本4 ,然后这样配置 (默认网关要和刚刚虚拟机配置的ip路径一样,ip也要在一个网段)

3.虚拟机配置及虚拟机网络

3.1 创建一台虚拟机,不细讲了,直接跟着文档走

 

 

 

 

 

 

 

 

 

 

 

 

然后点击完成

3.2 开始虚拟机的安装

 

 

 

然后就等待一段时间,好了就直接重启

3.3修改虚拟机IP地址为静态IP,方便节点服务器间的相互通信

 登录虚拟机之后,在命令行输入这串指令

vi /etc/sysconfig/network-scripts/ifcfg-ens33

开始配置 把虚拟机ip 设置成静态 ip 按着我这样配置就行

 然后 :wq 存盘退出 

 在命令行输入“systemctl restart network”  来重启网络,重启后可用“ifconfig”来查看当前IP

注意: 要保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址和Windows系统VM8网络IP地址相同

3.4修改主机名和Hosts文件

先用打开远程连接工具连接本台虚拟机(要保证当前ip是可用的)

3.4.1 修改主机名:   vi /etc/hostname

本台虚拟机的名称 hadoop101

 

3.4.2 修改Hosts文件:  vi /ect/hosts

 删除里边原有的信息,添加以下信息,然后存盘退出

192.168.16.101 hadoop101
192.168.16.102 hadoop102
192.168.16.103 hadoop103

3.5虚拟机环境准备

3.5.1 安装软件包

(以下操作都是在 root 家目录下)我不想截图了,太麻烦了

使用yum安装虚拟机需要网络,因此yum安装之前可以先测试下虚拟机的联网情况,可以选择:ping www.baidu.com,确认网络无误后后输入

yum install -y epel-release

注意:若是选择了最小化安装(GHOME安装不需要此操作),还需要安装以下工具

        1.net-tool:包含ifconfig等查看网络地址的命令

yum install -y net-tools

        2.vim:编辑器

yum install -y vim

        3.其他工具

yum install -y  psmisc  nc  rsync  lrzsz  ntp libzstd openssl-static tree iotop git

3.6 创建一个普通管理员用户

 3.6.1 创建用户账号和密码

useradd yzr #用户名

echo ? | passwd --stdin yzr #创建密码为 ? 
visudo  #进入文件中

:set nu #命令模式输入显示行号的,然后找到 100行

yzr    ALL=(ALL)        NOPASSWD:ALL #需要添加的内容   

3.7 关闭防火墙和开机自启动(重点)我他妈吃了好几次亏了

sudo systemctl stop firewalld
sudo systemctl disable firewalld.service

3.8 在/opt目录下创建文件夹,并修改所属主、所属组

  3.8.1创建文件夹

mkdir -p /opt/module /opt/software

  3.8.2修改所所属主、所属组

chown master:master /opt/module
chown master:master /opt/software

注意:以上修改完成后需重启虚拟机才能生效:命令行输入“reboot”指令或者图形化界面点击

4. 克隆虚拟机

 利用创建的hadoop101虚拟机再另外克隆二台虚拟机:hadoop102 hadoop103 

注意:克隆时,要先关闭被克隆的虚拟机

然后点击下一页,下一页,选择完整克隆

 

根据上边的步骤,再把hadoop103克隆一下

 注意:不要同时启动三台刚克隆好的虚拟机,因为此时网络IP主机名都相同,修改完成后重启

 克隆完成后,分别启动,然后对应Hosts文件修改主机名和IP地址

 4.1.修改IP地址(root用户下修改):

vim /etc/sysconfig/network-scripts/ifcfg-ens33
  hadoo102: 192.168.16.102

  hadoo103: 192.168.16.103

  4.2.修改主机名(root用户下修改):

vim /etc/hostname
hadoop102
hadoop103

完成以后重启生效 reboot

5.jdk和hadoop的安装和配置

5.1 安装

注意:从此刻开始尽量不要再使用root用户来操作了, 用刚刚创建的 yzr用户来操作

打开三台虚拟机,在hadoop101上边操作

将 jdk和 hadoop安装包上传到/opt/software目录下

命令查看是否有这个包

 

解压jdk和hadoop的安装包到 /opt/module文件夹下

 5.1.1  解压 jdk

tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/

  5.1.2  解压hadoop

tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/

5.2配置环境变量

5.2.1 在/etc/profile.d/目录下新建一个enviroment.sh文件用来配置jdk和hadoop的环境变量

sudo vim /etc/profile.d/enviroment.sh

 5.2.2  输入以下内容 

#!/bin/bash
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  5.2.3  加载环境变量

source /etc/profile

  测试一下,分别输入“java -version”和“hadoop version”出现以下内容证明环境变量配置成功

[yzr@hadoop101 ~]$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)


[yzr@hadoop101 ~]$ hadoop version
Hadoop 3.1.3
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r ba631c436b806728f8ec2f54ab1e289526c90579
Compiled by ztang on 2019-09-12T02:47Z
Compiled with protoc 2.5.0
From source with checksum ec785077c385118ac91aadde5ec9799
This command was run using /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-common-3.1.3.jar

6.集群搭建

6.1 ssh 免密登录配置(必要配置)

在根目录输入“ll -a”查看是否有“.ssh”目录 如果没有:

先输入“ssh localhost”,根据提示输入“yes”,输入密码(当前用户密码)

[yzr@hadoop101 ~]$ ssh localhost
The authenticity of host 'localhost (::1%1)' can't be established.
ECDSA key fingerprint is SHA256:LgdTcQaHMt19sNAtd+9oSH3eFv4to0EtqTqUDDHvMsY.
ECDSA key fingerprint is MD5:aa:9d:5b:65:ac:02:b0:83:db:5c:6a:02:52:fb:7c:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
yzr@localhost's password:
Last login: Wed Nov  9 13:54:47 2022 from 192.168.16.252

进入 .ssh目录,生成公钥和密钥文件


ssh-keygen -t rsa #执行命令后按三次回车

  效果 

[yzr@hadoop101 ~]$ cd .ssh/
[yzr@hadoop101 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yzr/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/yzr/.ssh/id_rsa.
Your public key has been saved in /home/yzr/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:P/sbm8Thrt1scvckDZKawX9XdmsJCsjaS7uZbXTvSJY yzr@hadoop101
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|      . ..   .   |
|       oS.o +.. +|
|      o  o.Ooo.+=|
|     . o. *EB o++|
|      . *.o*oO++.|
|       *o.o+O*o.o|
+----[SHA256]-----+
[yzr@hadoop101 .ssh]$

把公钥发给三台机器(包括自身hadoop101)执行时需要输入目标机器的登录密码

ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103

 效果 

[yzr@hadoop101 .ssh]$ ssh-copy-id hadoop101
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/yzr/.ssh/id_rsa.pub"
The authenticity of host 'hadoop101 (192.168.16.101)' can't be established.
ECDSA key fingerprint is SHA256:LgdTcQaHMt19sNAtd+9oSH3eFv4to0EtqTqUDDHvMsY.
ECDSA key fingerprint is MD5:aa:9d:5b:65:ac:02:b0:83:db:5c:6a:02:52:fb:7c:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are al                                                                                                                               ready installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to ins                                                                                                                               tall the new keys
yzr@hadoop101's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'hadoop101'"
and check to make sure that only the key(s) you wanted were added.

[yzr@hadoop101 .ssh]$ ssh-copy-id hadoop102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/yzr/.ssh/id_rsa.pub"
The authenticity of host 'hadoop102 (192.168.16.102)' can't be established.
ECDSA key fingerprint is SHA256:LgdTcQaHMt19sNAtd+9oSH3eFv4to0EtqTqUDDHvMsY.
ECDSA key fingerprint is MD5:aa:9d:5b:65:ac:02:b0:83:db:5c:6a:02:52:fb:7c:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
yzr@hadoop102's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'hadoop102'"
and check to make sure that only the key(s) you wanted were added.

[yzr@hadoop101 .ssh]$ ssh-copy-id hadoop103
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/yzr/.ssh/id_rsa.pub"
The authenticity of host 'hadoop103 (192.168.16.103)' can't be established.
ECDSA key fingerprint is SHA256:LgdTcQaHMt19sNAtd+9oSH3eFv4to0EtqTqUDDHvMsY.
ECDSA key fingerprint is MD5:aa:9d:5b:65:ac:02:b0:83:db:5c:6a:02:52:fb:7c:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
yzr@hadoop103's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'hadoop103'"
and check to make sure that only the key(s) you wanted were added.

[yzr@hadoop101 .ssh]$

在另外的两台机器上也要执行这个操作(生成公钥到发送公钥的过程),以使每台虚拟机都可以免密登录到其他的虚拟机

完了就测试一下

[yzr@hadoop101 .ssh]$ ssh hadoop102
Last login: Wed Nov  9 13:54:47 2022 from 192.168.16.252
[yzr@hadoop102 ~]$ ssh hadoop103
Last login: Wed Nov  9 13:54:47 2022 from 192.168.16.252
[yzr@hadoop103 ~]$ ssh hadoop101
Last login: Wed Nov  9 14:26:26 2022 from localhost


6.2 编写集群分发脚本(必须在ssh免密登录的基础上)

创建目录

[yzr@hadoop101 ~]$ mkdir bin
[yzr@hadoop101 ~]$ vim bin/xsync

编写分发脚本

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi
 
#2. 遍历集群所有机器
for host in hadoop101 hadoop102 hadoop103
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送
 
    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)
 
                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

脚本授权

[yzr@hadoop101 ~]$ chmod u+x bin/xsync

上述过程完成后,进入root(管理员)用户把xsync复制到相同位置

[yzr@hadoop101 ~]$ su -
[root@hadoop101 ~]# mkdir bin
[root@hadoop101 ~]# cp /home/yzr/bin/xsync /root/bin/

jdk和hadoop以及变量环境分发

[root@hadoop101 ~]#  bin/xsync /opt/module
[root@hadoop101 ~]#  sudo bin/xsync /etc/profile.d/enviroment.sh 

环境变量配置文件群发到另外两台机器上后要分别执行以下内容重新加载环境变量

[yzr@hadoop102 .ssh]$ source /etc/profile
[yzr@hadoop102 .ssh]$ java -version
[yzr@hadoop102 .ssh]$ hadoop version


[yzr@hadoop103 .ssh]$ source /etc/profile
[yzr@hadoop103 .ssh]$ java -version
[yzr@hadoop103 .ssh]$ hadoop version

 NameNode、SecondaryNameNode、ResourceManager这三个要分开不要配置在同一台虚拟机上

6.3集群配置

修改集群的配置文件,主要是以下四个

core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers

进入配置文件所在的目录 

[yzr@hadoop101 ~]$ cd /opt/module/hadoop-3.1.3/etc/hadoop/

6.3.1 core-site.xml(核心配置文件)

vim core-site.xml

在<configuration>配置内容</configuration>中添加如下内容

    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop101:8020</value>
    </property>
 
    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
 
    <!-- 配置HDFS网页登录使用的静态用户为master -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>master</value>
    </property>

6.3.2 hdfs-site.xml(hdfs配置文件)

vim hdfs-site.xml

在<configuration>配置内容</configuration>中添加如下内容

    <!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop101:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop103:9868</value>
    </property>

6.3.3 yarn-site.xml(yarn配置文件)

vim yarn-site.xml

在<configuration>配置内容</configuration>中添加如下内容

    <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 
    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop102</value>
    </property>
 
    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
 
 
 
<!-- 如果要程序的运行日志信息上传到HDFS系统上,可配置日志聚集(选择配置) -->
 
<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

6.3.4 mapred-site.xml(mapred配置文件)

vim mapred-site.xml

在<configuration>配置内容</configuration>中添加如下内容

    <!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
 
 
 
<!-- 如果要看程序的历史运行情况,可以配置历史服务器(选择配置) -->
 
<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop101:10020</value>
</property>
 
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop101:19888</value>
</property>

6.3.5 workers

vim workers

删除其中的localhost并在其中添加如下内容

hadoop101
hadoop102
hadoop103

6.3.6 分发文件

[yzr@hadoop101 ~]$ bin/xsync /opt/module/hadoop-3.1.3/etc/hadoop/

7.启动集群

7.1格式化NameNode

第一次启动需要在hadoop101节点先格式化NameNode

[yzr@hadoop101 ~]$ hdfs namenode -format

注意:此步骤忘记进行或者出现其它问题需要重新格式化,先删除三个节点/opt/module/hadoop-3.1.3/目录下的data和logs文件夹(未出现问题不要执行此操作),删除命令为

[yzr@hadoop101 hadoop-3.1.3]$ rm -rf data/ logs/

7.2 启动hdfs

[yzr@hadoop101 ~]$ /opt/module/hadoop-3.1.3/sbin/start-dfs.sh

正常情况下会出现如下内容

7.3 在hadoop102上启动YARN

[yzr@hadoop102 .ssh]$ /opt/module/hadoop-3.1.3/sbin/start-yarn.sh

 若以上步骤都没问题,集群就启动成功了

 然后查看各个集群的节点

 

7.4 在web端查看

web端查看HDFS的NameNode  192.168.16.101:9870

web端查看YARN的ResourceManager  192.168.16.102:8088​​​​​​

 web查看历史服务器(如果配置了) 192.168.16.101:19888/jobhistory​​​​​​

7.5集群测试

自己去测试 上传 下载 

 8.常用脚本配置

  8.1 hdfs,yarn,historyserver (可以不启动)启动脚本

   进入hadoop101的 /bin目录下边创建启动脚本  vim had

#!/bin/bash
 
if [ $# -lt 1 ]
then
    echo 参数个数不能为0
    exit ;
fi
 
case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="
 
        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo 参数错误
;;
esac

添加执行权限

chmod u+x had

had start #启动
had stop #停止

8.2查看全部节点当前的启动状态

在/bin目录下边创建   vim jpsall

#!/bin/bash
 
for host in hadoop101 hadoop102 hadoop103
do
        echo =============== $host ===============
        ssh $host jps $1 |grep -v Jps
done
chmod u+x jpsall

现在整个集群就搭建完成了,后边将会更新关于其他工具的安装 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop分布式集群搭建完整版(持续更新中) 的相关文章

  • Namenode高可用客户端请求

    谁能告诉我 如果我使用java应用程序请求一些文件上传 下载操作到带有Namenode HA设置的HDFS 这个请求首先去哪里 我的意思是客户端如何知道哪个名称节点处于活动状态 如果您提供一些工作流程类型图或详细解释请求步骤 从开始到结束
  • 在 Amazon EMR 上使用 java 中的 hbase 时遇到问题

    因此 我尝试使用作为 MapReduce 步骤启动的自定义 jar 来查询 Amazon ec2 上的 hbase 集群 我的 jar 在地图函数内 我这样调用 Hbase public void map Text key BytesWri
  • 带有安全 Kafka 抛出的 Spark 结构化流:无权访问组异常

    为了在我的项目中使用结构化流 我正在 hortonworks 2 6 3 环境上测试 Spark 2 2 0 和 Kafka 0 10 1 与 Kerberos 的集成 我正在运行下面的示例代码来检查集成 我能够在 Spark 本地模式下的
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado
  • 将 CSV 转换为序列文件

    我有一个 CSV 文件 我想将其转换为 SequenceFile 我最终将使用它来创建 NamedVectors 以在聚类作业中使用 我一直在使用 seqdirectory 命令尝试创建 SequenceFile 然后使用 nv 选项将该输
  • 适用于 Hadoop 的 DynamoDB 输入格式

    我必须使用 Hadoop mapreduce 处理保留在 Amazon Dynamodb 中的一些数据 我在互联网上搜索 Dynamo DB 的 Hadoop InputFormat 但找不到它 我对 Dynamo DB 不熟悉 所以我猜测
  • 我可以在没有 Hadoop 的情况下使用 Spark 作为开发环境吗?

    我对大数据和相关领域的概念非常陌生 如果我犯了一些错误或拼写错误 我很抱歉 我想了解阿帕奇火花 http spark apache org 并使用它仅在我的电脑中 在开发 测试环境中 由于Hadoop包含HDFS Hadoop分布式文件系统
  • Spark 和 Python 使用自定义文件格式/生成器作为 RDD 的输入

    我想问一下 Spark 中输入的可能性 我可以看到从http spark apache org docs latest programming guide html http spark apache org docs latest pro
  • java.lang.ClassNotFoundException:找不到类 org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem

    我是 Spark 和 Kubernetes 世界的新手 我使用 docker image tool sh 实用程序使用与 Hadoop 3 2 捆绑在一起的官方 Spark 3 0 1 构建了 Spark docker 映像 我还为 Jup
  • java.io.IOException: EnsureRemaining: 仅剩余 0 个字节,尝试读取 1

    我在 giraph 中的自定义类方面遇到一些问题 我制作了 VertexInput 和 Output 格式 但总是收到以下错误 java io IOException ensureRemaining Only bytes remaining
  • 如何按行扩展数组值!!使用 Hive SQL

    我有一个有 4 列的表 其中一列 项目 类型是 ARRAY 其他是字符串 ID items name loc id1 item1 item2 item3 item4 item5 Mike CT id2 item3 item7 item4 i
  • Spark on Hive SQL 查询错误 NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT

    针对 Hive 2 1 0 提交 Spark 1 6 0 SQL 应用程序时出现错误 Exception in thread main java lang NoSuchFieldError HIVE STATS JDBC TIMEOUT a
  • 在 Hadoop MapReduce 中为二进制文件创建自定义 InputFormat 和 RecordReader

    我正在编写一个 M R 作业 该作业处理以二进制格式编写的大型时间序列数据文件 如下所示 此处换行以提高可读性 显然 实际数据是连续的 TIMESTAMP 1 TIMESTAMP 1 TIMESTAMP 2 TIMESTAMP 2 TIME
  • 更改 Hadoop 中的数据节点数量

    如何改变数据节点的数量 即禁用和启用某些数据节点来测试可扩展性 说得更清楚一点 我有4个数据节点 我想一一实验1 2 3 4个数据节点的性能 是否可以只更新名称节点中的从属文件 临时停用节点的正确方法 创建一个 排除文件 这列出了您想要删除
  • 公平调度器和容量调度器有什么区别?

    我是 Hadoop 世界的新手 想了解公平调度程序和容量调度程序之间的区别 另外我们什么时候应该使用每一个 请简单地回答一下 因为我在网上读了很多东西 但从中得到的不多 公平调度是一种为作业分配资源的方法 使得所有作业随着时间的推移平均获得
  • Hadoop-reducer 如何获取数据?

    据我所知 映射器为每个减速器生成 1 个分区 减速器如何知道要复制哪个分区 假设有 2 个节点运行用于字数统计程序的映射器 并且配置了 2 个缩减器 如果每个映射节点生成 2 个分区 并且两个节点中的分区都可能包含相同的单词作为键 那么减速
  • 适用于 Python 3.x 的 Hive 客户端

    是否可以使用 Python 3 x 连接到 hadoop 并运行 hive 查询 我正在使用Python 3 4 1 我发现可以按照这里写的方式完成 https cwiki apache org confluence display Hiv
  • 为什么我们需要将外部表移动到托管 Hive 表?

    我是 Hadoop 新手 正在学习 Hive 在 Hadoop 权威指南第 3 版中 第 12 页 第428章 最后一段 我不明白下面关于 HIVE 中外部表的段落 一种常见的模式是使用外部表访问存储在 HDFS 中的初始数据集 由另一个进

随机推荐

  • Unicode:Codejock Suite Prov22.1.0 for ActiveX Crack

    Codejock 荣获 2022 年 Visual Studio 杂志读者选择奖 Visual Studio 杂志宣布了第 28 届年度读者选择奖的获奖者 今年是 Visual Studio 杂志的读者对其 Visual Studio 相关
  • FOR循环基础功

    八个for循环运用小案例 一 for循环 语法 for 初始化 布尔表达式 更新 代码语句 1 最先执行初始化步骤 可以声明一种类型 但可初始化一个或多个循环控制变量 也可以是空语句 2 然后 检测布尔表达式的值 如果为 true 循环体被
  • Ubuntu系统不显示WiFi,已解决

    Ubuntu系统不显示WiFi 通常都是Secure Boot没有关闭 Win10的电脑 BIOS设置中都有一个secure boot选项 默认情况下 win10系统中的secure boot服务都是处于开启状态的 且无法进行关闭 各品牌w
  • 即时通讯源代码,im源码功能全套

    即时通讯源代码 im源码 im源代码 即时通讯全套源码语言 C C 语言编写 VC 开发平台产品包含完善的即时通讯系统 是一套集即时通讯和视频会议为一体的企业级办公协同交流产品 可以广泛应用于政府 企业 教育机构和公司等客户端 大致功能 具
  • arm neon RGB转Gray的例子

    确认处理器是否支持NEON cat proc cpuinfo grep neon 看是否有如下内容 Features swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva i
  • spring boot项目实战之工具篇(ognl)

    当解析复杂的json结构时 ognl是一个很方便的工具 实现基于图对属性的访问 类似于以 user name user depart 0 的方式获取json内的嵌套对象字段值 请看以下示例 你将对ognl的作用有一个更清晰的理解 Strin
  • windbg分析崩溃dmp

    首先我们收集了程序崩溃的dump文件 然后将dump文件拖拽到windbg下 然后依次如下命令 1 设置符号路径 sympath srv C symbols http msdl microsoft com download symbols
  • arduino字符串函数

    arduino教程 字符串函数 如果你需要操作文本 比如拷贝 增加文本 和定义文本数量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 String tex
  • HTTP协议0.91.0/1.1/2.0之间的区别

    HTTP 0 9 只有一个GET命令 服务器只能回应HTML格式的字符串 不能回应别的格式 服务器发送完毕 就关闭TCP连接 http 1 0 引入了POST命令和HEAD命令 短连接 每一个请求建立一个TCP连接 请求完成后立马断开连接
  • 定义变量的四种方式

    一 概括 var variable let 设置 允许 const constant常数 常量 隐士全局变量 二 对比 var方式 可以声明时赋值 也可以先声明后赋值 有声明提升过程 可以重复改动 声明赋值 let方式 可以声明时赋值 也可
  • JS手写代码:apply、call、bind

    一 call函数 Function prototype hycall function thisBings args thisBings thisBings null thisBings undefined Object thisBings
  • 编码-小数

    C语言中对于小数 采用float 单精度浮点型 和double 双精度浮点型 来存储 Float 不管是float还是double 在存储中都分为三部分 第一位s代表符号位 1代表负数 0代表正数 第二个域是指数域e 对于单精度float类
  • Ubuntu pycharm配置Conda环境

    1 创建conda的虚拟环境 首先 最好先创建一个conda的虚拟环境 因为虚拟环境之间不会产生一些不好的影响 使用conda创建虚拟环境请参考这篇文章 https blog csdn net qq 40726937 article det
  • python中ThreadPoolExecutor线程池

    ThreadPoolExecutor python3标准库concurrent futures中常用的线程池ThreadPoolExecutor特点 主线程可以获取某一个线程的状态 以及返回值 线程同步 让多线程和多进程的编码接口一致 简单
  • 数组实现不死神兔小案例

    根据如此神奇的需求 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问第二十个月的兔子对数为多少 用数组循环遍历实现不死神兔的问题 package com qx 找规律 第一个月 1
  • 冒泡排序,选择排序,快速排序(C语言)

    一 冒泡排序的C语言实现 1 1 算法设计思想 冒泡排序是最简单的一种排序算法 冒泡排序是一种交换排序 核心是冒泡 把数组中最小的那个往上冒 冒的过程就是和他相邻的元素交换 重复排查要排序的数列 通过两两比较相邻记录的排序数 排序过程中每次
  • 谁能拒绝这款UE5配置文件呢?

    Part1前言 在使用UE5开发应用的时候 为了让连接的数据库IP 服务IP适应各种部署情况 经常使用配置文件来存储这些数据 本文旨在简化配置文件的使用 通过使用同一个函数即可适应编辑器模式和运行时模型 并且简化了配置文件的维护 项目开源地
  • APP移动端自动化测试(五)Appium截图、等待、HTML报告

    1 元素等待 2 截图 等待元素和截图 from appium import webdriver from time import sleep from selenium webdriver support ui import WebDri
  • 简单描述TCP请求发送全过程

    根据TCP IP四层模型 数据传输大致流程如下 应用层 根据用户选择的服务提供对应协议 如 FTP TELNET DNS SMTP POP3 对数据进行处理 传输层 通过TCP协议将上游数据进行拆包 避免数据过大造成的性能损耗和对其它数据的
  • Hadoop分布式集群搭建完整版(持续更新中)

    1 前期准备工作 各类软件以及工具包下载 2 网络环境配置 2 1 打开 VMware 找到编辑 点击虚拟网络配置 2 2 点击第二行 然后更改设置 2 3 点击第三行VMnet8 把本地DHC服务将IP地址分配给虚拟机取消 配置子网 子网