Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整

文章目录

  • 前置知识
  • 一、Deployment脚本部署Tomcat集群
  • 二、外部访问Tomcat集群
  • 三、利用Rinted对外提供Service负载均衡支持
    • 1、创建服务
    • 2、端口转发工具Rinetd
    • 3、定义jsp文件查看转发到哪个节点
  • 四、部署配置挂载点
  • 五、基于NFS实现集群文件共享
    • 1、master
    • 2、node
    • 3、验证
  • 六、集群配置调整与资源限定
    • 1、增加资源限定
    • 2、调整节点
  • 总结
    • 1、ERROR: cannot verify www.boutell.co.uk's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:Issued certificate has expired.To connect to www.boutell.co.uk insecurely, use `--no-check-certificate'.
    • 2、k8s的master无法ping通ClusterIP

前置知识

Deployment脚本是一种用于自动化应用程序部署过程的脚本。它包含一系列命令和配置,用于将应用程序从开发环境部署到生产环境或其他目标环境。
部署相对于Kubernetes向Node节点发送指令,创建容器的过程,Kubernetes支持yml格式的部署脚本

与部署相关常用命令:

  • 创建部署:kubectl create -f 部署yml文件
  • 更新部署配置:kubectl apply -f 部署yml文件
  • 查看已部署pod:kubectl get pod [-o wide],-o wide表示详细信息
  • 查看Pod详细信息:kubectl describe pod pod名称
  • 查看pod输出日志:kubectl logs [-f] pod名称,-f表示是否实时更新
  • 删除部署服务:kubectl delete service

一、Deployment脚本部署Tomcat集群

master执行即可

设置部署文件,vi tomcat-deploy.yml,内容如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata: 
  name: tomcat-deploy
spec:
  replicas: 2 
  template: 
    metadata:
      labels:
        app: tomcat-cluster
    spec:
      containers:
      - name: tomcat-cluster
        image: tomcat:latest
        ports:
        - containerPort: 8080

创建部署:kubectl create -f tomcat-deploy.yml

[root@master k8s]# kubectl create -f tomcat-deploy.yml
deployment.extensions/tomcat-deploy created

看看是否配置正确:kubectl get deployment

[root@master k8s]# kubectl get deploy
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
tomcat-deploy   2/2     2            2           6m34s

二、外部访问Tomcat集群

设置服务文件,vi tomcat-service.yml,内容如下:

apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
  labels:
    app: tomcat-service
spec:
  type: NodePort
  selector:
    app: tomcat-cluster
  ports:
  - port: 8000
    targetPort: 8080
    nodePort: 32500

参数说明:spec.selector.app就是我们之前部署的集群标签名
Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整_第1张图片
创建部署:kubectl create -f tomcat-service.yml

[root@master k8s]# kubectl create -f tomcat-service.yml
service/tomcat-service created

看看是否配置正确:kubectl get service

[root@master forlan-test]# kubectl get service
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
kubernetes       ClusterIP   10.96.0.1               443/TCP    173m
tomcat-service   ClusterIP   10.110.88.125           8000/TCP   159m

访问验证:此时,我们就可以通过node节点的ip+暴露的nodePort进行访问,http://192.168.56.201:32500 或 http://192.168.56.202:32500,打开界面,第一次比较慢,会出现404表示成功
Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整_第2张图片

三、利用Rinted对外提供Service负载均衡支持

上面主要通过节点和暴露的端口访问,无法进行负载均衡,没有利用起集群这个利器,我们通过Rinted,我们直接访问master节点即可,还可以实现负载均衡,下面就来操作实现下

1、创建服务

删除之前部署的服务

[root@master k8s]# kubectl delete service tomcat-service
service "tomcat-service" deleted

编辑服务文件,vi tomcat-service.yml,调整内容,主要注释掉type: NodePortnodePort: 32500

apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
  labels:
    app: tomcat-service
spec:
#  type: NodePort
  selector:
    app: tomcat-cluster
  ports:
  - port: 8000
    targetPort: 8080
#    nodePort: 32500

重新创建服务:kubectl create -f tomcat-service.yml

[root@master k8s]# kubectl create -f tomcat-service.yml
service/tomcat-service created

看看是否配置正确:kubectl get service

[root@master forlan-test]# kubectl get service
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
kubernetes       ClusterIP   10.96.0.1               443/TCP    173m
tomcat-service   ClusterIP   10.110.88.125           8000/TCP   159m

查看详细的服务信息:kubectl describe service tomcat-service

[root@master forlan-test]# kubectl describe service tomcat-service
Name:              tomcat-service
Namespace:         default
Labels:            app=tomcat-service
Annotations:       
Selector:          app=tomcat-cluster
Type:              ClusterIP
IP:                10.110.88.125
Port:                8000/TCP
TargetPort:        8080/TCP
Endpoints:         10.244.1.10:8080,10.244.2.9:8080
Session Affinity:  None
Events:            

验证一下,正常情况下,在master发生请求,应该返回404才对,但是这里很奇怪,在node节点发送请求,返回404,待解决

[root@node2 forlan-web]# curl 10.110.88.125:8000
<!doctype html>"en">HTTP Status 404 – Not Found<<span class="token operator">/</span>title><style <span class="token function">type</span>=<span class="token string">"text/css"</span>>body <span class="token punctuation">{</span>font-family:Tahoma<span class="token punctuation">,</span>Arial<span class="token punctuation">,</span>sans-serif<span class="token punctuation">;</span><span class="token punctuation">}</span> h1<span class="token punctuation">,</span> h2<span class="token punctuation">,</span> h3<span class="token punctuation">,</span> b <span class="token punctuation">{</span>color:white<span class="token punctuation">;</span>background-color:<span class="token comment">#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/10.0.14</h3></body></html>[root@node2 forlan-web]# </span>
</code></pre> 
  <h3>2、端口转发工具Rinetd</h3> 
  <blockquote> 
   <p>上面只是实现在节点内访问,想在外部访问,往下操作</p> 
  </blockquote> 
  <p>下载rinetd工具包,解压</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master k8s]</span><span class="token comment"># wget http://www.boutell.com/rinetd/http/rinetd.tar.gz --no-check-certificate</span>
<span class="token namespace">[root@master k8s]</span><span class="token comment"># tar -xzvf rinetd.tar.gz</span>
</code></pre> 
  <p>进入rinetd目录,修改 rinetd.c 文件,将文件中的所有 65536 替换为 65535</p> 
  <pre><code class="prism language-powershell">cd rinetd
sed <span class="token operator">-</span>i <span class="token string">'s/65536/65535/g'</span> rinetd<span class="token punctuation">.</span>c
</code></pre> 
  <p>注:"s"表示替换操作,"65536"是要被替换的内容,"65535"是替换后的内容,"g"表示全局替换</p> 
  <p>创建rinetd要求的目录/usr/man,安装gcc编译器,编译并安装程序</p> 
  <pre><code class="prism language-powershell">mkdir <span class="token operator">-</span>p <span class="token operator">/</span>usr/man
