怎么安装大数据计算核心软件Hadoop?进行分布式计算和存储第一篇
mhr18 2024-10-10 06:44 18 浏览 0 评论
由于安装配置Hadoop牵涉的内容较多,我将Hadoop的安装配置拆成了3篇文章来讲述。
这是第一篇。
前期准备
由于大数据的安装和使用涉及的内容比较多,截止到这篇文章,我写的与大数据安装有关的文章已经超过10篇了,为了能把这个事情说清楚,不得不这么做。
在查看本文之前,一定要安装好CentOS Linux 8 并升级完内核和软件包,学会怎么使用SSH软件,学会怎么配置IP等操作,进行过集群规划和基础配置,安装并配置好时间同步chrony,安装并配置好Java开发工具包jdk,安装并配置好分布式环境的协调Zookeeper,安装并配置好文件分发软件Rsync,为了在测试时不去分心处理权限问题,还需要关闭SELinux并关闭防火墙Firewall(生产环境再打开)。
以上内容可以参考我发布过的以下文章:
1、知道Linux是怎么安装的吗?安装个CentOS Linux 8开始大数据开发
2、盘点两个经典Linux维护软件,详细讲讲SSH是个什么东西以及用法
3、Linux内核怎么升级?升级有什么好处?CentOS8升级内核并开启BBR
4、Linux怎么配置IP?CentOS8怎么重启网卡?配置/修改静态IP的方法
5、大数据开发前要做什么准备?8台Hadoop服务器进行集群规划前配置
6、如何保证大数据开发的服务器时间同步?chrony服务安装与配置
7、怎么在Linux上面安装jdk?大数据开发前必备软件在CentOS8上安装
8、大数据服务器之间是怎么配合的?分布式Zookeeper集群安装与配置
9、怎么把Linux 的文件快速传给10台服务器?文件分发软件的安装配置
10、Linux有防火墙和杀毒软件吗?怎么安装配置Firewall抵御网络攻击
集群规划
上面有篇文章进行了详细的集群规划的编写描述,这里简单叙述以下。
手里有一台Dell R620服务器,共有8块硬盘,通过VMware将虚拟机分布在这8块硬盘上,模拟8台服务器,模拟在一个机架上:
编号:/BJ0/LG0/hadoop221-228
221-222:NameNode,223-228:DataNode
集群规划如下:(服务器为hadoop221-hadoop228)
特别提示:
我们安装Hadoop的以下所有操作都可以先在一台服务器(Hadoop221)上操作,完毕以后再将这个虚拟服务器复制成出来7份,完成最终的部署。
也就是我们先完成Hadoop221的操作系统和软件的安装配置,然后复制出7份来。
下面正式开始。
相关软件的安装及配置
安装配置时间同步软件chrony
参考上述文章,并根据上面的集群规划,我们在221上安装chrony。配置时我们把服务端server配置成192.168.1.222,这样后面复制出来的其它服务器就能直接在222服务器上获取时间了。全部安装完毕,我们直接在hadoop222上面启动Chrony服务即可完成所有的时间配置。
防火墙和SELINUX设置
因为Hadoop需要开启的端口很多,而且牵涉到很多的权限,所以我们在测试时将防火墙和SELINUX都关掉。
在生产环境中,需要针对不同的开放端口做针对性的设置。
参考上述关于防火墙和SELINUX的文章,关闭防火墙且关闭SELinux,大致的内容摘取如下:
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config
相关参数修改如下:
#SELINUX=enforcing
SELINUX=disabled
重启服务器,然后查看防火墙和SELinux状态:
reboot
查看SELinux的状态
/usr/sbin/sestatus -v
查看防火墙状态
systemctl status firewalld
显示如下内容,则说明SELINUX已经关闭了
hostname相关设置
参考上面的集群规划文章,进行hostname的配置,具体内容摘取如下:
运行下面的命令,修改本机的hostname:
hostnamectl set-hostname hadoop221
222-228服务器上的hostname修改,等服务器安装完毕以后统一操作(本文的底部有相关内容)
hosts相关设置
参考上面的集群规划文章,进行hosts的配置,具体内容摘取如下:
由于一次次的录入IP地址,不利于管理,我们在hosts里面把服务器的hostname跟IP地址对应起来,输入下面的命令开始操作:
vi /etc/hosts
内容设置成如下所示:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.221 hadoop221
192.168.1.222 hadoop222
192.168.1.223 hadoop223
192.168.1.224 hadoop224
192.168.1.225 hadoop225
192.168.1.226 hadoop226
192.168.1.227 hadoop227
192.168.1.228 hadoop228
192.168.1.229 hadoop229
192.168.1.230 hadoop230
添加Hadoop用户
我们默认登录的是Tristone用户,需要切换到root用户。
su
录入下述命令来添加hadoop用户:
useradd hadoop
录入一遍"jiqun996"回车,再录入一遍"jiqun996"回车后将hadoop用户密码设置为"jiqun996"
passwd hadoop
安装并配置jdk
参考上述jdk的安装配置文章,具体内容摘取如下:
从Oracle上下载jdk,尽量不要使用其他版本的jdk,容易出现一些奇怪的问题,比如:没有jps命令,自己都不知道哪里出问题了。把下载的"jdk-8u231-linux-x64.tar.gz"传到服务器上。进入服务器保存这个文件的目录以后进行如下操作(下面的命令都是以root的权限操作的):
建立java的工作目录(文件夹)
mkdir /usr/java
解压JDK
tar -zxvf jdk-8u231-linux-x64.tar.gz
将JDK移动(剪切)到/usr/java/目录
mv jdk1.8.0_231/ /usr/java/
将JDK所有者设置为root
chown -R root:root /usr/java/jdk1.8.0_231/
设置JDK的软链接
ln -sf /usr/java/jdk1.8.0_231 /usr/local/jdk
修改全局环境变量:
vi /etc/profile
在文件底部添加以下内容:
export JAVA_HOME="/usr/local/jdk"
export PATH=$JAVA_HOME/bin:$PATH
加载新的全局环境变量:
source /etc/profile
运行jps命令,显示类似以下内容,就算安装jdk成功了
jps
安装并配置Zookeeper
参考上述Zookeeper的安装配置文章,具体内容摘取如下:
由于Zookeeper类似于民主选举,每台服务器分别投票共同选举一个作为leader,剩下的都是follower。基于这个原因,官方建议服务器集群设置为奇数台,偶数台的话会有一台的资源浪费。根据咱们的集群规划:226-228为我们的Zookeeper服务器。
因为Zookeeper需要一台一台的单独启动,所以咱们在hadoop221上配置好,到时候只在226-228上面启动即可。
下载Zookeeper(参考我写的相关文章)然后进行下列操作:
tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
mkdir /home/hadoop/server
mkdir -p /home/hadoop/data/zkdata
mkdir -p /home/hadoop/log/zklog
mv apache-zookeeper-3.5.6-bin/ /home/hadoop/server/
ln -sf /home/hadoop/server/apache-zookeeper-3.5.6-bin/ /home/hadoop/zookeeper
chown -R hadoop:hadoop /home/hadoop/*
vi /etc/profile
文件底部添加以下内容:
export ZOOKEEPER_HOME="/home/hadoop/zookeeper"
export PATH=$ZOOKEEPER_HOME/bin:$PATH
执行下述命令加载全局环境变量,然后切换到hadoop用户开始操作:
source /etc/profile
su hadoop
cd /home/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi /home/hadoop/zookeeper/conf/zoo.cfg
内容调整如下:
dataDir=/home/hadoop/data/zkdata
dataLogDir=/home/hadoop/log/zklog/
server.226=hadoop226:2888:3888
server.227=hadoop227:2888:3888
server.228=hadoop228:2888:3888
最后不要忘了在每个服务器"/home/hadoop/data/zkdata/"下新建文件"myid"并把当前服务器编号写进去,举例:
echo 221 > /home/hadoop/data/zkdata/myid
启动的事情,这里先不操作,后面到配置226-228的时候再启动。
注意:虽然我们在配置文件中写明了服务器的列表信息,但是,我们还是需要去每一台服务 器去启动,不是一键启动集群模式。
安装并配置Hadoop
先从国内的源服务器上找到hadoop的下载链接,并复制链接地址:
下载Hadoop
先用root权限操作:先用root权限操作:先用root权限操作:
重要的事情说三遍:
cd /home/hadoop/server
wget 粘贴刚才复制的URL地址
软件包有340多M,下载时别着急
tar -zxvf hadoop-3.2.1.tar.gz
ln -sf /home/hadoop/server/hadoop-3.2.1/ /home/hadoop/hadoop
chown -R hadoop:hadoop /home/hadoop/*
配置全局环境变量文件profile
vi /etc/profile
在文件尾部添加以下内容,用root用户操作
export HADOOP_HOME="/home/hadoop/hadoop"
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
加载全局变量:
source /etc/profile
echo $HADOOP_HOME
下面以hadoop用户操作:下面以hadoop用户操作:下面以hadoop用户操作
重要的事情说三遍:
执行以下命令,建立相关的目录
su hadoop
rm -rf /home/hadoop/hadoop/share/doc #删除文档,很大,又没用
mkdir -p /home/hadoop/data/dfs/data
mkdir /home/hadoop/data/dfs/name
mkdir /home/hadoop/data/dfs/tmp
mkdir /home/hadoop/data/journaldata
cd /home/hadoop/hadoop/etc/hadoop
vi /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
添加一行内容:
export JAVA_HOME="/usr/local/jdk"
修改配置文件core-site.xml
清空原来全部内容
echo > /home/hadoop/hadoop/etc/hadoop/core-site.xml
vi /home/hadoop/hadoop/etc/hadoop/core-site.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定hdfs的nameservice为myha01 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://myha01/</value>
</property>
<!-- 指定hadoop临时目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/data/dfs/tmp</value>
</property>
<!-- 指定zookeeper地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>
</property>
<!-- hadoop链接zookeeper的超时时长设置 -->
<property>
<name>ha.zookeeper.session-timeout.ms</name>
<value>1000</value>
<description>ms</description>
</property>
<!-- 修改core-site.xml中的ipc参数,防止出现连接journalnode服务ConnectException -->
<property>
<name>ipc.client.connect.max.retries</name>
<value>100</value>
<description>Indicates the number of retries a client will make to establish a server connection.</description>
</property>
<property>
<name>ipc.client.connect.retry.interval</name>
<value>10000</value>
<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>
</property>
<property>
<name>topology.script.file.name</name>
<value>10000</value>
<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>
</property>
</configuration>
修改配置文件hdfs-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
内容如下
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 配置namenode和datanode的工作目录-数据存储目录 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/dfs/data</value>
</property>
<!-- 启用webhdfs -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<!--指定hdfs的nameservice为myha01,需要和core-site.xml中的保持一致
dfs.ha.namenodes.[nameservice id]为在nameservice中的每一个NameNode设置唯一标示符。
配置一个逗号分隔的NameNode ID列表。这将是被DataNode识别为所有的NameNode。
例如,如果使用"myha01"作为nameservice ID,并且使用"nn1"和"nn2"作为NameNodes标示符
-->
<property>
<name>dfs.nameservices</name>
<value>myha01</value>
</property>
<!-- myha01下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.myha01</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn1</name>
<value>hadoop221:9000</value>
</property>
<!-- nn1的web通信地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn1</name>
<value>hadoop221:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn2</name>
<value>hadoop222:9000</value>
</property>
<!-- nn2的web通信地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn2</name>
<value>hadoop222:50070</value>
</property>
<!-- 指定NameNode的edits元数据的共享存储位置。也就是JournalNode列表
该url的配置格式:qjournal : / / host1:port1;host2:port2;host3:port3/journalId
journalId推荐使用nameservice,默认端口号是:8485 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop223:8485;hadoop224:8485;hadoop225:8485/myha01</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/data/journaldata</value>
</property>
<!-- 开启NameNode失败自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.myha01</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence
shell(/bin/true)</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔离机制超时时间 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
<property>
<name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
<value>60000</value>
</property>
</configuration>
修改配置文件mapred-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/mapred-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/mapred-site.xml
全部内容如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 指定mapreduce jobhistory地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop222:10020</value>
</property>
<!-- 任务历史服务器的web地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop222:19888</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>/home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>
</property>
</configuration>
修改配置文件yarn-site.xml
echo > /home/hadoop/hadoop/etc/hadoop/yarn-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/yarn-site.xml
内容如下:
<?xml version="1.0"?>
<configuration>
<!-- 开启RM高可用 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop226</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop227</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
<!-- 启用自动恢复 -->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 制定resourcemanager的状态信息存储在zookeeper集群上 -->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value> /home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>
</property>
<property>
<!-- 客户端通过该地址向RM提交对应用程序操作 -->
<name>yarn.resourcemanager.address.rm1</name>
<value>hadoop226:8032</value>
</property>
<property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。 -->
<name>yarn.resourcemanager.scheduler.address.rm1</name>
<value>hadoop226:8030</value>
</property>
<property>
<!-- RM WEB访问地址,查看集群信息-->
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>hadoop226:8088</value>
</property>
<property>
<!-- NodeManager通过该地址交换信息 -->
<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
<value>hadoop226:8031</value>
</property>
<property>
<!--管理员通过该地址向RM发送管理命令 -->
<name>yarn.resourcemanager.admin.address.rm1</name>
<value>hadoop226:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm1</name>
<value>hadoop226:23142</value>
</property>
<property>
<name>yarn.resourcemanager.address.rm2</name>
<value>hadoop227:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address.rm2</name>
<value>hadoop227:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>hadoop227:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address.rm2</name>
<value>hadoop227:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address.rm2</name>
<value>hadoop227:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm2</name>
<value>hadoop227:23142</value>
</property>
</configuration>
修改配置文件workers
vi /home/hadoop/hadoop/etc/hadoop/workers
这个文件里面填写的是存储/计算节点(HDFS和YARN)的主机名称,内容如下:
hadoop223
hadoop224
hadoop225
hadoop226
hadoop227
hadoop228
至此Hadoop的基础安装配置部分全部完成。后面还有两篇,配置后操作以及第一次启动,日常如何启动,您可以持续关注后续文章。
相关推荐
- SQL入门知识篇(sql入门新手教程视频)
-
一、什么是数据库?什么是SQL?1、数据库:存放数据,可以很多人一起使用2、关系数据库:多张表+各表之间的关系3、一张表需要包含列、列名、行4、主键:一列(或一组列),其值能够唯一区分表中的每个行。5...
- postgresql实现跨库查询-dblink的妙用
-
技术导语:用惯了oracle的dblink,转战postgresql,会一时摸不着头脑。本期就重点详细讲解postgresql如何安装dblink模块及如何使用dblink实现跨库查询。安装cont...
- Oracle VM VirtualBox虚拟机软件(oracle vm virtualbox win10)
-
OracleVMVirtualBox是一款完全免费的虚拟机软件,下载银行有提供下载,软件支持安装windows、linux等多个操作系统,让用户可以在一台设备上实现多个操作系统的操作。同时软件有着...
- 开源 SPL 轻松应对 T+0(开源srs)
-
T+0问题T+0查询是指实时数据查询,数据查询统计时将涉及到最新产生的数据。在数据量不大时,T+0很容易完成,直接基于生产数据库查询就可以了。但是,当数据量积累到一定程度时,在生产库中进行大数据...
- 中小企业佳选正睿ZI1TS4-4536服务器评测
-
随着科技的不断发展,各行各业对于数据使用越加频繁,同时针对服务器的选择方面也就越来越多样化和细分化。那么对于我们用户来说,如何选择符合自身业务需求和最优性价比的产品呢?笔者将通过刚刚购买的这台服务器的...
- MFC转QT:Qt基础知识(mfc和qt的区别)
-
1.Qt框架概述Qt的历史和版本Qt是一个跨平台的C++应用程序开发框架,由挪威公司Trolltech(现为QtCompany)于1991年创建。Qt的发展历程:1991年:Qt项目启动1995年...
- 数据库,QSqlTableModel(数据库有哪些)
-
QMYSQL——mysqlQSQLITE——sqliteQOICQ——orcale所需头文件.pro增加sql#include<QSqlDatabase>#include<Q...
- python通过oledb连接dbf数据库(python连接jdbc)
-
起因:因为工作需要,需要读取dbf文件和系统数据中数据进行校对,因为知道dbf文件可以用sql查询,所以想能不能像mysql/oracle那样连接,再调用执行sql方法,通过一系列百度,尝试,最终通过...
- Excel常用技能分享与探讨(5-宏与VBA简介 VBA与数据库)
-
在VBA(VisualBasicforApplications)中使用数据库(如Access、SQLServer、MySQL等)具有以下优点,适用于需要高效数据管理和复杂业务逻辑的场景:1....
- Excel常用技能分享与探讨(5-宏与VBA简介 VBA与数据库-二)
-
以下是常见数据库软件的详细配置步骤,涵盖安装、驱动配置、服务启动及基本设置,确保VBA能够顺利连接:一、MicrosoftAccess适用场景:小型本地数据库,无需独立服务。配置步骤:安装Acces...
- Windows Docker 安装(docker安装windows容器)
-
Docker并非是一个通用的容器工具,它依赖于已存在并运行的Linux内核环境。Docker实质上是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的L...
- Windows下安装Ubuntu虚拟机方法(windows下安装ubuntu20)
-
在Windows下安装Ubuntu虚拟机。选择使OracleVMVirtualBox安装Ubuntu虚拟机。1.下载和安装OracleVMVirtualBox:访问OracleVMVir...
- java入门教程1 - 安装和配置(win和linux)
-
windows安装和配置安装javahttps://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html目前大部分项目的...
- Centos7 安装Tomcat8服务及配置jdk1.8教程
-
1、下载jdk1.8压缩包下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.htmltom...
- 全网最完整的免费java教程讲义(一)——java配置和安装
-
一,安装Java1)安装JDK要学习和使用java,首先需要安装JDK(JavaDevelopemntKit),相当于java安装包。Java的下载页在甲骨文官网上:https://www.or...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- SQL入门知识篇(sql入门新手教程视频)
- postgresql实现跨库查询-dblink的妙用
- Oracle VM VirtualBox虚拟机软件(oracle vm virtualbox win10)
- 开源 SPL 轻松应对 T+0(开源srs)
- 中小企业佳选正睿ZI1TS4-4536服务器评测
- MFC转QT:Qt基础知识(mfc和qt的区别)
- 数据库,QSqlTableModel(数据库有哪些)
- python通过oledb连接dbf数据库(python连接jdbc)
- Excel常用技能分享与探讨(5-宏与VBA简介 VBA与数据库)
- Excel常用技能分享与探讨(5-宏与VBA简介 VBA与数据库-二)
- 标签列表
-
- oracle位图索引 (63)
- oracle批量插入数据 (62)
- oracle事务隔离级别 (53)
- oracle 空为0 (50)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)