当前位置: 首页 > news >正文

【hive】单节点搭建hadoop和hive

一、背景

需要使用hive远程debug,尝试使用无hadoop部署hive方式一直失败,无果,还是使用有hadoop方式。最终查看linux内存占用6GB,还在后台运行docker的mysql(bitnami/mysql:8.0),基本满意。

版本选择:
(1)hive2 hadoop2 和hive3和hadoop3需要搭配使用,不能像chd的hive2和hadoop3搭配使用,容易出现问题。
本文选择版本,都是官网推荐的版本:
hadoop-3.3.6.tar.gz
apache-hive-3.1.3-bin.tar.gz

二、创建用户和组

# hadoop缩写hdp
useradd hdp
groupadd hadoop

后边启动hadoop不能用root用户。

三、配置集群(单节点)互信

su hdp && cd .ssh
ssh-keygen
# 一路回车
cat id_rsa.pub >> authorized_keys
vi /etc/hosts
# localhost 行后追加 hdp # 配置后测试下
ssh hdp 
ssh localhost

四、hadoop搭建

hadoop官网
下载安装包
本文hadoop安装路径:/opt/hadoop-3.3.6

# 解压
tar -xvf hadoop-3.3.6.tar.gz 
# 改名字
mv ... hadoop-3.3.6# 加个软连接
cd hadoop-3.3.6
ln -s etc/hadoop conf

修改hadoop-env.sh

export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"

修改core-site.xml,添加:

<configuration><property><name>fs.defaultFS</name><value>hdfs://hdp:9000</value><description>hdfs内部通讯访问地址</description></property><property><name>hadoop.tmp.dir</name><!--临时文件目录需要自己建立--><value>/var/hadoop/tmp</value></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value>
</property>
</configuration>

修改hdfs-site.xml,添加:

<configuration><property><name>dfs.namenode.name.dir</name><value>/var/hadoop/data/namenode</value><description> namenode 存放name table(fsimage)本地目录需要修改,如果没有需要自己创建文件目录)</description></property><property><name>dfs.datanode.data.dir</name><value>/var/hadoop/data/datanode</value><description>datanode存放block本地目录(需要修改,如果没有需要自己创建文件目录)</description></property><property><!--由于只有一台机器,hdfs的副本数就指定为1--><name>dfs.replication</name><value>1</value></property>
</configuration>

修改yarn-site.xml