yum install <span class="token operator">-</span>y gcc
make && make install
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/43019a2f1ee94ef38ad568d42da8f7d3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/43019a2f1ee94ef38ad568d42da8f7d3.jpg" alt="Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整_第3张图片" width="650" height="122" style="border:1px solid black;"></a></p> 
  <p>进行端口映射<br> 编辑配置文件:<code>vi /etc/rinetd.conf</code>,0.0.0.0表示所有ip都转发</p> 
  <pre><code class="prism language-powershell">0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0 8000 10<span class="token punctuation">.</span>110<span class="token punctuation">.</span>88<span class="token punctuation">.</span>125 8000
</code></pre> 
  <p>让配置生效</p> 
  <pre><code class="prism language-powershell">rinetd <span class="token operator">-</span>c <span class="token operator">/</span>etc/rinetd<span class="token punctuation">.</span>conf
</code></pre> 
  <p>查看是否有监听8000端口:netstat -tulpn|grep 8000</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master rinetd]</span><span class="token comment"># netstat -tulpn|grep 8000</span>
tcp        0      0 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8000            0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:<span class="token operator">*</span>               LISTEN      25126/rinetd 
</code></pre> 
  <p>访问masterIp:8000验证,出现404表示成功</p> 
  <h3>3、定义jsp文件查看转发到哪个节点</h3> 
  <p>在node节点查看当前运行的容器</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@node1 /]</span><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS     NAMES
e704f7fd1af2   tomcat                 <span class="token string">"catalina.sh run"</span>        54 minutes ago   Up 54 minutes             k8s_tomcat-cluster_tomcat-deploy-5fd4fc7ddb-d2cx8_default_b62cd02c-8a8d-11ee-bab1-5254004d77d3_0
</code></pre> 
  <p>进入容器内部:docker exec -it <container_id> /bin/bash</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@node1 /]</span><span class="token comment"># docker exec -it e704f7fd1af2 /bin/bash</span>
root@tomcat-deploy-5fd4fc7ddb-d2cx8:<span class="token operator">/</span>usr/local/tomcat<span class="token comment"># ls</span>
BUILDING<span class="token punctuation">.</span>txt  CONTRIBUTING<span class="token punctuation">.</span>md  LICENSE	NOTICE	README<span class="token punctuation">.</span>md  RELEASE-NOTES  RUNNING<span class="token punctuation">.</span>txt  bin  conf  lib  logs  native-jni-lib  temp  webapps  webapps<span class="token punctuation">.</span>dist  work
</code></pre> 
  <p>在webapps下新建我们的jsp文件,vi index.jsp,发现命令不支持,也安装不了相关的命令</p> 
  <pre><code class="prism language-powershell">root@tomcat-deploy-5fd4fc7ddb-d2cx8:<span class="token operator">/</span>usr/local/tomcat/webapps<span class="token comment"># vi index.jsp</span>
bash: vi: command not found
root@tomcat-deploy-5fd4fc7ddb-d2cx8:<span class="token operator">/</span>usr/local/tomcat/webapps<span class="token comment"># yum install vi</span>
bash: yum: command not found
</code></pre> 
  <p>上面的情况,目前有2种解决方案:</p> 
  <ul> 
   <li>通过Dockerfile自定义构建镜像,安装相关的指令</li> 
   <li>通过挂载宿主机目录到容器<br> 第1种方式可以参考:https://blog.csdn.net/qq_36433289/article/details/134731875<br> 下面我们来介绍下第2种方式</li> 
  </ul> 
  <h2>四、部署配置挂载点</h2> 
  <p>主要是把宿主机的/forlan-web目录挂载到容器内的/usr/local/tomcat/webapps目录,调整我们之前定义的部署文件:<code>vi tomcat-deploy.yml</code>,调整内容如下:<br> <a href="http://img.e-com-net.com/image/info8/f819eb21e638427dabe61f8d3ce7a286.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f819eb21e638427dabe61f8d3ce7a286.jpg" alt="Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整_第4张图片" width="457" height="442" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell">apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: tomcat-deploy
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: tomcat-cluster
    spec:
      volumes:
      <span class="token operator">-</span> name: web-app
        hostPath:
          path: <span class="token operator">/</span>forlan-web
      containers:
      <span class="token operator">-</span> name: tomcat-cluster
        image: tomcat:latest
        ports:
        <span class="token operator">-</span> containerPort: 8080
        volumeMounts:
        <span class="token operator">-</span> name: web-app
          mountPath: <span class="token operator">/</span>usr/local/tomcat/webapps
</code></pre> 
  <p>更新集群配置:<code>kubectl apply -f tomcat-deploy.yml</code></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master k8s]</span><span class="token comment"># kubectl apply -f tomcat-deploy.yml</span>
deployment<span class="token punctuation">.</span>extensions/tomcat-deploy configured
</code></pre> 
  <p>测试在宿主机/forlan-web/forlan-test下新增index.jsp文件,进入容器查看有同步即可,至此,就说明挂载成功了</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@node1 mnt]</span><span class="token comment"># vi /forlan-web/forlan-test/index.jsp</span>
<<span class="token operator">%=</span>request<span class="token punctuation">.</span>getLocalAddr<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">%</span>>
<span class="token namespace">[root@node1 mnt]</span><span class="token comment"># docker ps|grep tomcat-cluster</span>
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS         PORTS     NAMES
b064bbacaf00   tomcat                 <span class="token string">"catalina.sh run"</span>        2 minutes ago   Up 2 minutes             k8s_tomcat-cluster_tomcat-deploy-6678dccdc9-gjd9r_default_b5c19b2c-8aa4-11ee-bab1-5254004d77d3_0
<span class="token namespace">[root@node1 mnt]</span><span class="token comment"># docker exec -it b064bbacaf00 /bin/bash</span>
root@tomcat-deploy-6678dccdc9-gjd9r:<span class="token operator">/</span>usr/local/tomcat<span class="token comment"># cd webapps</span>
root@tomcat-deploy-6678dccdc9-gjd9r:<span class="token operator">/</span>usr/local/tomcat/webapps<span class="token comment"># cat forlan-test/index.jsp</span>
<<span class="token operator">%=</span>request<span class="token punctuation">.</span>getLocalAddr<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">%</span>>
</code></pre> 
  <p>验证一下,访问masterIp:8000验证,出现10.244.2.9 或 10.244.1.10,就说明请求到了node1 或 node2</p> 
  <h2>五、基于NFS实现集群文件共享</h2> 
  <p>前面的index.jsp,是单独维护在node节点的机器,如果多个node节点存在相同文件,可以怎么处理?那就可以使用NFS来实现集群文件共享了</p> 
  <blockquote> 
   <p>Network File System - NFS<br> NFS,是由SUN公司研制的文件传输协议<br> NFS主要是采用远程过程调用RPC机制实现文件传输<br> NFS允许一台服务器在网络上共享文件和资源。/etc/exports 文件是 NFS 的主要配置文件,用于定义哪些目录或文件系统可以被哪些客户端共享</p> 
  </blockquote> 
  <h3>1、master</h3> 
  <p>安装组件</p> 
  <pre><code class="prism language-powershell">yum install <span class="token operator">-</span>y nfs-utils rpcbind
</code></pre> 
  <p>创建共享目录</p> 
  <pre><code class="prism language-powershell">cd <span class="token operator">/</span>usr/local
mkdir forlan-<span class="token keyword">data</span>
</code></pre> 
  <p>编辑暴露文件:vi /etc/exports</p> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr/local/forlan-<span class="token keyword">data</span> 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>56<span class="token punctuation">.</span>200/24<span class="token punctuation">(</span>rw<span class="token punctuation">,</span>sync<span class="token punctuation">)</span>
