{"componentChunkName":"component---src-templates-microservices-js","path":"/zh/microservices/FAQ/","result":{"data":{"markdownRemark":{"html":"<h2 id=\"常见问题解答\"><a href=\"#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%94\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>常见问题解答</h2>\n<ol>\n<li>\n<p>Oracle数据库与SuperMap iDesktop连接不上，如何解决？</p>\n<p>答：出现上述情况，请在Oracle中创建并使用新的数据库。具体步骤如下：</p>\n<p>（1）在iManager页面点击<strong>数据库->Oracle->名称（您的数据库名称）->oracle->命令行</strong>进入Oracle命令行；</p>\n<p>（2）在目录 u01/app/oracle/oradata 下创建“supermapshapefile”文件夹，执行（如果您已有文件夹，请跳过该步骤）：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">mkdir -p /u01/app/oracle/oradata/supermapshapefile</code></pre></div>\n<p>（3）将“supermapshapefile”文件夹的拥有者改为oracle，执行：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">chown oracle /u01/app/oracle/oradata/supermapshapefile</code></pre></div>\n<p>（4）进入Oracle，执行：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">sqlplus / as sysdba</code></pre></div>\n<p>（5）输入Oracle用户密码，用户密码请在iManager页面点击<strong>数据库->Oracle->名称（您的数据库名称）->账户</strong>查看；</p>\n<p>（6）创建空间表，大小为200M（可根据实际情况设置），执行：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">create tablespace supermaptbs datafile &#39;/u01/app/oracle/oradata/supermapshapefile/data.dbf&#39; size 200M;</code></pre></div>\n<p>（7）创建空间表新用户，账号：supermapuser（可自由设置），密码：supermap123（可自由设置），执行：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">create user supermapuser identified by supermap123 default tablespace supermaptbs;</code></pre></div>\n<p>（8）给新用户赋予权限，执行：</p>\n<div class=\"gatsby-highlight\" data-language=\"database\"><pre class=\"gatsby-code-database\"><code class=\"gatsby-code-database\">grant connect,resource to supermapuser;\ngrant dba to supermapuser;</code></pre></div>\n</li>\n<li>\n<p>使用内置Spark集群进行分布式分析时，Spark-worker节点出现时而离线时而假死现象，怎么办？</p>\n<p>答：在分布式分析过程中，由于资源占用较大，导致响应变慢，Spark-master节点接收不到Spark-worker节点的心跳汇报，误以为Spark-worker节点出现故障，出现上述现象。请参照以下步骤延长心跳汇报时间：</p>\n<p>（1）点击左侧导航栏<strong>计算资源池->Spark集群->控制台->spark-master->命令行</strong>进入Spark-master容器操作界面；</p>\n<p>（2）进入spark-env.sh文件所在目录：</p>\n<div class=\"gatsby-highlight\" data-language=\"docker\"><pre class=\"gatsby-code-docker\"><code class=\"gatsby-code-docker\">cd spark/conf</code></pre></div>\n<p>（3）打开spark-env.sh文件：</p>\n<div class=\"gatsby-highlight\" data-language=\"docker\"><pre class=\"gatsby-code-docker\"><code class=\"gatsby-code-docker\">vi spark<span class=\"token punctuation\">-</span>env.sh</code></pre></div>\n<p>（4）在文件内新增心跳汇报间隔时间（默认180秒，可根据需求设置，例子中为1800秒）</p>\n<div class=\"gatsby-highlight\" data-language=\"docker\"><pre class=\"gatsby-code-docker\"><code class=\"gatsby-code-docker\">export SPARK_MASTER_OPTS=<span class=\"token string\">\"-Dspark.worker.timeout=1800\"</span></code></pre></div>\n<p>（5）保存并退出spark-env.sh文件；</p>\n<p>（6）在<strong>Spark集群控制台</strong>界面重新部署Spark-master节点与Spark-worker节点。</p>\n</li>\n<li>\n<p>发布地图服务后，地图显示字体为什么和制图所用字体不同？</p>\n<p>答：因为承载该地图服务的服务节点没有制图时使用的字体。请参照以下步骤添加字体：</p>\n<p>（1）点击主页导航栏<strong>文件管理</strong>，在文件管理器的system/fonts文件夹上传所需字体文件；</p>\n<p>（2）重新部署承载地图服务的服务节点。</p>\n</li>\n<li>\n<p>在重新部署/调整规格后，又立马进行重新部署/调整规格操作，导致分配许可失败，如何解决？</p>\n<p>答：在重新部署/调整规格后，请确保本次操作对应的容器在许可中心中分配许可成功后，再进行下一次的重新部署/调整规格操作。</p>\n</li>\n<li>\n<p>查看实时监控统计图时，图表中没有数据或数据生成的时间与实际时间不符，如何解决？</p>\n<p>答：查看实时监控统计图时，请确保您的本地机器与Kubernetes节点机器设置的时间一致。</p>\n</li>\n<li>\n<p>使用内置环境（如内置Spark集群、Kafka集群等）时，禁用后再次开启，环境不能使用，如何解决？</p>\n<p>答：内置环境禁用后再次开启，服务的端口号会发生变化，请更新相关端口配置。</p>\n</li>\n<li>\n<p>在K3S环境下安装GIS云套件，进度条长时间不变，怎么办？</p>\n<p>答：通过命令<code class=\"gatsby-code-text\">kubectl -n kube-system get pod</code>查看pod状态，如果pod状态不是running或completed，可能是防火墙导致K3S集群内部不能通信。可以通过以下命令关闭防火墙：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">systemctl stop firewalld\nsystemctl disable firewalld</code></pre></div>\n<p>关闭防火墙一段时间后，通过命令<code class=\"gatsby-code-text\">kubectl get pod --all-namespaces</code>查看pod状态，如果pod状态仍然异常，则与防火墙无关，请排查其他原因。</p>\n</li>\n<li>\n<p>如何替换GIS云套件自带的安全证书？</p>\n<p>答：GIS云套件的安全证书有两种，一种是安全中心（Keycloak）使用的安全证书，另一种是访问入口域名使用的安全证书。替换时又有两种情况，一种是配置了访问入口域名或安全中心域名；一种是没有配置域名。请参照以下步骤替换两种证书：</p>\n<p><strong>替换安全中心（Keycloak）的安全证书——未配置域名</strong></p>\n<p>（1）在安装Kubernetes Master节点机器中执行以下命令，找到安全证书挂载目录（下面命令中的<code class=\"gatsby-code-text\">icloud-native-&lt;id&gt;</code>为GIS云套件所在的命令空间，请替换为实际的命名空间名称）：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n icloud-native-&lt;id&gt; describe pvc pvc-keycloak-certificate-&lt;id&gt; | grep Volume: | awk -F &#39; &#39; &#39;{print $2}&#39; | xargs kubectl describe pv</code></pre></div>\n<p>（2）将您的安全证书文件存放至步骤（1）查到的挂载目录中；</p>\n<blockquote>\n<p>注意：<br>\n安全证书文件包括证书和私钥，需要将证书文件重命名为tls.crt，将私钥文件重命名为tsl.key。</p>\n</blockquote>\n<p>（3）登录iManager，在GIS云套件服务列表中找到Keycloak服务并重新部署。</p>\n<p><strong>替换安全中心（Keycloak）的安全证书——已配置域名</strong></p>\n<p>（1）将安全中心域名对应的证书文件复制到Kubernetes Master节点机器；</p>\n<p>（2）执行以下命令（命令中的<code class=\"gatsby-code-text\">&lt;id&gt;</code>是创建GIS云套件时命名空间ID；<code class=\"gatsby-code-text\">&lt;certificateFile&gt;</code>是安全中心域名对应的证书文件；<code class=\"gatsby-code-text\">&lt;privateFile&gt;</code>是证书对应的私钥文件。均需用实际值替换）：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n icloud-native-&lt;id&gt; delete secret keycloak-ingress-tls\nkubectl -n icloud-native-&lt;id&gt; create secret tls keycloak-ingress-tls --cert=&#39;&lt;certificateFile&gt;&#39; --key=&#39;&lt;privateFile&gt;&#39;</code></pre></div>\n<p>（3）访问安全中心域名即可生效。</p>\n<p><strong>替换访问入口的安全证书——未配置域名</strong></p>\n<p>（1）在安装Kubernetes Master节点机器中执行以下命令，找到安全证书挂载目录（下面命令中的<code class=\"gatsby-code-text\">icloud-native-&lt;id&gt;</code>为GIS云套件所在的命令空间，请替换为实际的命名空间名称）：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n icloud-native-&lt;id&gt; describe pvc pvc-gateway-certificate-&lt;id&gt; | grep Volume: | awk -F &#39; &#39; &#39;{print $2}&#39; | xargs kubectl describe pv</code></pre></div>\n<p>（2）将您的安全证书文件存放至步骤（1）查到的挂载目录中；</p>\n<blockquote>\n<p>注意：<br>\n安全证书文件需命名为certificate.keystore。</p>\n</blockquote>\n<p>（3）执行以下命令，修改访问入口的证书配置：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n icloud-native-&lt;id&gt; edit deploy iserver-gateway</code></pre></div>\n<p>在文件中找到icn_ext_param_server_ssl_keyStorePassword配置，把下方的value对应的值修改为证书密码。输入:wq退出编辑窗口，访问入口会自动重新部署。</p>\n<p><strong>替换访问入口的安全证书——已配置域名</strong></p>\n<p>（1）将访问入口域名对应的证书文件复制到Kubernetes Master节点机器；</p>\n<p>（2）执行以下命令（命令中的<code class=\"gatsby-code-text\">&lt;id&gt;</code>是创建GIS云套件时命名空间ID；<code class=\"gatsby-code-text\">&lt;certificateFile&gt;</code>是访问入口域名对应的证书文件；<code class=\"gatsby-code-text\">&lt;privateFile&gt;</code>是证书对应的私钥文件。均需用实际值替换）：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n icloud-native-&lt;id&gt; delete secret gateway-ingress-tls\nkubectl -n icloud-native-&lt;id&gt; create secret tls gateway-ingress-tls --cert=&#39;&lt;certificateFile&gt;&#39; --key=&#39;&lt;privateFile&gt;&#39;</code></pre></div>\n<p>（3）使用域名访问即可生效。</p>\n</li>\n<li>\n<p>使用GIS云套件包部署的GIS云套件环境，未配置NFS Server或StorageClass，重启后数据丢失怎么办？</p>\n<p>答：重启后出现下述类似情况，如分布式分析服务无访问地址、内置存储资源（内置PostGIS、PostgreSQL等）无数据。请禁用环境后再次开启。</p>\n</li>\n<li>\n<p>更新Gisapplication（或iPortal）镜像后，iPortal（或Gisapplication）部分功能不能正常使用，怎么办？</p>\n<p>答：单独更新Gisapplication（或iPortal）可能会出现配置跟代码不兼容的情况。请同时更新iPortal与Gisapplication。</p>\n</li>\n<li>\n<p>当Keycloak服务报错“io.undertow.util.ParameterLimitException: UT000047: The number of parameters exceeded the maximum of 1000”，如何解决？</p>\n<p>答：此错误是因为您的服务实例数量过多，导致向Keycloak提交请求的表单字段超过默认最大限制1000，需提高字段上限。请参考以下步骤解决：</p>\n<p>（1）登录Kubernetes管理页面；</p>\n<p>（2）在您的GIS云套件命名空间中点击<strong>部署</strong>，找到keycloak；</p>\n<p>（3）对keycloak进行编辑（打开右侧操作，点击<strong>查看/编辑 YAML</strong>）；</p>\n<p>（4）在<strong>spec->template->spec->containers->env</strong>中添加环境变量UNDERTOW_MAX_PARAMETERS，设置值大于报错中的限制值，例如：</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token punctuation\">{</span>\n   <span class=\"token key atrule\">\"name\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"UNDERTOW_MAX_PARAMETERS\"</span><span class=\"token punctuation\">,</span>\n   <span class=\"token key atrule\">\"value\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"1500\"</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span></code></pre></div>\n</li>\n<li>\n<p>配置镜像拉取Secret时，如何在命名空间下创建与Secret同名资源？</p>\n<p>答：配置镜像拉取Secret时，需在Kubernetes中GIS云套件所在命名空间创建与Secret同名的资源。如果开启metrics server服务，需在kube-system命名空间下创建Secret同名资源。请在Kubernetes Master机器中，输入如下命令创建Secret同名资源：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl create secret docker-registry &lt;image-pull-secret&gt; --docker-server=&lt;&quot;172.16.17.11:5002&quot;&gt; --docker-username=&lt;admin&gt; --docker-password=&lt;adminpassword&gt; -n &lt;giscloudsuite&gt;</code></pre></div>\n<blockquote>\n<p>注意：  </p>\n<p>输入的内容中，带有尖括号”&#x3C;>“的需根据您的实际环境替换（替换后去掉尖括号）:\n<code class=\"gatsby-code-text\">&lt;image-pull-secret&gt;</code>为您的Secret名称；\n<code class=\"gatsby-code-text\">&lt;&quot;172.16.17.11:5002&quot;&gt;</code>为您的镜像仓库地址；\n<code class=\"gatsby-code-text\">&lt;admin&gt;</code>为镜像仓库用户名;\n<code class=\"gatsby-code-text\">&lt;adminpassword&gt;</code>为镜像仓库密码；\n<code class=\"gatsby-code-text\">&lt;giscloudsuite&gt;</code>为GIS云套件所在命名空间（在kube-system下创建Secret同名资源时，<code class=\"gatsby-code-text\">&lt;giscloudsuite&gt;</code>替换为“kube-system”）。</p>\n</blockquote>\n</li>\n<li>\n<p>如何配置服务实例自动刷新？</p>\n<p>答：服务实例刷新是指在数据源发生变化时，同步更新服务实例。配置自动刷新后，每隔一段时间系统会自动更新服务实例。请按以下步骤在服务节点的编排中配置自动刷新：</p>\n<p>（1）查看服务实例所在服务节点（可在GIS云套件管理页面，点击服务管理->服务实例，进入服务实例详情页面，查看所在服务节点）；</p>\n<p>（2）登录Kubernetes管理页面，在您的GIS云套件命名空间中点击<strong>部署</strong>，找到服务节点对应的名称；</p>\n<p>（3）对服务节点进行编辑（打开右侧操作，点击<strong>查看/编辑 YAML</strong>）；</p>\n<p>（4）在<strong>spec->template->spec->containers->env</strong>中添加环境变量REFRESH_DATASOURCE与CHECK_DATASOURCE_CONNECTION_INTERVAL。REFRESH_DATASOURCE为开启自动刷新，CHECK_DATASOURCE_CONNECTION_INTERVAL为自动刷新间隔。例如，开启自动刷新并设置刷新间隔为1小时：</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token punctuation\">{</span>\n   <span class=\"token key atrule\">\"name\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"REFRESH_DATASOURCE\"</span><span class=\"token punctuation\">,</span>\n   <span class=\"token key atrule\">\"value\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"true\"</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">{</span>\n   <span class=\"token key atrule\">\"name\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"CHECK_DATASOURCE_CONNECTION_INTERVAL\"</span><span class=\"token punctuation\">,</span>\n   <span class=\"token key atrule\">\"value\"</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"3600\"</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span></code></pre></div>\n<p>（5）点击<strong>更新</strong>，等待重新部署后生效。</p>\n</li>\n<li>\n<p>阿里云Kubernete集群无法通过本地连接GIS云套件内置HBase，如何解决？</p>\n<p>答：请参考以下步骤解决。</p>\n<p>（1）确认阿里云Kubernetes集群EIP绑定的Work节点，通过以下命令确认Work节点在Kubernetes集群中的名称：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl get nodes</code></pre></div>\n<p>（2）更新服务，执行以下命令：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl -n &lt;namespace&gt; patch deployment/nginx-ingress-controller -p &quot;\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-ingress-controller\nspec:\n  template:\n    spec:\n      nodeName: &lt;nodeName&gt;\n&quot;</code></pre></div>\n<p>（3）等待服务启动。</p>\n<blockquote>\n<p>注意：<br>\n请将步骤（2）中的<code class=\"gatsby-code-text\">&lt;namespace&gt;</code>和<code class=\"gatsby-code-text\">&lt;nodeName&gt;</code>替换为您环境中的实际值。</p>\n<ol>\n<li><code class=\"gatsby-code-text\">&lt;namespace&gt;</code>为部署iManager（GIS云套件）时指定的命名空间名称。iManager默认命名空间为supermap，GIS云套件默认命名空间为giscloudsuite。  </li>\n<li><code class=\"gatsby-code-text\">&lt;nodeName&gt;</code>为EIP绑定的work节点在Kubernetes集群中的名称。</li>\n</ol>\n</blockquote>\n</li>\n<li>\n<p>内置HBase环境如何使用本地存储？</p>\n<p>答：经测试，挂载NFS会影响Hbase的读写性能，可以通过以下方式进行优化：</p>\n<p>（1）修改配置（values.yaml）文件中deploy_disable_hbase_nfs_volume的值为true</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">deploy_disable_hbase_nfs_volume</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span></code></pre></div>\n<p>（2）根据编排创建PV：参考 hbase-datanode-local-volume.yaml 文件，根据实际情况进行修改：</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> PersistentVolume\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> icloud<span class=\"token punctuation\">-</span>native\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> icloud<span class=\"token punctuation\">-</span>native<span class=\"token punctuation\">-</span>hbase<span class=\"token punctuation\">-</span>datanode<span class=\"token punctuation\">-</span>volume<span class=\"token punctuation\">-</span><span class=\"token number\">0  </span><span class=\"token comment\">#修改点1</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">storageClassName</span><span class=\"token punctuation\">:</span> local<span class=\"token punctuation\">-</span>volume<span class=\"token punctuation\">-</span>storage<span class=\"token punctuation\">-</span>class\n  <span class=\"token key atrule\">capacity</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">storage</span><span class=\"token punctuation\">:</span> 10Ti\n  <span class=\"token key atrule\">accessModes</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> ReadWriteMany\n  <span class=\"token key atrule\">local</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">path</span><span class=\"token punctuation\">:</span> /opt/imanager<span class=\"token punctuation\">-</span>data/datanode<span class=\"token punctuation\">-</span>data  <span class=\"token comment\">#修改点2</span>\n  <span class=\"token key atrule\">persistentVolumeReclaimPolicy</span><span class=\"token punctuation\">:</span> Delete\n  <span class=\"token key atrule\">nodeAffinity</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">required</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">nodeSelectorTerms</span><span class=\"token punctuation\">:</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">matchExpressions</span><span class=\"token punctuation\">:</span>\n          <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">key</span><span class=\"token punctuation\">:</span> kubernetes.io/hostname\n            <span class=\"token key atrule\">operator</span><span class=\"token punctuation\">:</span> In\n            <span class=\"token key atrule\">values</span><span class=\"token punctuation\">:</span>\n              <span class=\"token punctuation\">-</span> node1   <span class=\"token comment\"># 修改点3</span></code></pre></div>\n<p>需要修改的内容涉及上图中标记处的3个地方：</p>\n<ul>\n<li>修改点1：这里指定PV的名称，只要不重复即可。</li>\n<li>\n<p>修改点2：这里是实际要存储HBase数据的路径，要提前创建好目录。如果想在一个节点上创建多个PV请修改成不同的目录，并提前创建好目录。</p>\n<p>使用以下命令在<strong>对应节点</strong>上创建目录(路径换成自己设置的具体地址)：</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">mkdir -p /opt/imanager-data/datanode-data</code></pre></div>\n</li>\n<li>修改点3：这里填写Kubernetes的节点名称（前提是相应的节点能参与调度）</li>\n</ul>\n<p>（3）修改后通过编排创建PV（<strong>在Kubernetes master节点执行以下命令</strong>）:</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"gatsby-code-sh\"><code class=\"gatsby-code-sh\">kubectl apply -f hbase-datanode-local-volume.yaml</code></pre></div>\n<blockquote>\n<p>备注：</p>\n<ol>\n<li>HBase环境中的dataNode有几个副本就要创建几个PV,默认需要3个；如果自己伸缩了，请创建对应数目的PV；</li>\n<li>PV可以创建在任意Kubernetes节点上（通过<code class=\"gatsby-code-text\">修改点3</code>指定），推荐均匀分布在不同的节点上；</li>\n<li>PV既可以在开启/伸缩HBase之前创建，也可以在开启/伸缩HBase之后创建。</li>\n</ol>\n</blockquote>\n</li>\n</ol>","frontmatter":{"title":"GIS云套件","next":null,"prev":null},"fields":{"path":"content/microservices/FAQ.zh.md","slug":"/zh/microservices/FAQ/","langKey":"zh"}}},"pageContext":{"slug":"/zh/microservices/FAQ/"}}}