<configuration>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.scheduler.maximum-allocation-mb</name><value>2048</value>
</property>
<property><name>yarn.scheduler.minimum-allocation-mb</name><value>2048</value>
</property>
<property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>2.1</value>
</property>
<property><name>mapred.child.java.opts</name><value>-Xmx1024m</value>
</property>
<property><name>yarn.application.classpath</name><value>/opt/hadoop-3.3.6/conf:/opt/hadoop-3.3.6/share/hadoop/common/lib/*:/opt/hadoop-3.3.6/share/hadoop/common/*:/opt/hadoop-3.3.6/share/hadoop/hdfs:/opt/hadoop-3.3.6/share/hadoop/hdfs/lib/*:/opt/hadoop-3.3.6/share/hadoop/hdfs/*:/opt/hadoop-3.3.6/share/hadoop/mapreduce/*:/opt/hadoop-3.3.6/share/hadoop/yarn:/opt/hadoop-3.3.6/share/hadoop/yarn/lib/*:/opt/hadoop-3.3.6/share/hadoop/yarn/*</value>
</property>
</configuration>

yarn.application.classpath是使用hadoop classpath生成的,一定要有此配置。

修改mapred-site.xml,添加:

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
touch init-env.sh

添加如下内容,本文使用的hadoop安装路径的是:/opt/hadoop-3.3.6

#!/bin/bash
# 移除老的环境变量
# 如果本机已经安装过hadoop一定要注意,将旧hadoop环境变量移除,可以使用printenv 或者env 查看已经有的环境变量
unset HADOOP_HDFS_HOME
unset HADOOP_YARN_HOME
unset HADOOP_CLASSPATH
unset HADOOP_MAPRED_HOME
unset HADOOP_HOME
unset HADOOP_CONF_DIR
# 添加新的环境变量
export HADOOP_HOME=/opt/hadoop-3.3.6
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export HADOOP_LOG_DIR=/var/hadoop/log
export PATH=$HADOOP_HOME/bin:$PATH

加载环境变量

source init-env.sh
# 测试下:
env
echo $HADOOP_HOME
echo $HADOOP_CONF_DIR

初始化namenode

# 删除hdfs-site.xml中配置的namenode和datanode本地路径
rm -rf /var/hadoop/data/namenode/* /var/hadoop/data/datanode/*
hdfs namenode  -format

启动和停止hadoop

chown -R hdp:hadoop $HADOOP_HOME
# 必须使用非root账户登录
su hdp
$HADOOP_HOME/sbin/start-all.sh
# 使用jps查看下java进程情况:
NameNode
ResourceManager
NodeManager
SecondaryNameNode
DataNode# 停止
$HADOOP_HOME/sbin/stop-all.sh# 可以在console查看日志的脚本,即单独启动yarn或者hdfs:
start-dfs.sh
start-yarn.sh

hdfs web
yarn web
使用命令行确认下hdfs和yarn是否可用:

hdfs dfs -mkdir /tmp
hdfs dfs -ls /
yarn application -list

六、hive搭建

本文hive安装位置:/opt/hive-3.1.3/
hive官网

tar -xvf apache-hive-3.1.3-bin.tar.gz
mv apache-hive-3.1.3-bin hive-3.1.3
cd hive-3.1.3 && mkdir logs
cp hive-env.sh.template hive-env.sh
touch hive-site.xml
# 不手动添加的话,hive不打印日志!!!
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

修改hive-env.sh

HADOOP_HOME=/opt/hadoop-3.3.6

修改hive-site.xml,添加:
本文hive使用mysql作为metastore,提前在mysql中创建好数据库hive3_local

<configuration>
<!-- 数据库连接JDBC的URL地址,&amp; 是urlencode后的表达-->
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://mysql-ip:3306/hive3_local?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property><!-- 数据库连接driver,即MySQL驱动-->
<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value>
</property><!-- MySQL数据库用户名-->
<property><name>javax.jdo.option.ConnectionUserName</name><value>root</value>
</property><!-- MySQL数据库密码-->
<property><name>javax.jdo.option.ConnectionPassword</name><value>密码</value>
</property>
<property><!--hive表在hdfs的位置--><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value>
</property>
<property><name>hive.security.authorization.enabled</name><value>false</value>
</property>
<property><name>hive.security.authorization.createtable.owner.grants</name><value>ALL</value>
</property>
<property><name>hive.server2.enable.doAs</name><value>false</value>
</property>
</configuration>
touch init-env.sh

添加如下内容

#!/bin/bash
export HIVE_HOME=/opt/hive-3.1.3
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$HIVE_HOME/bin:$PATH

加载hive环境变量。

source init-env.sh

初始化metastore
把数据库jdbc驱动复制到lib目录下,本文是mysql-connector-j-8.0.31.jar

# 进入hive的bin目录
./schematool -dbType mysql -initSchema

配置hive启动脚本

touch start-all.sh

添加如下内容:

#!/bin/bash
nohup $HIVE_HOME/bin/hive --service metastore &
nohup $HIVE_HOME/bin/hive --service hiveserver2 &

启动hive,注:一定要确保hadoop已经成功启动,才能启动hive,否则连接hive beeline会卡死但是不报错!!!

chown -R hdp:hadoop $HIVE_HOME
su hdp
source /opt/hadoop-3.3.6/conf/init-env.sh
source /opt/hive-3.1.3/conf/init-env.sh
sh start-all.sh# 查看进程,可以看到两个RunJar。
jps
153216 RunJar
152044 RunJar

配置hive停止脚本

touch stop-all.sh

添加如下内容:

jps | grep RunJar | awk '{print $1}' | xargs kill -9

判断linux端口使用已经监听:

# hive的metastore端口号9083
netstat -ntulp |grep 9083
# 出现端口信息,说明metastore已经启动成功了。
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
tcp6       0      0 :::9083                 :::*                    LISTEN      152044/java
# 使用如上获取的ip获取具体进程启动命令:
ps -ef | grep 152044
hdp      152044  36213  0 4月09 pts/1   00:01:01 /usr/hdp/3.0.1.0-187/jdk1.8/bin/java -Dproc_jar -Xmx2048m -Dproc_metastore -Dlog4j2.formatMsgNoLookups=true -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/opt/hive-3.1.3/conf/parquet-logging.properties -Dyarn.log.dir=/opt/hadoop-3.3.6/logs -Dyarn.log.file=hadoop.log -Dyarn.home.dir=/opt/hadoop-3.3.6 -Dyarn.root.logger=INFO,console -Djava.library.path=/opt/hadoop-3.3.6/lib/native -Dhadoop.log.dir=/opt/hadoop-3.3.6/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/hadoop-3.3.6 -Dhadoop.id.str=hdp -Dhadoop.root.logger=INFO,console -Dhadoop.policy.file=hadoop-policy.xml -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /opt/hive-3.1.3/lib/hive-metastore-3.1.3.jar org.apache.hadoop.hive.metastore.HiveMetaStore# hive的hiveserver2端口号10000
netstat -ntulp | grep 10000
# 出现端口信息,说明hiveserver已经启动成功了。
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
tcp6       0      0 :::10000                :::*                    LISTEN      152045/java
# 使用如上获取的ip获取具体进程启动命令:
ps -ef | grep 152045
hdp      152045  36213  0 4月09 pts/1   00:04:30 /usr/hdp/3.0.1.0-187/jdk1.8/bin/java -Dproc_jar -Xmx2048m -Dproc_hiveserver2 -Dlog4j2.formatMsgNoLookups=true -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/opt/hive-3.1.3/conf/parquet-logging.properties -Djline.terminal=jline.UnsupportedTerminal -Dyarn.log.dir=/opt/hadoop-3.3.6/logs -Dyarn.log.file=hadoop.log -Dyarn.home.dir=/opt/hadoop-3.3.6 -Dyarn.root.logger=INFO,console -Djava.library.path=/opt/hadoop-3.3.6/lib/native -Dhadoop.log.dir=/opt/hadoop-3.3.6/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/hadoop-3.3.6 -Dhadoop.id.str=hdp -Dhadoop.root.logger=INFO,console -Dhadoop.policy.file=hadoop-policy.xml -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /opt/hive-3.1.3/lib/hive-service-3.1.3.jar org.apache.hive.service.server.HiveServer2

beeline链接hive

beeline
# 输入`!verbose`,设置打印日志verbose
!verbose
# 使用hive用户登录,不输入密码(空密码),直接回车。
!connect jdbc:hive2://localhost:10000 hive

七、参考文档

hadoop和hive单机部署
Hive2 新版连接工具 beeline 详解
找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
DBeaver连接Hive错误总结
User: hadoop is not allowed to impersonate anonymous
return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
hive设置权限
hive 入门 修改hive日志路径
Hadoop常见端口号及配置文件

相关文章:

【hive】单节点搭建hadoop和hive

一、背景 需要使用hive远程debug&#xff0c;尝试使用无hadoop部署hive方式一直失败&#xff0c;无果&#xff0c;还是使用有hadoop方式。最终查看linux内存占用6GB&#xff0c;还在后台运行docker的mysql(bitnami/mysql:8.0)&#xff0c;基本满意。 版本选择&#xff1a; &a…...

Aurora 协议学习理解与应用——Aurora 8B10B协议学习

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Aurora 8B10B协议学习之一&#xff0c;理解协议 概述8B10B数据发送和接收Symbol-Pairs传输调度用户PDU传输过程用户PDU接收过程 流控自然流量控制操作自然流量控制延迟自然流…...

Vue基础使用之V-Model绑定单选、复选、动态渲染选项的值

这里要说明一下&#xff0c;在v-model 绑定的值是id还是value是和<option>中的v-bind保持一致的&#xff0c;如第四个&#xff0c;如果是 <option :value"op[1]" 那v-model绑定的就是数组第二项的值2&#xff0c;4&#xff0c;6 如果是 <option :va…...

分析ARP解析过程

1、实验环境 主机A和主机B连接到交换机&#xff0c;并与一台路由器互连&#xff0c;如图7.17所示&#xff0c;路由器充当网关。 图7.17 实验案例一示意图 2、需求描述 查看 ARP 相关信息,熟悉在PC 和 Cisco 设备上的常用命令,设置主机A和主机B为同一个网段网关设置为路由接…...

为硬刚小米SU7,华为智界S7整出了「梅开二度」操作

如今国产中大型新能源轿车市场&#xff0c;在小米 SU7 加入后&#xff0c;可算彻底活了过来。 过去几年&#xff0c;咱们自主新能源品牌在 20-30 万元级轿车上发力明显不足&#xff0c;老牌车厂比亚迪汉几乎以一己之力扛起销量担当。 随着新能源汽车消费升级、竞争加剧&#x…...

408数据结构,怎么练习算法大题?

其实考研的数据结构算法题是有得分技巧的 得分要点 会写结构定义&#xff08;没有就自己写上&#xff09;写清楚解题的算法思想描述清楚算法实现最后写出时间和空间复杂度 以上这四步是完成一道算法题的基本步骤&#xff0c;也是其中得分的主要地方就是后面两步。但是前面两…...

imgcat 工具

如果经常在远程服务器或嵌入式设备中操作图片&#xff0c;要查看图片效果&#xff0c;就要先把图片dump到本地&#xff0c;比较麻烦。可以使用这个工具&#xff0c;直接在终端上显示。类似于这种效果。 imgcat 是一个终端工具&#xff0c;使用 iTerm2 内置的特性&#xff0c;允…...

Anaconda换清华源

1. 查看conda配置文件 sudo vim ~/.condarc2. 删除~/.condarc文件内容 使用vim中的dd命令 3. 打开并复制清华源的地址粘贴到~/.condarc文件中 https://mirrors4.tuna.tsinghua.edu.cn/help/anaconda/ channels:- defaults show_channel_urls: true default_channels:- https…...

react使用npm i @reduxjs/toolkit react-redux

npm i reduxjs/toolkit react-redux 创建一个 store文件夹&#xff0c;里面创建index.js文件和子模块文件夹 index,js文件写入以下代码 import {configureStore} from reduxjs/toolkit // 导入子模块 import counterReducer from ./modules/one import two from ./modules/tw…...

Nessus【部署 03】Docker部署漏洞扫描工具Nessus详细过程分享(下载+安装+注册+激活)文末福利

Docker部署漏洞扫描工具Nessus 1.安装2.配置2.1 添加用户2.2 获取Challenge code2.3 获取插件和许可证2.4 注册 3.使用4.进阶 整体流程&#xff1a; 1.安装 # 1.查询镜像 docker search nessus# 2.拉取镜像 docker pull tenableofficial/nessus# 3.启动镜像【挂载目录用于放置…...

2023年看雪安全技术峰会(公开)PPT合集(11份)

2023年看雪安全技术峰会&#xff08;公开&#xff09;PPT合集&#xff0c;共11份&#xff0c;供大家学习参阅。 1、MaginotDNS攻击&#xff1a;绕过DNS 缓存防御的马奇诺防线 2、从形式逻辑计算到神经计算&#xff1a;针对LLM角色扮演攻击的威胁分析以及防御实践 3、TheDog、0…...

Docker仅需3步搭建免费私有化的AI搜索引擎-FreeAskInternet

简介 FreeAskInternet 是一个完全免费、私有且本地运行的搜索引擎&#xff0c;并使用 LLM 生成答案&#xff0c;无需 GPU。用户可以提出问题&#xff0c;系统会进行多引擎搜索&#xff0c;并将搜索结果合并到ChatGPT3.5 LLM中&#xff0c;并根据搜索结果生成答案。 什么是 Fr…...

线程安全的单例模式

使用 synchronized 修饰 getInstance 方法 确保了只有一个线程可以同时访问 getInstance 方法。这意味着在任何时候只有一个线程可以执行 getInstance() 方法&#xff0c;从而避免了多个线程同时创建多个实例的情况&#xff0c;因此是线程安全的。 public class ClientUtil {…...

OpenHarmony实战开发-Grid和List内拖拽交换子组件位置。

介绍 本示例分别通过onItemDrop()和onDrop()回调&#xff0c;实现子组件在Grid和List中的子组件位置交换。 效果图预览 使用说明&#xff1a; 拖拽Grid中子组件&#xff0c;到目标Grid子组件位置&#xff0c;进行两者位置互换。拖拽List中子组件&#xff0c;到目标List子组件…...

设计模式:时序图

设计模式&#xff1a;时序图 设计模式&#xff1a;时序图时序图元素&#xff08;Sequence Diagram Elements&#xff09;角色&#xff08;Actor&#xff09;对象&#xff08;Object&#xff09;生命线&#xff08;Lifeline&#xff09;控制焦点&#xff08;Focus of Control&am…...

前端性能监控(面试常见)

1. 用户体验优化 2. Web Vitals提取了几个核心网络指标 哇一头死 FCL 三大指标 FID被 INP干点 Largest Contentful Paint (LCP)&#xff1a;最大内容绘制 衡量加载性能。 为了提供良好的用户体验&#xff0c;LCP 必须在网页首次开始加载后的 2.5 秒内发生。Interaction to Ne…...

react17 + antd4 如何实现Card组件与左侧内容对齐并撑满高度

在使用antd进行页面布局时&#xff0c;经常会遇到需要将内容区域进行左右分栏&#xff0c;并在右侧区域内放置一个或多个Card组件的情况。然而&#xff0c;有时我们会发现右侧的Card组件并不能与左侧的栏目对齐&#xff0c;尤其是当左侧栏目高度动态变化时。本文将介绍如何使用…...

Rust入门-Hello World

1、安装 在 Linux 或 macOS 上安装 rustup 打开终端并输入下面命令&#xff1a; $ curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh如果安装成功&#xff0c;将出现下面这行&#xff1a; Rust is installed now. Great!2、更新 $ rustup self uninstall3、卸…...

堆放砖块-第12届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第47讲。 堆放砖块&#xf…...

019——IIC模块驱动开发(基于EEPROM【AT24C02】和I.MX6uLL)

目录 一、 IIC基础知识 二、Linux中的IIC&#xff08;韦东山老师的学习笔记&#xff09; 1. I2C驱动程序的层次 2. I2C总线-设备-驱动模型 2.1 i2c_driver 2.2 i2c_client 三、 AT24C02 介绍 四、 AT24C02驱动开发 实验 驱动程序 应用程序 一、 IIC基础知识 总线类…...

【开发篇】十三、JVM基础参数设置与垃圾回收器的选择

文章目录 1、-Xmx 和 –Xms2、-XX:MaxMetaspaceSize 和 –XX:MetaspaceSize3、-Xss4、不建议改的参数5、其他参数6、选择GC回收器的调试思路7、CMS的并发模式失败现象的解决8、调优案例 GC问题解决方式&#xff1a; 优化JVM基础参数&#xff0c;避免频繁Full GC减少对象的产生…...

多维 HighCharts

1&#xff1a;showHighChart.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><!-- js脚本都是官方的,后两个是highchart脚本 --><script type"text/javascript" src"jquery1.7.1.mi…...

单细胞RNA测序(scRNA-seq)cellranger count的细胞定量和aggr整合

单细胞RNA测序(scRNA-seq)基础知识可查看以下文章: 单细胞RNA测序(scRNA-seq)工作流程入门 单细胞RNA测序(scRNA-seq)细胞分离与扩增 单细胞RNA测序(scRNA-seq)SRA数据下载及fastq-dumq数据拆分 单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控 细胞定量…...

Unity URP 2021 Release-Notes

&#x1f308;Unity URP 2021 Release-Notes 本文信息收集来自自动搜集工具&#x1f448; 版本更新内容2021.3.32URP: Vulkan URP will use MSAA samples count fallback from player settings. Prior to this x2 fallback would have been to upgrade to x4.(UUM-741)2021.3.…...

最新IntelliJ IDEA 2024.1 安装和快速配置教程

IntelliJ IDEA 2024.1 最新版如何快速入门体验?IntelliJ IDEA 2024.1 安装和配置教程 图文解说版 文章目录 IntelliJ IDEA 2024.1 最新版如何快速入门体验?IntelliJ IDEA 2024.1 安装和配置教程 图文解说版前言 第一步&#xff1a; IntelliJ IDEA 2024.1安装教程第 0 步&…...

24应届生求职中QAQ

有没有大佬给个机会帮忙内推一下啊&#xff0c;找工作太难了QAQ。 最近一直在BOOS上找工作&#xff0c;但是结果不太理想&#xff0c;一直没有找到满意的工作&#xff0c;有没有大佬帮忙内推一下&#xff0c;有的话请私信我QAQ。...

centos7离线安装postgresql13

**一.**安装存储库RPM yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm二.使用yumdownloader下载安装包 mkdir pg_yum cd pg_yum yumdownloader --resolve postgresql13-server**三.**上传rpm包到安…...

【JavaSE】搞定String类

前言 本篇会细致讲解String类的常见用法&#xff0c;让小伙伴们搞定String类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 常用的三种字符串构造 字符串长度length 字符串比较 比较 比较字符串的内容equals…...

数字乡村创新实践探索农业现代化与农村治理现代化新路径:科技赋能农村全面振兴与农民幸福生活

目录 引言 一、数字乡村与农业现代化 1、智慧农业技术的应用 2、农业产业链的数字化转型 二、数字乡村与农村治理现代化 1、农村信息化水平的提升 2、农村治理模式的创新 三、科技赋能农村全面振兴与农民幸福生活 1、提升农业生产效益与农民收入 2、促进农村产业结构…...

【从零开始手搓12306项目】四、12306是如何成为全球最忙碌的网站之一?

4.1 12306有多忙碌 一天的请求量大概1600亿&#xff0c;平均180万/秒&#xff08;二八理论&#xff1a;20%的事件产生80%的请求&#xff09;&#xff0c;不适合二八理论&#xff0c;因为12306分时间放票 平均一年售出30亿张&#xff0c;高峰期日售票能力达到了2000万张 高峰期…...

wordpress建立栏目/站点搜索

因为安装的的xampp不知道如何查看我的Apache版本是多少&#xff0c;就先把com.allow_dcomtrue打开了&#xff0c;但是仍旧报错说找不到com类&#xff0c;然后就把下面的extension扩展添加到php.ini中然后就可以看了要想完美解决&#xff0c;office转pdf或者html&#xff0c;最好…...

西安360免费做网站/优化网站推广

1、使用pyinstaller将py打包成exe 1、安装 pip install pyinstaller2、打包成exe可执行文件 pyinstaller -F packTest.py #packTest.py为待打包的py文件打包成功后会在同级目录中生成两个文件夹和一个文件&#xff0c;分别为dist和build文件夹&#xff0c;以及一份与.py文件同…...

网上做家教兼职哪个网站/西安百度关键词优化排名

10.12-10.15 rewrite配置if,break和last的用法,rewrite规则,Nginx全局变量Nginx的Rwrite配置加粗 域名跳转(重定向)、URL重写&#xff08;伪静态&#xff09;、动静分离&#xff08;跳转域名&#xff0c;并接入CDN实现加速&#xff09;依赖PCRE库模块&#xff1a;ngx_http_rewr…...

做网站的公司算外包公司吗/朋友圈广告推广代理

每日一言&#xff1a;当下的付出&#xff0c;是明日的花卉。 Android 存储路径 Log.d("内置SD卡路径&#xff1a;指定图片保存的路径",Environment.getExternalStorageDirectory().getAbsolutePath()); Log.d("默认的图片路径",Environment.getExternalSt…...

wordpress 刷评论数量/网络推广公司收费标准

http://www.cnblogs.com/12go/archive/2011/12/28/2304502.html转载于:https://www.cnblogs.com/cjy1993/p/3927140.html...

网站死了怎么办/点击器原理

故障背景&#xff1a; 克隆完虚拟机后&#xff0c;连不上网&#xff0c;ifconfig查看后&#xff0c;发现网卡eth0没有启动&#xff0c;于是ifconfig eth0 up 启动eth0网卡&#xff0c;结果启动不了&#xff0c;进入/etc/sysconfig/network-scripts/ifcfg-eth0查看后&#xff0c…...