</code></pre> 
  <p>参数说明:</p> 
  <ul> 
   <li>/24表示子网掩码,它指示前24位是网络地址,剩下的8位是主机地址,这意味着这个IP地址范围内有256个可用的IP地址(因为2的8次方等于256)</li> 
   <li>192.168.56.200/24表示的确是从192.168.56.0到192.168.56.255的IP地址范围<br> (rw,sync)是访问模式</li> 
   <li>rw 表示客户端可读写共享的目录。</li> 
   <li>sync 表示数据在写入后会被同步刷新到磁盘上,以保证数据的持久性。</li> 
  </ul> 
  <p>启动服务并设置开机自动启动</p> 
  <pre><code class="prism language-powershell">systemctl <span class="token function">start</span> nfs<span class="token punctuation">.</span>service
systemctl <span class="token function">start</span> rpcbind<span class="token punctuation">.</span>service
systemctl enable nfs<span class="token punctuation">.</span>service
systemctl enable rpcbind<span class="token punctuation">.</span>service
</code></pre> 
  <p>验证是否配置成功:<code>exportfs</code>,看到配置说明成功</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master local]</span><span class="token comment"># exportfs</span>
<span class="token operator">/</span>usr/local/forlan-<span class="token keyword">data</span>
		192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>56<span class="token punctuation">.</span>200/24
</code></pre> 
  <p>后续暴露文件有变动,执行<code>exportfs -ra</code>重新加载NFS服务</p> 
  <h3>2、node</h3> 
  <p>安装组件</p> 
  <pre><code class="prism language-powershell">yum install <span class="token operator">-</span>y nfs-utils rpcbind
</code></pre> 
  <p>验证是否暴露了:showmount -e 192.168.56.200</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@node1 /]</span><span class="token comment"># showmount -e 192.168.56.200</span>
Export list <span class="token keyword">for</span> 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>56<span class="token punctuation">.</span>200:
<span class="token operator">/</span>usr/local/forlan-<span class="token keyword">data</span> 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>56<span class="token punctuation">.</span>200/24
</code></pre> 
  <p>进行挂载:</p> 
  <pre><code class="prism language-powershell"><span class="token function">mount</span> 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>56<span class="token punctuation">.</span>200:<span class="token operator">/</span>usr/local/forlan-<span class="token keyword">data</span> <span class="token operator">/</span>forlan-web
</code></pre> 
  <h3>3、验证</h3> 
  <p>master的共享目录增加文件index.jsp,node目录看得到,说明成功,如下:</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master forlan-data]</span><span class="token comment"># ll</span>
total 0
<span class="token namespace">[root@master forlan-data]</span><span class="token comment"># vi /usr/local/forlan-data/index.jsp</span>
<span class="token namespace">[root@master forlan-data]</span><span class="token comment"># ls</span>
index<span class="token punctuation">.</span>jsp

<span class="token namespace">[root@node1 forlan-web]</span><span class="token comment"># ls</span>
index<span class="token punctuation">.</span>jsp


<span class="token namespace">[root@node2 forlan-web]</span><span class="token comment"># ls</span>
index<span class="token punctuation">.</span>jsp
</code></pre> 
  <h2>六、集群配置调整与资源限定</h2> 
  <p>原来部署了2个,现在需要部署3个Tomcat?你起码得满足什么配置才能操作?</p> 
  <h3>1、增加资源限定</h3> 
  <ul> 
   <li>最低要求requests</li> 
   <li>最大限制limits</li> 
   <li>cpu不一定是整数,0.5也可以,指的是核数<br> <a href="http://img.e-com-net.com/image/info8/52f014afcdbc4b73b4ba9f762e281a4f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/52f014afcdbc4b73b4ba9f762e281a4f.jpg" alt="Deployment脚本部署Tomcat集群:外部访问、负载均衡、文件共享及集群配置调整_第5张图片" width="358" height="332" style="border:1px solid black;"></a></li> 
  </ul> 
  <h3>2、调整节点</h3> 
  <p>编辑部署文件:vi /k8s/tomcat-deploy.yml,更改<code>replicas: 3 </code></p> 
  <pre><code class="prism language-powershell">apiVersion: extensions/v1beta1
kind: Deployment
metadata: 
  name: tomcat-deploy
spec:
  replicas: 3 
  template: 
    metadata:
      labels:
        app: tomcat-cluster
    spec:
      volumes: 
      <span class="token operator">-</span> name: web-app
        hostPath:
          path: <span class="token operator">/</span>mnt
      containers:
      <span class="token operator">-</span> name: tomcat-cluster
        image: tomcat:latest
        resources:
          requests:
            cpu: 1
            memory: 500Mi
          limits:
            cpu: 2
            memory: 1024Mi
        ports:
        <span class="token operator">-</span> containerPort: 8080
        volumeMounts:
        <span class="token operator">-</span> name: web-app
          mountPath: <span class="token operator">/</span>usr/local/tomcat/webapps
</code></pre> 
  <p>更新集群配置:kubectl apply -f tomcat-deploy.yml</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master k8s]</span><span class="token comment"># kubectl apply -f tomcat-deploy.yml</span>
deployment<span class="token punctuation">.</span>extensions/tomcat-deploy configured
</code></pre> 
  <p>查看部署:kubectl get deployment,可以看到从2变为3台了</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@master k8s]</span><span class="token comment"># kubectl get deployment</span>
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
tomcat-deploy   3/3     3            3           100m
</code></pre> 
  <p><code>注:k8s默认是在负载低的节点新增pod</code></p> 
  <h2>总结</h2> 
  <h3>1、ERROR: cannot verify www.boutell.co.uk’s certificate, issued by ‘/C=US/O=Let’s Encrypt/CN=R3’:Issued certificate has expired.To connect to www.boutell.co.uk insecurely, use `–no-check-certificate’.</h3> 
  <p>解决:指令后面加上wget http://www.boutell.com/rinetd/http/rinetd.tar.gz --no-check-certificate</p> 
  <h3>2、k8s的master无法ping通ClusterIP</h3> 
  <p>问题明细:</p> 
  <blockquote> 
   <p>W1124 14:24:05.207176 1 proxier.go:493] Failed to load kernel module ip_vs with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules<br> W1124 14:24:05.208150 1 proxier.go:493] Failed to load kernel module ip_vs_rr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules<br> W1124 14:24:05.208974 1 proxier.go:493] Failed to load kernel module ip_vs_wrr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules<br> W1124 14:24:05.209778 1 proxier.go:493] Failed to load kernel module ip_vs_sh with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules<br> W1124 14:24:05.214337 1 server_others.go:267] Flag proxy-mode=“” unknown, assuming iptables proxy</p> 
  </blockquote> 
  <p>解决:</p> 
  <ul> 
   <li>添加IPV4模块</li> 
  </ul> 
  <pre><code class="prism language-powershell"><span class="token function">cat</span> > <span class="token operator">/</span>etc/sysconfig/modules/ipvs<span class="token punctuation">.</span>modules <<EOF
modprobe <span class="token operator">--</span> ip_vs
modprobe <span class="token operator">--</span> ip_vs_rr
modprobe <span class="token operator">--</span> ip_vs_wrr
modprobe <span class="token operator">--</span> ip_vs_sh
modprobe <span class="token operator">--</span> nf_conntrack_ipv4
EOF
chmod 755 <span class="token operator">/</span>etc/sysconfig/modules/ipvs<span class="token punctuation">.</span>modules && bash <span class="token operator">/</span>etc/sysconfig/modules/ipvs<span class="token punctuation">.</span>modules && lsmod <span class="token punctuation">|</span> grep <span class="token operator">-</span>e ip_vs <span class="token operator">-</span>e nf_conntrack_ipv4
</code></pre> 
  <ul> 
   <li>修改kupe-proxy的模式</li> 
  </ul> 
  <pre><code class="prism language-powershell">mode:<span class="token string">"ipvs"</span>
</code></pre> 
  <ul> 
   <li>重启kupe-proxy</li> 
  </ul> 
  <pre><code class="prism language-powershell">kubectl get pod <span class="token operator">-</span>n kube-system <span class="token punctuation">|</span> grep kube-proxy <span class="token punctuation">|</span>awk <span class="token string">'{system("kubectl delete pod "$1" -n kube-system")}'</span>
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1732172916738568192"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(运维,kubernetes,云原生)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892614122856574976.htm"
                           title="PTN(分组传送网)的简单高效运维之道" target="_blank">PTN(分组传送网)的简单高效运维之道</a>
                        <span class="text-muted">Covc0910</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>大规模的PTN网络建设之后,如何高效维护成为摆在各分公司眼前的主要问题之一。中国移动海南分公司在PTN网络的维护领域深入挖掘,通过对业务配置及调整、告警抑制及各类故障情况下业务快速恢复等不同场景的深入分析,和PTN厂商一起运维创新,独辟蹊径,在LTE时代到来之前率先走出了一条PTN高效简单运维的道路。一、PTN运维难点分析PTN作为IP化的传输设备,具有IP网络固有的运维复杂性,随着PTN网络规模</div>
                    </li>
                    <li><a href="/article/1892586257414942720.htm"
                           title="Docker 与 CI/CD:自动化构建和部署" target="_blank">Docker 与 CI/CD:自动化构建和部署</a>
                        <span class="text-muted">drebander</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/ci%2Fcd/1.htm">ci/cd</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a>
                        <div>在现代软件开发中,CI/CD(持续集成/持续部署)是一种高效的软件开发和运维方法。CI/CD通过自动化构建、测试和部署流程,减少了人为错误,提高了软件交付的速度和质量。Docker,作为一种容器化平台,为CI/CD提供了理想的运行环境,通过容器化实现应用的一致性和可移植性。本文将探讨如何将Docker与CI/CD集成,实现自动化构建和部署。1.Docker与CI/CD集成的优势1.1通过Docke</div>
                    </li>
                    <li><a href="/article/1892544892337451008.htm"
                           title="vue中原生表格的使用" target="_blank">vue中原生表格的使用</a>
                        <span class="text-muted">今天吃了嘛o</span>
<a class="tag" taget="_blank" href="/search/table%E5%8E%9F%E7%94%9F/1.htm">table原生</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a>
                        <div>因项目中需要大量的合并,而且表格左右布局,所以采用了原生table。colspan和rowspan分别代表合并多少行多少列。代码如下:线路名称{{item.lineName}}巡检区段{{item.scope}}运维管理单位{{item.operationAndMaintenanceCompany}}运检作业单位{{item.insWorkCompany}}巡检员{{item.droneWorkU</div>
                    </li>
                    <li><a href="/article/1892462136815316992.htm"
                           title="关于防火墙运维面试题2" target="_blank">关于防火墙运维面试题2</a>
                        <span class="text-muted">编织幻境的妖</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>三、防火墙配置与管理类21.如何根据企业的网络安全策略,制定一套全面的防火墙规则集?需要考虑哪些关键因素?以下是根据企业网络安全策略制定全面防火墙规则集的指导,以及需要考虑的关键因素:一、关键因素(一)网络架构与拓扑了解企业的网络结构明确企业网络是简单的星型拓扑、复杂的网状拓扑还是混合拓扑等。例如,在星型拓扑中,所有设备都连接到一个中心交换机或集线器,这种结构下防火墙规则可能相对集中和简单;而在网</div>
                    </li>
                    <li><a href="/article/1892462010453520384.htm"
                           title="关于防火墙运维面试题" target="_blank">关于防火墙运维面试题</a>
                        <span class="text-muted">编织幻境的妖</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>一、防火墙基础概念类1.请详细阐述防火墙在网络安全体系中的具体作用及核心原理。以下是防火墙在网络安全体系中的具体作用及核心原理的详细阐述:防火墙在网络安全体系中的作用访问控制限制非法访问:防火墙可以根据预设的规则,允许或拒绝特定的网络流量通过。例如,企业内部网络可能只允许来自特定IP地址范围的员工访问敏感资源,而阻止其他未经授权的外部IP地址的访问,从而保护内部网络免受未经授权的访问和潜在的攻击。</div>
                    </li>
                    <li><a href="/article/1892424024693207040.htm"
                           title="【k8s应用管理】kubernetes HPA+rancher" target="_blank">【k8s应用管理】kubernetes HPA+rancher</a>
                        <span class="text-muted">Karoku066</span>
<a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/rancher/1.htm">rancher</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>文章目录KubernetesHPA部署指南概述部署metrics-server部署HPARancher管理Kubernetes集群指南实验环境安装及配置RancherKubernetesHPA部署指南概述KubernetesHPA(HorizontalPodAutoscaling)可以根据Pod的CPU利用率自动调整Deployment、ReplicationController或ReplicaS</div>
                    </li>
                    <li><a href="/article/1892421754261925888.htm"
                           title="2025年三个月自学手册 网络安全(黑客技术)" target="_blank">2025年三个月自学手册 网络安全(黑客技术)</a>
                        <span class="text-muted">网安kk</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。如何成为一名黑客很多朋友在学习安全方面都会半路转行,因为不知如何去学,在这里,我将这个整份答案分为黑客(网络安全)入门必备、黑客(网络安全)职业指南、黑客(网络安全)学习导航</div>
                    </li>
                    <li><a href="/article/1892411035852271616.htm"
                           title="LLM与知识图谱融合:智能运维知识库构建" target="_blank">LLM与知识图谱融合:智能运维知识库构建</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E5%AE%9E%E6%88%98/1.htm">AI实战</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>1.背景介绍随着信息技术的飞速发展,IT运维管理面临着越来越大的挑战。海量的设备、复杂的网络环境、日益增长的数据量,使得传统的运维方式难以满足需求。为了提高运维效率和质量,智能运维应运而生。智能运维的核心是将人工智能技术应用于运维领域,通过机器学习、深度学习等算法,实现自动化、智能化的运维管理。其中,大语言模型(LLM)和知识图谱是两个重要的技术方向。LLM能够理解和生成自然语言,可以用于构建智能</div>
                    </li>
                    <li><a href="/article/1892404729082867712.htm"
                           title="前端504错误分析" target="_blank">前端504错误分析</a>
                        <span class="text-muted">ox0080</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%8C%97%E6%BC%82%2B%E6%BB%B4%E6%BB%B4%E5%87%BA%E8%A1%8C/1.htm">北漂+滴滴出行</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/VIP/1.htm">VIP</a><a class="tag" taget="_blank" href="/search/%E6%BF%80%E5%8A%B1/1.htm">激励</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>前端出现504错误(网关超时)通常是由于代理服务器未能及时从上游服务获取响应。以下是详细分析步骤和解决方案:1.确认错误来源504含义:代理服务器(如Nginx、Apache)在等待后端服务响应时超时。常见架构:前端→代理服务器→后端服务,问题通常出在代理与后端之间。2.排查步骤(1)检查后端服务状态确认服务是否运行:通过日志或监控工具(如systemctlstatus,KubernetesPod</div>
                    </li>
                    <li><a href="/article/1892382914956554240.htm"
                           title="运维分级发布_运维必备制度:故障分级和处罚规范" target="_blank">运维分级发布_运维必备制度:故障分级和处罚规范</a>
                        <span class="text-muted">weixin_39599046</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%88%86%E7%BA%A7%E5%8F%91%E5%B8%83/1.htm">运维分级发布</a>
                        <div>正文互联网产品提供7*24小时服务,而因人为操作、程序BUG等原因导致服务不可用是影响服务持续运行的重要原因,为了提高各业务产品的运维和运营质量,规范各业务线的服务、故障响应,拟定和发布“故障分级和处罚规范”是非常必要的。故障分级标准运营故障中,对非不可抗力所造成的故障归类为“故障”,对于故障将追究故障的分级,故障责任人,及故障处理结果。下面将就各类故障级别进行定义说明,由于故障可能在多方面体现影</div>
                    </li>
                    <li><a href="/article/1892374969279639552.htm"
                           title="【面试准备】运维工程师" target="_blank">【面试准备】运维工程师</a>
                        <span class="text-muted">C.尚水.Y</span>
<a class="tag" taget="_blank" href="/search/%E6%88%91%E7%9A%84%E9%9D%A2%E8%AF%95%E5%87%86%E5%A4%87/1.htm">我的面试准备</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>面试目标:岗位职责分析:1、IT相关设备、环境、运行状况的采购、安装、维护、保养、检查、IT资产管理;2、防火墙、路由器、网络交换机、VPN、服务器等性能优化,配置修改;3、光纤和ADSL线路的监控、测试、报障;4、ERP账号、文件服务器等软件账号的开放与权限管理、维护;5、邮箱OA服务器、文件服务器、ERP数据库服务器的日常管理、维护;6、公司网络工程的规划、项目实施、技术支持;—对这个运维工程</div>
                    </li>
                    <li><a href="/article/1892363994723840000.htm"
                           title="《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》" target="_blank">《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》</a>
                        <span class="text-muted">进击的雷神</span>
<a class="tag" taget="_blank" href="/search/%E6%AD%A6%E6%9E%97%E7%BB%9D%E5%AD%A6%EF%BC%9A%E6%8A%80%E6%9C%AF%E6%9D%82%E8%B0%88%E5%89%91%E5%BD%B1%E6%B5%81%E8%BD%AC/1.htm">武林绝学:技术杂谈剑影流转</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>目录智能运维革命:DeepSeek带来的范式转变DeepSeek核心运维能力全景解析分级实战场景与解决方案3.1初级工程师:自动化运维入门3.2中级工程师:复杂系统诊断与优化3.3高级工程师:架构级智能运维典型项目案例深度剖析4.1金融系统全链路监控体系构建4.2电商大促资源弹性调度实战4.3混合云环境下的安全加固分级能力提升路径效能提升数据验证挑战与演进方向构建智能运维体系行动指南1.智能运维革</div>
                    </li>
                    <li><a href="/article/1892344203044777984.htm"
                           title="网络流量如何从公共互联网抵达Kubernetes容器 Pod?" target="_blank">网络流量如何从公共互联网抵达Kubernetes容器 Pod?</a>
                        <span class="text-muted">硅基创想家</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Kubernetes%E5%AE%9E%E6%88%98%E4%B8%8E%E7%BB%8F%E9%AA%8C/1.htm">Kubernetes实战与经验</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>“解释网络流量如何从公共互联网抵达Kubernetes容器(Pod)”,这是DevOps技术面试中相当常见的问题。对这个问题给出准确且详尽的回答,能体现出DevOps工程师对Kubernetes各项流程的熟悉程度。在本文中,我将以在AWSEKS上运行Kubernetes为例,梳理这一过程。简短的答案可以概括为:用户请求→域名系统(DNS)→弹性负载均衡器(ELB)→Ingress控制器(可选)→K</div>
                    </li>
                    <li><a href="/article/1892344076632649728.htm"
                           title="Kubernetes的Ingress和Service有什么区别?" target="_blank">Kubernetes的Ingress和Service有什么区别?</a>
                        <span class="text-muted">硅基创想家</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Kubernetes%E5%AE%9E%E6%88%98%E4%B8%8E%E7%BB%8F%E9%AA%8C/1.htm">Kubernetes实战与经验</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>在Kubernetes中,Ingress和Service是两个不同的概念,它们在功能、作用范围、应用场景等方面存在明显区别,具体如下:功能Ingress:主要用于管理集群外部到内部服务的HTTP和HTTPS流量路由。它可以根据域名、路径等规则,将外部请求精确地路由到集群内不同的Service,实现更细粒度的流量控制和多服务共享一个IP等功能。Service:主要用于在Kubernetes集群内部为</div>
                    </li>
                    <li><a href="/article/1892344076049641472.htm"
                           title="Kubernetes的Ingress 资源是什么?" target="_blank">Kubernetes的Ingress 资源是什么?</a>
                        <span class="text-muted">硅基创想家</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Kubernetes%E5%AE%9E%E6%88%98%E4%B8%8E%E7%BB%8F%E9%AA%8C/1.htm">Kubernetes实战与经验</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>在Kubernetes中,Ingress资源是一种用于管理集群外部对内部服务访问的API对象,主要用于将不同的外部请求路由到集群内的不同服务,以下是关于它的详细介绍:定义与作用Ingress资源定义了从集群外部到内部服务的HTTP和HTTPS路由规则。通过Ingress,可以将多个不同域名或不同路径的请求,根据定义的规则,导向到集群内不同的Kubernetes服务,从而实现对集群内服务的统一外部访</div>
                    </li>
                    <li><a href="/article/1892324031793786880.htm"
                           title="SaaS的多租户数据隔离有哪几种?" target="_blank">SaaS的多租户数据隔离有哪几种?</a>
                        <span class="text-muted">衫恋冰</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>saas多租户系统总结下来基本有三种数据隔离方案,分别是:1、物理数据库隔离2、单数据库表空间隔离3、单表内租户id字段隔离三种方案的对比图如下:隔离方案成本安全优点缺点物理数据库隔离高高数据隔离级别高,而且也可以针对租户开发个性化需求,而且也可以支持更大的数据量。支持的租户数量较少,同时数据库独立安装带来的运维成本比较高物理数据库隔离中中一个数据库可支撑多个租户,同时成本也相对较低,而且也有一定</div>
                    </li>
                    <li><a href="/article/1892293621466591232.htm"
                           title="Linux运维常见问题排查" target="_blank">Linux运维常见问题排查</a>
                        <span class="text-muted">Hadesls</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a>
                        <div>1.Linux系统安装初始状态时>找不到硬盘,无法进入下一步安装解决方法:进入BIOS/COMS设置,找到硬盘设置相关选项,并设置为兼容模式。2.Linux系统安装时,在硬盘分区完成后>无法继续安装解决方法:硬盘分区不符合安装要求,可能忘记创建根分区或swap交换分区。这一点与Windows系统安装有区别。3.Linux系统安装时,软件包选择困惑,安装完成后发现有组件未按需求安装;解决方法:对Li</div>
                    </li>
                    <li><a href="/article/1892264503303794688.htm"
                           title="自动化运维工具ansible" target="_blank">自动化运维工具ansible</a>
                        <span class="text-muted">theo.wu</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a>
                        <div>Ansible批处理工具Ansible批处理工具功能图Ansible项目架构图一、Ansible介绍1、Ansible简介简介ansible是一种自动化运维工具,基于paramiko模块开发,实现了批量系统配置、批量程序部署、批量运行命令功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只提供一种框架。ansible这个框架</div>
                    </li>
                    <li><a href="/article/1892255922126909440.htm"
                           title="阿里云 MaxCompute MaxQA 开启公测,解锁近实时高效查询体验" target="_blank">阿里云 MaxCompute MaxQA 开启公测,解锁近实时高效查询体验</a>
                        <span class="text-muted">阿里云大数据AI技术</span>
<a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/MaxCompute/1.htm">MaxCompute</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%97%B6%E6%95%B0%E4%BB%93/1.htm">实时数仓</a>
                        <div>随着实时、近实时数据分析需求的持续增长,查询响应时间在现代数据分析和业务应用中变得越来越重要。为减少查询响应时间,提升数据效率,阿里云云原生大数据计算服务MaxCompute推出MaxQA(原MCQA2.0)查询加速功能,在独享的查询加速资源池的基础上,对管控链路、查询优化器、执行引擎、存储引擎以及缓存机制等多个环节进行全面优化,显著减少了查询响应时间,适用于BI场景、交互式分析以及近实时数仓等对</div>
                    </li>
                    <li><a href="/article/1892224497231130624.htm"
                           title="SSH/RDP 无法访问?云服务器让远程管理更简单" target="_blank">SSH/RDP 无法访问?云服务器让远程管理更简单</a>
                        <span class="text-muted">Anna_Tong</span>
<a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E7%BB%84%E9%85%8D%E7%BD%AE/1.htm">安全组配置</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/1.htm">云服务器运维</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E7%AE%A1%E7%90%86%E4%BC%98%E5%8C%96/1.htm">远程管理优化</a>
                        <div>在日常运维和管理云服务器时,远程连接(SSH访问Linux服务器,RDP访问Windows服务器)是不可或缺的操作。然而,不少用户在使用阿里云ECS或其他云服务器时,会遇到远程连接失败、超时或拒绝访问的问题,导致无法正常管理服务器,甚至影响业务运行。那么,是什么原因导致SSH/RDP连接失败?如何快速排查并解决问题?云服务器又能如何帮助优化远程管理体验?本文将带你详细解析,确保你的服务器随时可控、</div>
                    </li>
                    <li><a href="/article/1892221220573736960.htm"
                           title="Kubernetes & 容器自动伸缩失败:解决方案及阿里云如何帮助" target="_blank">Kubernetes & 容器自动伸缩失败:解决方案及阿里云如何帮助</a>
                        <span class="text-muted">Anna_Tong</span>
<a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E5%BC%B9%E6%80%A7%E8%AE%A1%E7%AE%97/1.htm">弹性计算</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E4%BC%B8%E7%BC%A9/1.htm">自动伸缩</a>
                        <div>随着容器技术的普及,Kubernetes(K8s)已成为构建现代云原生应用的核心平台。自动伸缩(AutoScaling)功能可以帮助应用在流量波动时动态调整资源,提高效率并节约成本。然而,很多企业在配置水平自动伸缩(HorizontalPodAutoscaler,HPA)或ECS扩容策略时,常常遇到配置错误或无法触发扩容的问题,导致资源无法及时扩展或收缩,影响系统的稳定性和用户体验。本文将为您分享</div>
                    </li>
                    <li><a href="/article/1892191092716138496.htm"
                           title="【系列专栏】银行IT的云原生架构-云基础架构-云网络 08" target="_blank">【系列专栏】银行IT的云原生架构-云基础架构-云网络 08</a>
                        <span class="text-muted">呱牛do it</span>
<a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D%E7%A7%91%E6%8A%80/1.htm">金融科技</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a>
                        <div>银行IT的云原生架构:云基础架构(云网络规划)一、引言在银行向云原生架构转型的进程中,云网络规划作为云基础架构的关键组成部分,发挥着举足轻重的作用。云网络不仅承载着银行内部各类业务系统之间的数据交互,还连接着银行与外部客户、合作伙伴。其性能、安全性和灵活性直接影响着银行云原生架构的运行效率、业务连续性以及客户体验。因此,深入探讨银行IT云原生架构中的云网络规划,对银行成功构建高效、可靠的云基础架构</div>
                    </li>
                    <li><a href="/article/1892187073377529856.htm"
                           title="麒麟管家全新升级,运维问题“一键修复”" target="_blank">麒麟管家全新升级,运维问题“一键修复”</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>麒麟管家是openKylin社区SystemManagerSIG开发的一款面向社区用户,能倾听用户烦恼和诉求,也能提供便利途径、解决用户问题的系统管理类应用,可以为用户提供问题反馈、系统垃圾清理、电脑故障排查、硬件设备管理及系统小工具等一站式服务,帮助用户更好地使用openKylin操作系统。产品的发展与提升离不开用户的信赖与支持。麒麟管家在openKylin0.9版本首次上线,并持续更新迭代,在</div>
                    </li>
                    <li><a href="/article/1892116922976235520.htm"
                           title="携手鲲鹏昇腾 HashData展现云原生数仓创新力量" target="_blank">携手鲲鹏昇腾 HashData展现云原生数仓创新力量</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>5月9日-11日,鲲鹏昇腾开发者大会2024在北京中关村国际创新中心举行,众多行业领袖、专家学者及优秀开发们齐聚一堂,分享产业趋势、技术创新和应用实践。酷克数据作为华为鲲鹏生态重要合作伙伴,受邀出席本次大会,展示其与鲲鹏昇腾生态联合开发的云数仓解决方案及应用案例,与全球开发者共同探讨云原生数仓前沿技术。今年两会政府工作报告明确提出:“深化大数据、人工智能等研发应用,开展人工智能+行动,打造具有国际</div>
                    </li>
                    <li><a href="/article/1892105823912521728.htm"
                           title="基于自动化发布流程,运用多个工具实现高效运维实战" target="_blank">基于自动化发布流程,运用多个工具实现高效运维实战</a>
                        <span class="text-muted">罗伯特之技术屋</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a>
                        <div>【摘要】生产部署曾经是一件令运维极为头痛的事,充满着大量沟通和手动操作,自动化发布完全解决了过去发布的痛点。而在经济大环境的影响下,很多企业都需要降本增效,Serverless正在被越来越多的引入到生产环境上来。目前在对于云上的发布的流程基本上是,Terraform部署基础架构->Jenkins类的CICD工具发布应用->无服务化部署定时和事件触发的作业。本文将从如何建设自动化发布流程的原理入手,</div>
                    </li>
                    <li><a href="/article/1892097756521099264.htm"
                           title="云原生架构师2024" target="_blank">云原生架构师2024</a>
                        <span class="text-muted">theo.wu</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F%E6%9E%B6%E6%9E%84%E5%B8%882024/1.htm">云原生架构师2024</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>1-Linux操作系统-CSDN博客├──1-Linux操作系统|├──1-项目部署之-Linux操作系统||├──1-Linux概述与安装||├──2-Linux基本操作||└──3-Linux软件安装与配置|└──2-Shell编程||└──1-Shell编程2-计算机网络基础-CSDN博客├──2-计算机网络基础|└──1-计算机网络基础||├──1-前言||├──2-计算机网络概述||├─</div>
                    </li>
                    <li><a href="/article/1892068620909998080.htm"
                           title="【系列专栏】银行IT的云原生架构-云单元架构 12" target="_blank">【系列专栏】银行IT的云原生架构-云单元架构 12</a>
                        <span class="text-muted">呱牛do it</span>
<a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D%E7%A7%91%E6%8A%80/1.htm">金融科技</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a>
                        <div>银行IT的云原生架构-云单元架构一、引言在银行数字化转型进程中,云原生架构已成为提升竞争力、实现高效创新的关键支撑。其中,云单元架构作为一种先进的架构模式,正逐渐受到银行的关注与应用。云单元架构通过将复杂的系统拆分为多个相对独立、自治的单元,为银行带来了更高的灵活性、扩展性与可靠性。从目标、特征、单元化流量路由、应用与数据单元化、分布式中间件等多个关键角度深入剖析云单元架构,对于银行更好地理解和应</div>
                    </li>
                    <li><a href="/article/1892034196084420608.htm"
                           title="2025年三个月自学手册 网络安全(黑客技术)" target="_blank">2025年三个月自学手册 网络安全(黑客技术)</a>
                        <span class="text-muted">网安kk</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。如何成为一名黑客很多朋友在学习安全方面都会半路转行,因为不知如何去学,在这里,我将这个整份答案分为黑客(网络安全)入门必备、黑客(网络安全)职业指南、黑客(网络安全)学习导航</div>
                    </li>
                    <li><a href="/article/1892032558619750400.htm"
                           title="轻松上手:2025年无服务器架构教程" target="_blank">轻松上手:2025年无服务器架构教程</a>
                        <span class="text-muted">zxzy_org</span>
<a class="tag" taget="_blank" href="/search/serverless/1.htm">serverless</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>无服务器架构(ServerlessArchitecture)已经成为2025年云计算领域的重要趋势之一。与传统服务器架构不同,无服务器架构让开发者专注于代码本身,而无需管理底层的服务器硬件或操作系统。这种架构的核心理念是按需计算,用户仅需为实际使用的资源付费。对于初学者来说,无服务器架构的主要优势在于它的易用性和高效性。首先,开发者无需担心服务器的部署和运维工作,这大大减少了学习曲线。以AWSLa</div>
                    </li>
                    <li><a href="/article/1892028401670221824.htm"
                           title="Python 运维(四):使用 PyInstaller 将 Python 程序打包成可执行文件" target="_blank">Python 运维(四):使用 PyInstaller 将 Python 程序打包成可执行文件</a>
                        <span class="text-muted">水滴技术</span>
<a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF/1.htm">Python入门核心技术</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/PyInstaller/1.htm">PyInstaller</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%8C%85/1.htm">打包</a>
                        <div>本文收录于《Python入门核心技术》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。大家好,我是水滴~~PyInstaller是一款强大的Python打包工具,通过将Python程序转换成可执行文件,它简化了程序的分享和分发过程。本文从简介、安装、使用以及典型案例四个方面对PyInstaller进行了介绍。文章内容包含大量的示例代码,希望能够帮助新手同学快速入门。文章目录一、简介二、安装P</div>
                    </li>
                                <li><a href="/article/47.htm"
                                       title="jdk tomcat 环境变量配置" target="_blank">jdk tomcat 环境变量配置</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>Win7 下如何配置java环境变量 
 
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可) 
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。) 
3。分别配置高级环境变量。 
   电脑-->右击属性-->高级环境变量-->环境变量。 
 
 
分别配置 : 
 
path   
 &nbs</div>
                                </li>
                                <li><a href="/article/174.htm"
                                       title="Spring调SDK包报java.lang.NoSuchFieldError错误" target="_blank">Spring调SDK包报java.lang.NoSuchFieldError错误</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>        在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。 
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l</div>
                                </li>
                                <li><a href="/article/301.htm"
                                       title="LeetCode[位运算] - #136 数组中的单一数" target="_blank">LeetCode[位运算] - #136 数组中的单一数</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>原题链接:#136 Single Number 
要求: 
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素 
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间 
难度:中等 
分析: 
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进</div>
                                </li>
                                <li><a href="/article/428.htm"
                                       title="qq登陆界面开发" target="_blank">qq登陆界面开发</a>
                                    <span class="text-muted">15700786134</span>
<a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a>
                                    <div>今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下: 
public class First {         public void initul(){        jf=ne</div>
                                </li>
                                <li><a href="/article/555.htm"
                                       title="Linux的程序包管理器RPM" target="_blank">Linux的程序包管理器RPM</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的</div>
                                </li>
                                <li><a href="/article/682.htm"
                                       title="socket通信遇到EOFException" target="_blank">socket通信遇到EOFException</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/EOFException/1.htm">EOFException</a>
                                    <div>java.io.EOFException 
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) 
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:</div>
                                </li>
                                <li><a href="/article/809.htm"
                                       title="基于spring的web项目定时操作" target="_blank">基于spring的web项目定时操作</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>废话不多说,直接上代码,很简单 配置一下项目启动就行 
1,web.xml 
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="h</div>
                                </li>
                                <li><a href="/article/936.htm"
                                       title="树形结构的数据库表Schema设计" target="_blank">树形结构的数据库表Schema设计</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/schema/1.htm">schema</a>
                                    <div>原文地址: 
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488 
 
 
    程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,</div>
                                </li>
                                <li><a href="/article/1063.htm"
                                       title="maven将jar包和源码一起打包到本地仓库" target="_blank">maven将jar包和源码一起打包到本地仓库</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository 
 
 
 
<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupI</div>
                                </li>
                                <li><a href="/article/1190.htm"
                                       title="java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!" target="_blank">java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!</a>
                                    <span class="text-muted">百合不是茶</span>

                                    <div>类 File 
File是指文件和目录路径名的抽象表示形式。 
1,何为文件: 
标准文件(txt doc mp3...) 
目录文件(文件夹) 
虚拟内存文件 
  
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都</div>
                                </li>
                                <li><a href="/article/1317.htm"
                                       title="Spring注入有继承关系的类(2)" target="_blank">Spring注入有继承关系的类(2)</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类 
package com.bijian.spring.test4;

public class AClass {

    private String a;
    private String b;
   
    public String getA() {
        retu</div>
                                </li>
                                <li><a href="/article/1444.htm"
                                       title="30岁转型期你能否成为成功人士" target="_blank">30岁转型期你能否成为成功人士</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%88%90%E9%95%BF/1.htm">成长</a><a class="tag" taget="_blank" href="/search/%E5%8A%B1%E5%BF%97/1.htm">励志</a>
                                    <div>        很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人</div>
                                </li>
                                <li><a href="/article/1571.htm"
                                       title="【Velocity四】Velocity与Java互操作" target="_blank">【Velocity四】Velocity与Java互操作</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a>
                                    <div>Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础, 
     POJO 
   
package com.tom.servlets;

public</div>
                                </li>
                                <li><a href="/article/1698.htm"
                                       title="【Hive十一】Hive数据倾斜优化" target="_blank">【Hive十一】Hive数据倾斜优化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>什么是Hive数据倾斜问题 
  
 
 操作:join,group by,count distinct 
 现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。 
 原因:key分布不均匀 
 倾斜度衡量:平均记录数超过50w且</div>
                                </li>
                                <li><a href="/article/1825.htm"
                                       title="在nginx中集成lua脚本:添加自定义Http头,封IP等" target="_blank">在nginx中集成lua脚本:添加自定义Http头,封IP等</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/nginx+lua+csrf/1.htm">nginx lua csrf</a>
                                    <div>Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com 
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。 
location /{</div>
                                </li>
                                <li><a href="/article/1952.htm"
                                       title="java-3.求子数组的最大和" target="_blank">java-3.求子数组的最大和</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>package beautyOfCoding;


public class MaxSubArraySum {

	/**
	 * 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,</div>
                                </li>
                                <li><a href="/article/2079.htm"
                                       title="Netty源码学习-FileRegion" target="_blank">Netty源码学习-FileRegion</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div>今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java 
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder: 
 


		//pipeline(没有诸如“FileRegionEncoder”的handler):
		public ChannelPipeline ge</div>
                                </li>
                                <li><a href="/article/2206.htm"
                                       title="使用ZeroClipboard解决跨浏览器复制到剪贴板的问题" target="_blank">使用ZeroClipboard解决跨浏览器复制到剪贴板的问题</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/%E8%B7%A8%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">跨浏览器</a><a class="tag" taget="_blank" href="/search/%E5%A4%8D%E5%88%B6%E5%88%B0%E7%B2%98%E8%B4%B4%E6%9D%BF/1.htm">复制到粘贴板</a><a class="tag" taget="_blank" href="/search/Zero+Clipboard/1.htm">Zero Clipboard</a>
                                    <div>Zero Clipboard的实现原理 
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。 
Zero Clipboard的安装方法 
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js </div>
                                </li>
                                <li><a href="/article/2333.htm"
                                       title="单例模式" target="_blank">单例模式</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a>
                                    <div>第一种(懒汉,线程不安全): 
public class Singleton {   2     private static Singleton instance;   3     pri</div>
                                </li>
                                <li><a href="/article/2460.htm"
                                       title="spring+websocket的使用" target="_blank">spring+websocket的使用</a>
                                    <span class="text-muted">dalan_123</span>

                                    <div>一、spring配置文件 
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.or</div>
                                </li>
                                <li><a href="/article/2587.htm"
                                       title="细节问题:ZEROFILL的用法范围。" target="_blank">细节问题:ZEROFILL的用法范围。</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>   1、zerofill把月份中的一位数字比如1,2,3等加前导0 
 
      
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,    -> day</div>
                                </li>
                                <li><a href="/article/2714.htm"
                                       title="Android开发10——Activity的跳转与传值" target="_blank">Android开发10——Activity的跳转与传值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Android%E5%BC%80%E5%8F%91/1.htm">Android开发</a>
                                    <div>Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。 
  
一、Activity跳转 
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent) 
  
方法二Intent intent = new Intent();intent.setCla</div>
                                </li>
                                <li><a href="/article/2841.htm"
                                       title="jdbc 得到表结构、主键" target="_blank">jdbc 得到表结构、主键</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/jdbc+%E5%BE%97%E5%88%B0%E8%A1%A8%E7%BB%93%E6%9E%84%E3%80%81%E4%B8%BB%E9%94%AE/1.htm">jdbc 得到表结构、主键</a>
                                    <div>转自博客:http://blog.csdn.net/ocean1010/article/details/7266042 
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt</div>
                                </li>
                                <li><a href="/article/2968.htm"
                                       title="Android 应用程序开关GPS" target="_blank">Android 应用程序开关GPS</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>要在应用程序中操作GPS开关需要权限: 
 

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
 
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办? 
1、方法一:将项目放到Android源码中编译; 
2、方法二:网上有人说cl</div>
                                </li>
                                <li><a href="/article/3095.htm"
                                       title="Windows上调试MapReduce" target="_blank">Windows上调试MapReduce</a>
                                    <span class="text-muted">zhiquanliu</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a>
                                    <div>1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b</div>
                                </li>
                                <li><a href="/article/3222.htm"
                                       title="如何看待一些知名博客推广软文的行为?" target="_blank">如何看待一些知名博客推广软文的行为?</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%9A%E5%AE%A2/1.htm">博客</a>
                                    <div>本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621 
互联网上的两种典型心态: 
 
  当初求种像条狗,如今撸完嫌人丑  
  当初搜贴像条犬,如今读完嫌人软  
 
你为啥感觉不舒服呢? 
难道非得要作者把自己的劳动成果免费给你用,你才舒服? 
就如同 Google 关闭了 Gooled Reader,那是</div>
                                </li>
                                <li><a href="/article/3349.htm"
                                       title="sql优化总结" target="_blank">sql优化总结</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢! 
  
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。 
  
一、简单的统计语句执行时间 
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id</div>
                                </li>
                                <li><a href="/article/3476.htm"
                                       title="Linux Oracle中常遇到的一些问题及命令总结" target="_blank">Linux Oracle中常遇到的一些问题及命令总结</a>
                                    <span class="text-muted">超声波</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>1.linux更改主机名 
  
(1)#hostname oracledb    临时修改主机名 
(2) vi /etc/sysconfig/network   修改hostname 
(3) vi /etc/hosts        修改IP对应的主机名 
  
2.linux重启oracle实例及监听的各种方法 
(注意操作的顺序应该是先监听,后数据库实例) 
&nbs</div>
                                </li>
                                <li><a href="/article/3603.htm"
                                       title="hive函数大全及使用示例" target="_blank">hive函数大全及使用示例</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hive%E5%87%BD%E6%95%B0/1.htm">hive函数</a>
                                    <div>  
具体说明及示例参 见附件文档。  
  
  
文档目录: 
  
目录 
一、关系运算: 4 
1. 等值比较: = 4 
2. 不等值比较: <> 4 
3. 小于比较: < 4 
4. 小于等于比较: <= 4 
5. 大于比较: > 5 
6. 大于等于比较: >= 5 
7. 空值判断: IS NULL 5</div>
                                </li>
                                <li><a href="/article/3730.htm"
                                       title="Spring 4.2新特性-使用@Order调整配置类加载顺序" target="_blank">Spring 4.2新特性-使用@Order调整配置类加载顺序</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a>
                                    <div>4.1 @Order 
 
 Spring 4.2 利用@Order控制配置类的加载顺序 
  
4.2 演示 
 
 两个演示bean 
 
package com.wisely.spring4_2.order;

public class Demo1Service {

}

 
package com.wisely.spring4_2.order;

public class</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>