中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建立手機(jī)個人網(wǎng)站營銷網(wǎng)站建設(shè)制作

建立手機(jī)個人網(wǎng)站,營銷網(wǎng)站建設(shè)制作,網(wǎng)站建設(shè)有什么優(yōu)點,個人網(wǎng)站可以做論壇么在學(xué)習(xí)過程中,我們有時身邊沒有可用的服務(wù)器,這時就需要借助自己的 Mac 來安裝和學(xué)習(xí) Easysearch。然而,Easysearch 官網(wǎng)并未提供 Mac 版本的安裝教程,下面我將詳細(xì)整理我在 Mac 上安裝和使用 Easysearch 的折騰經(jīng)歷。 Easysearc…

在學(xué)習(xí)過程中,我們有時身邊沒有可用的服務(wù)器,這時就需要借助自己的 Mac 來安裝和學(xué)習(xí) Easysearch。然而,Easysearch 官網(wǎng)并未提供 Mac 版本的安裝教程,下面我將詳細(xì)整理我在 Mac 上安裝和使用 Easysearch 的折騰經(jīng)歷。在這里插入圖片描述

Easysearch

Easysearch 的運行依賴于 Java,程序啟動時會自動從當(dāng)前目錄的 JDK 中查找 Java 環(huán)境。因此,即便環(huán)境變量中已經(jīng)配置了 Java,程序也可能無法找到。針對這個問題,有兩種解決辦法:
下載 JDK 的二進(jìn)制文件,將其重命名為 “jdk”,并放置在 Easysearch 的根目錄下。
下載 Easysearch 的 bundle 包,該包會自帶一個 JDK。下載鏈接為:https://release.infinilabs.com/Easysearch/stable/bundle/
安裝步驟如下:首先執(zhí)行初始化腳本,此腳本會設(shè)置 TLS 證書和集群密碼。在執(zhí)行腳本之前,log 目錄為空。

bin/initialize.sh@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@#@@@@@@@@@@@@@@@@                   @@@@@@@@@@@@@&@@@@@@@              &@@@@@@@@@@@@@@&@@@@@@@&@           @@@&@@@@@@@&@@@@@@@@@@@@@@@@@      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&   @@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@         ,@@@@@@@@@@@@@@@@@@@@@@@&@@@@@.         @@@@@&@@@@@@@@@@@@@@@@@@@@@@@@          @@@@@@@@@@@@@@@#@&@@@&@@@&@@@          &@&@@@&@@@&@@@@@@@@@@@@@@.              @@@@@@@*@@@@@@@@@@@@@                  %@@@@@@@@@@@@@@@@
/@@@@@@@&@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@@        Welcome to INFINI Labs!Now attempting the initializing...RISK WARNING: The initialization script will overwrite certificates and passwords. If this is not the first run, please acknowledge the risks before proceeding. This is a dangerous operation. Do you want to proceed? [y/N]:yNOTICE: Do you want to log credentials to /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/logs/initialize.log? Default is no logging. Press Enter to skip. [y/N]:y
Using bundled JDK at /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/jdkCertificate request self-signature ok
subject=C = IN, ST = FI, L = NI, O = ORG, OU = UNIT, CN = infini.cloud
Certificate request self-signature ok
subject=C = IN, ST = FI, L = NI, O = ORG, OU = UNIT, CN = admin.infini.cloudDNS:infini.cloud, DNS:*.infini.cloudDNS:infini.cloud, DNS:*.infini.cloud@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    NOTICE: Please remember the bootstrap credential for further usage    @
@                        admin:db3e19a8c1c9f7755763                        @
@    Usage:  curl -ku admin:db3e19a8c1c9f7755763 https://localhost:9200    @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Your plugins directory is not empty. Please install the plugin manually.Initialization successful! [Easysearch] is ready to use!----------------------------------------------------------------
cd /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle && bin/Easysearch
----------------------------------------------------------------__ _  __ ____ __ _  __ __/ // |/ // __// // |/ // // // || // _/ / // || // /
/_//_/|_//_/  /_//_/|_//_/?INFINI.LTD, All Rights Reserved.

這里打印了集群的密碼和連接信息:

curl -ku admin:db3e19a8c1c9f7755763 https://localhost:9200

然后啟動集群,默認(rèn)監(jiān)聽在 9200 端口:

?xu?~/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle??? bin/Easysearch        (base) 13:50:14
[2025-02-11T13:50:28,686][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: /Users/xu/Library/Caches/JNA/temp/jna114104068097844929.tmp: dlopen(/Users/xu/Library/Caches/JNA/temp/jna114104068097844929.tmp, 0x0001): tried: '/Users/xu/Library/Caches/JNA/temp/jna114104068097844929.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/xu/Library/Caches/JNA/temp/jna114104068097844929.tmp' (no such file), '/Users/xu/Library/Caches/JNA/temp/jna114104068097844929.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64e' or 'arm64'))at jdk.internal.loader.NativeLibraries.load(Native Method) ~[?:?]at jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source) ~[?:?]at jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source) ~[?:?]at jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source) ~[?:?]at java.lang.ClassLoader.loadLibrary(Unknown Source) ~[?:?]at java.lang.Runtime.load0(Unknown Source) ~[?:?]at java.lang.System.load(Unknown Source) ~[?:?]at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018) ~[jna-5.5.0.jar:5.5.0 (b0)]at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988) ~[jna-5.5.0.jar:5.5.0 (b0)]at com.sun.jna.Native.<clinit>(Native.java:195) ~[jna-5.5.0.jar:5.5.0 (b0)]at java.lang.Class.forName0(Native Method) ~[?:?]at java.lang.Class.forName(Unknown Source) ~[?:?]at org.Easysearch.bootstrap.Natives.<clinit>(Natives.java:30) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:95) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Bootstrap.setup(Bootstrap.java:163) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Bootstrap.init(Bootstrap.java:378) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Easysearch.init(Easysearch.java:169) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Easysearch.execute(Easysearch.java:160) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:71) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[Easysearch-cli-1.10.1.jar:1.10.1]at org.Easysearch.cli.Command.main(Command.java:75) ~[Easysearch-cli-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Easysearch.main(Easysearch.java:125) ~[Easysearch-1.10.1.jar:1.10.1]at org.Easysearch.bootstrap.Easysearch.main(Easysearch.java:67) ~[Easysearch-1.10.1.jar:1.10.1]
[2025-02-11T13:50:28,689][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot check if running as root because JNA is not available
[2025-02-11T13:50:28,689][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot install system call filter because JNA is not available
[2025-02-11T13:50:28,689][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot register console handler because JNA is not available
[2025-02-11T13:50:28,690][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot getrlimit RLIMIT_NPROC because JNA is not available
[2025-02-11T13:50:28,690][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot getrlimit RLIMIT_AS because JNA is not available
[2025-02-11T13:50:28,690][WARN ][o.e.b.Natives            ] [xudeMacBook-Pro.local] cannot getrlimit RLIMIT_FSIZE because JNA is not available
[2025-02-11T13:50:28,757][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] version[1.10.1], pid[18338], build[default/tar/1505f74d355bb2bac84162077fe66e9a32fc1be2/2025-01-24T21:02:00.632579Z], OS[Mac OS X/15.3/aarch64], JVM[Azul Systems, Inc./OpenJDK 64-Bit Server VM/17.0.13/17.0.13+11-LTS]
[2025-02-11T13:50:28,757][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] JVM home [/Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/jdk]
[2025-02-11T13:50:28,758][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Xms1g, -Xmx1g, -XX:+UseG1GC, -XX:G1ReservePercent=25, -XX:InitiatingHeapOccupancyPercent=30, -Djava.io.tmpdir=/var/folders/ft/rfbtvz_n5l9dg007x5lsk7jw0000gn/T/Easysearch-134350959148498936, -Djava.security.manager=allow, -Djava.locale.providers=SPI,COMPAT, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -XX:MaxDirectMemorySize=536870912, -Des.path.home=/Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle, -Des.path.conf=/Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config, -Des.distribution.flavor=oss, -Des.distribution.type=tar, -Des.bundled_jdk=false]
[2025-02-11T13:50:29,116][INFO ][c.i.s.s.t.SSLConfig      ] [xudeMacBook-Pro.local] SSL dual mode is disabled
[2025-02-11T13:50:29,117][INFO ][c.i.s.SecurityPlugin     ] [xudeMacBook-Pro.local] ES Config path is /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config
[2025-02-11T13:50:29,184][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] JVM supports TLSv1.3
[2025-02-11T13:50:29,185][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] Config directory is /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/, from there the key- and truststore files are resolved relatively
[2025-02-11T13:50:29,389][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] TLS Transport Client Provider : JDK
[2025-02-11T13:50:29,389][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] TLS Transport Server Provider : JDK
[2025-02-11T13:50:29,389][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] TLS HTTP Provider             : JDK
[2025-02-11T13:50:29,389][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] Enabled TLS protocols for transport layer : [TLSv1.3, TLSv1.2]
[2025-02-11T13:50:29,389][INFO ][c.i.s.s.DefaultSecurityKeyStore] [xudeMacBook-Pro.local] Enabled TLS protocols for HTTP layer      : [TLSv1.3, TLSv1.2]
[2025-02-11T13:50:29,391][INFO ][c.i.s.SecurityPlugin     ] [xudeMacBook-Pro.local] Clustername: Easysearch
[2025-02-11T13:50:29,745][INFO ][o.e.j.JobSchedulerPlugin ] [xudeMacBook-Pro.local] Loaded scheduler extension: Easysearch-index-management, index: .Easysearch-ilm-config
[2025-02-11T13:50:29,748][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [aggs-matrix-stats]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [analysis-common]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [custom-codecs]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [geo]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [job-scheduler]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [lang-expression]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [lang-mustache]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [lang-painless]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [mapper-extras]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [parent-join]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [percolator]
[2025-02-11T13:50:29,749][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [rank-eval]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [reindex]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [repository-s3]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [repository-url]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [security]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded module [transport-netty4]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [analysis-icu]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [analysis-ik]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [analysis-pinyin]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [analysis-stconvert]
[2025-02-11T13:50:29,750][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [cross-cluster-replication]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [index-management]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [ingest-common]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [ingest-geoip]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [ingest-user-agent]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [knn]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [mapper-annotated-text]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [mapper-murmur3]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [mapper-size]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [sql]
[2025-02-11T13:50:29,751][INFO ][o.e.p.PluginsService     ] [xudeMacBook-Pro.local] loaded plugin [transport-nio]
[2025-02-11T13:50:29,759][INFO ][c.i.s.SecurityPlugin     ] [xudeMacBook-Pro.local] Disabled https compression by default to mitigate BREACH attacks. You can enable it by setting 'http.compression: true' in Easysearch.yml
[2025-02-11T13:50:29,767][INFO ][o.e.e.NodeEnvironment    ] [xudeMacBook-Pro.local] using [1] data paths, mounts [[/System/Volumes/Data (/dev/disk3s5)]], net usable_space [57gb], net total_space [926.3gb], types [apfs]
[2025-02-11T13:50:29,767][INFO ][o.e.e.NodeEnvironment    ] [xudeMacBook-Pro.local] heap size [1gb], compressed ordinary object pointers [true]
[2025-02-11T13:50:29,784][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] node name [xudeMacBook-Pro.local], node ID [w5zzEDPfTDSE30HWYkUNcw], cluster name [Easysearch], roles [master, remote_cluster_client, data, ingest]
[2025-02-11T13:50:30,915][WARN ][c.i.s.c.Salt             ] [xudeMacBook-Pro.local] If you plan to use field masking pls configure compliance salt e1ukloTxxxOgPquJ to be a random string of 16 chars length identical on all nodes
[2025-02-11T13:50:30,921][INFO ][c.i.s.a.i.AuditLogging   ] [xudeMacBook-Pro.local] Message routing enabled: true
[2025-02-11T13:50:30,945][INFO ][c.i.s.f.SecurityFilter   ] [xudeMacBook-Pro.local] <NONE> indices are made immutable.
[2025-02-11T13:50:31,104][INFO ][o.e.t.NettyAllocator     ] [xudeMacBook-Pro.local] creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=1gb}]
[2025-02-11T13:50:31,132][INFO ][o.e.d.DiscoveryModule    ] [xudeMacBook-Pro.local] using discovery type [zen] and seed hosts providers [settings]
[2025-02-11T13:50:31,250][WARN ][o.e.g.DanglingIndicesState] [xudeMacBook-Pro.local] gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually
[2025-02-11T13:50:31,335][WARN ][o.e.r.MethodHandlers     ] [xudeMacBook-Pro.local] replace existing handler for [/{index}/_search] for method: GET existing:com.infinilabs.security.filter.SecurityRestFilter$1@41fbe8c0 to com.infinilabs.security.filter.SecurityRestFilter$1@1e8fd198
[2025-02-11T13:50:31,335][WARN ][o.e.r.MethodHandlers     ] [xudeMacBook-Pro.local] replace existing handler for [/{index}/_search] for method: POST existing:com.infinilabs.security.filter.SecurityRestFilter$1@4f75c627 to com.infinilabs.security.filter.SecurityRestFilter$1@1631a614
[2025-02-11T13:50:31,344][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] initialized
[2025-02-11T13:50:31,344][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] starting ...
[2025-02-11T13:50:31,345][INFO ][o.e.i.r.a.s.RollupListener] [xudeMacBook-Pro.local] Rollup listener start
[2025-02-11T13:50:31,391][INFO ][o.e.t.TransportService   ] [xudeMacBook-Pro.local] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2025-02-11T13:50:31,473][WARN ][o.e.b.BootstrapChecks    ] [xudeMacBook-Pro.local] system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
[2025-02-11T13:50:31,473][WARN ][o.e.b.BootstrapChecks    ] [xudeMacBook-Pro.local] the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
[2025-02-11T13:50:31,477][INFO ][o.e.c.c.ClusterBootstrapService] [xudeMacBook-Pro.local] no discovery configuration found, will perform best-effort cluster bootstrapping after [3s] unless existing master is discovered
[2025-02-11T13:50:34,481][INFO ][o.e.c.c.Coordinator      ] [xudeMacBook-Pro.local] setting initial configuration to VotingConfiguration{w5zzEDPfTDSE30HWYkUNcw}
[2025-02-11T13:50:34,576][INFO ][o.e.c.s.MasterService    ] [xudeMacBook-Pro.local] elected-as-master ([1] nodes joined)[{xudeMacBook-Pro.local}{w5zzEDPfTDSE30HWYkUNcw}{KMu1pbs-RB2vaWucEO8dmg}{127.0.0.1}{127.0.0.1:9300}{dimr} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 1, version: 1, delta: master node changed {previous [], current [{xudeMacBook-Pro.local}{w5zzEDPfTDSE30HWYkUNcw}{KMu1pbs-RB2vaWucEO8dmg}{127.0.0.1}{127.0.0.1:9300}{dimr}]}
[2025-02-11T13:50:34,601][INFO ][o.e.c.c.CoordinationState] [xudeMacBook-Pro.local] cluster UUID set to [kJHbUT_zT2ionNVL9f3raQ]
[2025-02-11T13:50:34,623][INFO ][o.e.c.s.ClusterApplierService] [xudeMacBook-Pro.local] master node changed {previous [], current [{xudeMacBook-Pro.local}{w5zzEDPfTDSE30HWYkUNcw}{KMu1pbs-RB2vaWucEO8dmg}{127.0.0.1}{127.0.0.1:9300}{dimr}]}, term: 1, version: 1, reason: Publication{term=1, version=1}
[2025-02-11T13:50:34,627][INFO ][o.e.i.i.ManagedIndexCoordinator] [xudeMacBook-Pro.local] Cache cluster manager node onClusterManager time: 1739253034627
[2025-02-11T13:50:34,637][INFO ][o.e.h.AbstractHttpServerTransport] [xudeMacBook-Pro.local] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2025-02-11T13:50:34,640][INFO ][o.e.n.Node               ] [xudeMacBook-Pro.local] started
[2025-02-11T13:50:34,640][INFO ][c.i.s.SecurityPlugin     ] [xudeMacBook-Pro.local] Node started
[2025-02-11T13:50:34,640][INFO ][c.i.s.c.ConfigurationRepository] [xudeMacBook-Pro.local] Will attempt to create index .security and default configs if they are absent
[2025-02-11T13:50:34,641][INFO ][c.i.s.SecurityPlugin     ] [xudeMacBook-Pro.local] 3 Security modules loaded so far: [Module [type=REST_MANAGEMENT_API, implementing class=com.infinilabs.security.dlic.rest.api.SecurityRestApiActions], Module [type=MULTITENANCY, implementing class=com.infinilabs.security.configuration.PrivilegesInterceptorImpl], Module [type=AUDITLOG, implementing class=com.infinilabs.security.auditlog.impl.AuditLogging]]
[2025-02-11T13:50:34,641][INFO ][c.i.s.c.ConfigurationRepository] [xudeMacBook-Pro.local] Background init thread started. Install default config?: true
[2025-02-11T13:50:34,645][INFO ][c.i.s.c.ConfigurationRepository] [xudeMacBook-Pro.local] Wait for cluster to be available ...
[2025-02-11T13:50:34,670][INFO ][o.e.g.GatewayService     ] [xudeMacBook-Pro.local] recovered [0] indices into cluster_state
[2025-02-11T13:50:36,676][INFO ][o.w.a.d.Dictionary       ] [xudeMacBook-Pro.local] try load config from /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/analysis-ik/IKAnalyzer.cfg.xml
[2025-02-11T13:50:37,465][INFO ][o.e.c.m.MetadataCreateIndexService] [xudeMacBook-Pro.local] [.security] creating index, cause [api], templates [], shards [1]/[1]
[2025-02-11T13:50:37,470][INFO ][o.e.c.r.a.AllocationService] [xudeMacBook-Pro.local] updating number_of_replicas to [0] for indices [.security]
[2025-02-11T13:50:37,657][INFO ][o.e.c.r.a.AllocationService] [xudeMacBook-Pro.local] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.security][0]]]).
[2025-02-11T13:50:37,679][INFO ][c.i.s.c.ConfigurationRepository] [xudeMacBook-Pro.local] Index .security created?: true
[2025-02-11T13:50:37,685][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Will update 'config' with /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/security/config.yml and populate it with empty doc if file missing and populateEmptyIfFileMissing=false
[2025-02-11T13:50:37,720][INFO ][o.e.c.m.MetadataMappingService] [xudeMacBook-Pro.local] [.security/ADtiL1q3TUiUghNCrlfrHQ] create_mapping [_doc]
[2025-02-11T13:50:37,779][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Doc with id 'config' and version 2 is updated in .security index.
[2025-02-11T13:50:37,780][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Will update 'role' with /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/security/role.yml and populate it with empty doc if file missing and populateEmptyIfFileMissing=false
[2025-02-11T13:50:37,786][INFO ][o.e.c.m.MetadataMappingService] [xudeMacBook-Pro.local] [.security/ADtiL1q3TUiUghNCrlfrHQ] update_mapping [_doc]
[2025-02-11T13:50:37,830][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Doc with id 'role' and version 2 is updated in .security index.
[2025-02-11T13:50:37,831][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Will update 'role_mapping' with /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/security/role_mapping.yml and populate it with empty doc if file missing and populateEmptyIfFileMissing=false
[2025-02-11T13:50:37,838][INFO ][o.e.c.m.MetadataMappingService] [xudeMacBook-Pro.local] [.security/ADtiL1q3TUiUghNCrlfrHQ] update_mapping [_doc]
[2025-02-11T13:50:37,885][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Doc with id 'role_mapping' and version 2 is updated in .security index.
[2025-02-11T13:50:37,886][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Will update 'user' with /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/security/user.yml and populate it with empty doc if file missing and populateEmptyIfFileMissing=false
[2025-02-11T13:50:37,898][INFO ][o.e.c.m.MetadataMappingService] [xudeMacBook-Pro.local] [.security/ADtiL1q3TUiUghNCrlfrHQ] update_mapping [_doc]
[2025-02-11T13:50:37,937][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Doc with id 'user' and version 2 is updated in .security index.
[2025-02-11T13:50:37,937][INFO ][c.i.s.s.ConfigHelper     ] [xudeMacBook-Pro.local] Will update 'privilege' with /Users/xu/Desktop/es/Easysearch-1.10.1-1978-mac-arm64-bundle/config/security/privilege.yml and populate it with empty doc if file missing and populateEmptyIfFileMissing=false

使用 Postman 嘗試連接,可以正常返回 HTTP 的響應(yīng):

在這里插入圖片描述

這里就需要用到上次的那個密碼,默認(rèn)存放在 log/initialize.log 下。

在這里插入圖片描述

Console

下載二進(jìn)制文件并且運行,服務(wù)監(jiān)聽在 9000 端口,通過這個頁面連接 Easysearch,用來替代 kibana,個人覺得比 kibana 和 OpenSearch Dashboard 要好用,除了 Easysearch 之外,還可以連接 ES 和 OpenSearch。

./console-mac-arm64             (base) 14:25:43___  ___    __  __    ___  __   __/ __\/___\/\ \ \/ _\  /___\/ /  /__\/ /  //  //  \/ /\ \  //  // /  /_\
/ /__/ \_// /\  / _\ \/ \_// /__//__
\____|___/\_\ \/  \__/\___/\____|__/HOME: https://github.com/infinilabs/console/[CONSOLE] The easiest way to operate your own search platform, open-sourced under the GNU AGPLv3.
[CONSOLE] 1.28.1#1978, 2025-01-25 11:40:24, 2025-12-31 10:10:10, b189b72c11a9, 8ecefd18d9eb, c511f8f4cab9
[02-11 14:25:47] [INF] [env.go:216] configuration auto reload enabled
[02-11 14:25:47] [INF] [env.go:222] watching config: /Users/xu/Desktop/es/console-1.28.1-1978-mac-arm64/config
[02-11 14:25:47] [INF] [app.go:311] initializing console, pid: 20341
[02-11 14:25:47] [INF] [app.go:312] using config: /Users/xu/Desktop/es/console-1.28.1-1978-mac-arm64/console.yml
[02-11 14:25:47] [INF] [instance.go:100] workspace: /Users/xu/Desktop/es/console-1.28.1-1978-mac-arm64/data/console/nodes/culeqqr55o14utfde2a0
[02-11 14:25:47] [INF] [module.go:159] started module: badger
[02-11 14:25:47] [INF] [module.go:159] started module: kafka_queue
[02-11 14:25:47] [INF] [module.go:159] started module: setup
[02-11 14:25:47] [INF] [module.go:159] started module: setup
[02-11 14:25:47] [INF] [web.go:226] web server listen at: http://0.0.0.0:9000
[02-11 14:25:47] [INF] [module.go:159] started module: web
[02-11 14:25:47] [INF] [module.go:184] all modules are started
[02-11 14:25:47] [INF] [app.go:537] console is up and running now.
[02-11 14:28:03] [WRN] [schema.go:101] duplicated schema rbac-role, infini.sh/console/core/security-role
[02-11 14:28:03] [WRN] [schema.go:101] duplicated schema rbac-user, infini.sh/console/core/security-user
[02-11 14:28:03] [WRN] [schema.go:101] duplicated schema credential, infini.sh/framework/core/credential-credential
[02-11 14:28:04] [INF] [module.go:187] loading [0] remote configs
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: merge_metrics
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: metadata_ingest
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: activity_ingest
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: merge_logging
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: merge_audit_log
[02-11 14:28:04] [INF] [pipeline.go:418] creating pipeline: ingest_merged_requests
[02-11 14:28:04] [INF] [load.go:69] loading permission file from /Users/xu/Desktop/es/console-1.28.1-1978-mac-arm64/config/permission.json
[02-11 14:28:06] [INF] [pipeline.go:227] config changed, checking for new pipeline configs, CREATE, config/system_config.yml
[02-11 14:54:38] [ERR] [v0.go:521] invalid response: https://localhost:9200/.infini_metrics%2A/_search,{"aggs":{"culf8bj55o14utfdf1u0":{"aggs":{"culf8bj55o14utfdf1ug":{"aggs":{"culf8bj55o14utfdf1v0":{"aggs":{},"terms":{"field":"payload.elasticsearch.cluster_health.status","missing":"","size":2}}},"date_range":{"field":"timestamp","format":"yyyy-MM-dd","ranges":[{"from":"now-13d/d","to":"now-12d/d"},{"from":"now-12d/d","to":"now-11d/d"},{"from":"now-11d/d","to":"now-10d/d"},{"from":"now-10d/d","to":"now-9d/d"},{"from":"now-9d/d","to":"now-8d/d"},{"from":"now-8d/d","to":"now-7d/d"},{"from":"now-7d/d","to":"now-6d/d"},{"from":"now-6d/d","to":"now-5d/d"},{"from":"now-5d/d","to":"now-4d/d"},{"from":"now-4d/d","to":"now-3d/d"},{"from":"now-3d/d","to":"now-2d/d"},{"from":"now-2d/d","to":"now-1d/d"},{"from":"now-1d/d","to":"now/d"},{"from":"now/d","to":"now"}],"time_zone":"+08:00"}}},"terms":{"field":"metadata.labels.cluster_id","size":2}}},"query":{"bool":{"filter":[{"range":{"timestamp":{"gte":"now-15d","lte":"now"}}}],"must":[{"terms":{"metadata.labels.cluster_id":["infini_default_system_cluster"]}},{"term":{"metadata.category":{"value":"elasticsearch"}}},{"term":{"metadata.name":{"value":"cluster_health"}}}]}},"size":0},{"error":{"root_cause":[{"type":"runtime_exception","reason":"Unable to unroll aggregation tree.  Aggregation [culf8bj55o14utfdf1u0] is of type [UnmappedTerms] which is currently unsupported."}],"type":"runtime_exception","reason":"Unable to unroll aggregation tree.  Aggregation [culf8bj55o14utfdf1u0] is of type [UnmappedTerms] which is currently unsupported."},"status":500}
[02-11 14:59:18] [ERR] [config.go:46] agent config not found: missing field accessing 'agent'
[02-11 14:59:18] [INF] [certs.go:49] auto generating cert files

查看集群信息,可以看指標(biāo),也可以看索引,kibana 有的功能這邊基本都有:

在這里插入圖片描述

同時提供 DSL 查詢:
在這里插入圖片描述

Gateway

INFINI Gateway 是一個面向搜索場景的高性能數(shù)據(jù)網(wǎng)關(guān),所有請求都經(jīng)過網(wǎng)關(guān)處理后再轉(zhuǎn)發(fā)到后端的搜索業(yè)務(wù)集群。基于 INFINI Gateway,可以實現(xiàn)索引級別的限速限流、常見查詢的緩存加速、查詢請求的審計、查詢結(jié)果的動態(tài)修改等等。

Macbook 下有奇怪的安全規(guī)則,除了二進(jìn)制文件之外,yml 文件經(jīng)驗也報錯不安全。打開 “系統(tǒng)偏好設(shè)置”,進(jìn)入 “安全性與隱私”,點擊 “通用”,有 “仍然允許” 按鈕,點擊它即可。
在這里插入圖片描述

然后按照 Easysearch 的配置進(jìn)行修改,否則會連不上集群。就是這個報錯:

./gateway-mac-arm64                 (base) 14:51:14___   _   _____  __  __    __  _/ _ \ /_\ /__   \/__\/ / /\ \ \/_\ /\_/\/ /_\///_\\  / /\/_\  \ \/  \/ //_\\\_ _/
/ /_\\/  _  \/ / //__   \  /\  /  _  \/ \
\____/\_/ \_/\/  \__/    \/  \/\_/ \_/\_/HOME: https://github.com/infinilabs/gateway/[GATEWAY] A light-weight, powerful and high-performance search gateway, open-sourced under the GNU AGPLv3.
[GATEWAY] 1.28.1#1978, 2025-01-24 18:34:08, 2025-12-31 10:10:10, 93fd9e32500a, 8ecefd18d9eb, c511f8f4cab9
[02-11 14:51:17] [INF] [app.go:311] initializing gateway, pid: 22456
[02-11 14:51:17] [INF] [app.go:312] using config: /Users/xu/Desktop/es/gateway-1.28.1-1978-mac-arm64/gateway.yml
[02-11 14:51:17] [INF] [instance.go:100] workspace: /Users/xu/Desktop/es/gateway-1.28.1-1978-mac-arm64/data/gateway/nodes/culf6pb55o15fe01mtvg
panic: Get "http://localhost:9200": EOFgoroutine 433 [running]:
infini.sh/framework/modules/elastic/common.InitClientWithConfig({{{0x14000810630, 0x4}, 0x0, 0x0}, {0x103466e7c, 0x4}, {0x14000810630, 0x4}, {0x0, 0x0}, ...})/root/go/src/infini.sh/framework/modules/elastic/common/config.go:89 +0x880
infini.sh/framework/modules/elastic/common.InitElasticInstanceWithoutMetadata({{{0x14000810630, 0x4}, 0x0, 0x0}, {0x103466e7c, 0x4}, {0x14000810630, 0x4}, {0x0, 0x0}, ...})/root/go/src/infini.sh/framework/modules/elastic/common/config.go:199 +0x64
infini.sh/framework/modules/elastic.initElasticInstances({0x14000826008?, 0x1e?, 0x103670600?}, {0x103466e7c, 0x4})/root/go/src/infini.sh/framework/modules/elastic/module.go:194 +0x7c
infini.sh/framework/modules/elastic.(*ElasticModule).Setup(0x140006fa120?)/root/go/src/infini.sh/framework/modules/elastic/module.go:215 +0x124
infini.sh/framework/core/module.Start()/root/go/src/infini.sh/framework/core/module/module.go:123 +0x238
main.start()/root/go/src/infini.sh/gateway/main.go:72 +0x1c
infini.sh/framework.(*App).run(0x14000332500)/root/go/src/infini.sh/framework/app.go:493 +0x160
created by infini.sh/framework.(*App).Start in goroutine 1/root/go/src/infini.sh/framework/app.go:429 +0xb4

在這里插入圖片描述
修改配置文件之后,啟動日志如下:

./gateway-mac-arm64                 (base) 14:53:07___   _   _____  __  __    __  _/ _ \ /_\ /__   \/__\/ / /\ \ \/_\ /\_/\/ /_\///_\\  / /\/_\  \ \/  \/ //_\\\_ _/
/ /_\\/  _  \/ / //__   \  /\  /  _  \/ \
\____/\_/ \_/\/  \__/    \/  \/\_/ \_/\_/HOME: https://github.com/infinilabs/gateway/[GATEWAY] A light-weight, powerful and high-performance search gateway, open-sourced under the GNU AGPLv3.
[GATEWAY] 1.28.1#1978, 2025-01-24 18:34:08, 2025-12-31 10:10:10, 93fd9e32500a, 8ecefd18d9eb, c511f8f4cab9
[02-11 14:53:16] [INF] [app.go:311] initializing gateway, pid: 22599
[02-11 14:53:16] [INF] [app.go:312] using config: /Users/xu/Desktop/es/gateway-1.28.1-1978-mac-arm64/gateway.yml
[02-11 14:53:16] [INF] [instance.go:100] workspace: /Users/xu/Desktop/es/gateway-1.28.1-1978-mac-arm64/data/gateway/nodes/culf6pb55o15fe01mtvg
[02-11 14:53:16] [INF] [module.go:159] started module: badger
[02-11 14:53:16] [INF] [api.go:214] local ips: 192.168.5.53
[02-11 14:53:16] [INF] [api.go:312] api server listen at: http://0.0.0.0:2900
[02-11 14:53:16] [INF] [module.go:159] started module: api
[02-11 14:53:16] [INF] [module.go:159] started module: disk_queue
[02-11 14:53:16] [INF] [actions.go:420] elasticsearch [logging-server] is available
[02-11 14:53:16] [INF] [module.go:159] started module: elasticsearch
[02-11 14:53:16] [INF] [module.go:159] started module: kafka_queue
[02-11 14:53:16] [INF] [module.go:159] started module: queue
[02-11 14:53:16] [INF] [module.go:159] started module: redis
[02-11 14:53:16] [INF] [module.go:159] started module: s3
[02-11 14:53:16] [INF] [module.go:159] started module: simple_stats
[02-11 14:53:16] [INF] [module.go:159] started module: task
[02-11 14:53:16] [INF] [actions.go:420] elasticsearch [prod] is available
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: pipeline_logging_merge
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: ingest_pipeline_logging
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: async_messages_merge
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: metrics_merge
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: request_logging_merge
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: ingest_merged_requests
[02-11 14:53:16] [INF] [pipeline.go:418] creating pipeline: async_ingest_bulk_requests
[02-11 14:53:16] [INF] [module.go:159] started module: pipeline
[02-11 14:53:16] [INF] [module.go:178] started plugin: floating_ip
[02-11 14:53:16] [INF] [module.go:178] started plugin: force_merge
[02-11 14:53:16] [INF] [module.go:178] started plugin: metrics
[02-11 14:53:16] [INF] [module.go:178] started plugin: statsd
[02-11 14:53:17] [INF] [reverseproxy.go:299] elasticsearch [prod] hosts: [] => [127.0.0.1:9200]
[02-11 14:53:17] [INF] [entry.go:420] entry [my_es_entry] listen at: http://0.0.0.0:8000
[02-11 14:53:17] [INF] [module.go:178] started plugin: gateway
[02-11 14:53:17] [INF] [module.go:184] all modules are started
[02-11 14:53:17] [INF] [app.go:537] gateway is up and running now.

認(rèn)證之后,可以從 Gateway 代理到 Easysearch:
在這里插入圖片描述

Gateway 注冊到 Console

注冊時候用的是 2900 端口,如果注冊到 8000 是無法連接的。
在這里插入圖片描述

注冊完成就會顯示 Gateway 的信息:
在這里插入圖片描述

本文圍繞在 Mac 系統(tǒng)上安裝、配置和使用 Easysearch 展開,詳細(xì)介紹了各組件的安裝過程、遇到的問題及解決辦法,以下是詳細(xì)總結(jié):

1. 安裝背景與前期準(zhǔn)備

在學(xué)習(xí)階段缺少服務(wù)器時,可使用 Mac 進(jìn)行 Easysearch 的安裝學(xué)習(xí),但官網(wǎng)未提供 Mac 版安裝教程。Easysearch 運行依賴 Java,程序啟動時會從當(dāng)前目錄的 JDK 查找 Java,即便環(huán)境變量已配置也可能無法找到,解決辦法有:一是下載 JDK 二進(jìn)制文件,重命名為“jdk”放在 Easysearch 根目錄;二是下載自帶 JDK 的 Easysearch bundle 包。

2. Easysearch 安裝與啟動

  • 初始化:執(zhí)行bin/initialize.sh腳本設(shè)置 TLS 證書和集群密碼,初始化過程會提示覆蓋證書和密碼的風(fēng)險,需確認(rèn)是否繼續(xù),并可選擇是否將憑證記錄到日志文件。初始化成功后會顯示集群的密碼和連接信息,如curl -ku admin:db3e19a8c1c9f7755763 https://localhost:9200。
  • 啟動集群:啟動命令為bin/Easysearch,默認(rèn)監(jiān)聽 9200 端口。啟動過程中可能出現(xiàn)無法加載 JNA 本地支持庫的警告,但不影響后續(xù)啟動和使用。

3. 連接與驗證

使用 Postman 嘗試連接,需用到初始化時生成的密碼(默認(rèn)存放在log/initialize.log),可正常返回 HTTP 響應(yīng),驗證了 Easysearch 集群的可訪問性。

4. Console 使用

下載并運行二進(jìn)制文件./console-mac-arm64,服務(wù)監(jiān)聽在 9000 端口,可替代 Kibana 連接 Easysearch、ES 和 OpenSearch。運行過程中會有部分警告信息,如重復(fù)的架構(gòu)定義,但不影響基本功能使用,還可查看集群信息和進(jìn)行 DSL 查詢。

5. Gateway 使用

  • 配置問題與解決:INFINI Gateway 是高性能數(shù)據(jù)網(wǎng)關(guān),Mac 上運行時可能因安全規(guī)則報錯,需在“系統(tǒng)偏好設(shè)置 - 安全性與隱私 - 通用”中點擊“仍然允許”。若配置不正確會出現(xiàn)連接不上集群的錯誤,修改配置文件后可正常啟動。
  • 啟動與功能驗證:啟動命令為./gateway-mac-arm64,啟動后各模塊和插件依次啟動,可實現(xiàn)索引級別的限速限流、緩存加速、查詢審計等功能。認(rèn)證后可從 Gateway 代理到 Easysearch,還可將 Gateway 注冊到 Console。
http://www.risenshineclean.com/news/42732.html

相關(guān)文章:

  • 視頻資源的網(wǎng)站怎么做站長資訊
  • 網(wǎng)站建設(shè)課程設(shè)計內(nèi)容淘寶店鋪轉(zhuǎn)讓價格表
  • wordpress評論框文件采集站seo課程
  • 自己做網(wǎng)站外包百度熱搜高考大數(shù)據(jù)
  • 企業(yè)做網(wǎng)站需要什么軟件百度品牌廣告收費標(biāo)準(zhǔn)
  • 網(wǎng)站制作預(yù)付款會計分錄小程序運營推廣公司
  • 大慶網(wǎng)站制作營銷策劃方案包括哪些內(nèi)容
  • 在百度做網(wǎng)站多少錢網(wǎng)站推廣營銷
  • 網(wǎng)站站內(nèi)鏈接濰坊住房公積金管理中心
  • 設(shè)計網(wǎng)頁推薦萬秀服務(wù)不錯的seo推廣
  • 網(wǎng)站的功能和作用百度seo排名帝搜軟件
  • 寶雞哪有有做網(wǎng)站的專業(yè)網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站開發(fā)的工作總結(jié)google搜索優(yōu)化方法
  • 怎么做賭博網(wǎng)站代理承德seo
  • html做網(wǎng)站實戰(zhàn)教程軟文寫作經(jīng)驗是什么
  • 余姚物流做網(wǎng)站鄭州本地seo顧問
  • 醫(yī)院網(wǎng)站建設(shè) 費用百度認(rèn)證官網(wǎng)
  • 四川建設(shè)廳官方網(wǎng)站四庫一平臺網(wǎng)絡(luò)運營商
  • 建設(shè)銀行手機(jī)查詢網(wǎng)站合肥seo優(yōu)化排名公司
  • 在北京大學(xué)生做家教的網(wǎng)站關(guān)鍵詞調(diào)詞平臺哪個好
  • 東莞電商頁面設(shè)計公司福州短視頻seo機(jī)會
  • 杭州網(wǎng)站建設(shè)wguser域名歸屬查詢
  • 優(yōu)秀網(wǎng)站頁面設(shè)計圖片蘭州模板網(wǎng)站seo價格
  • 直播網(wǎng)站怎么做站長工具百度百科
  • 網(wǎng)站建好了怎么做淘寶客seo指導(dǎo)
  • 偽類網(wǎng)站hyein seo官網(wǎng)
  • 網(wǎng)站 關(guān)于我們 模板免費網(wǎng)絡(luò)營銷推廣軟件
  • 網(wǎng)站開發(fā)都需要學(xué)什么深圳搜索競價賬戶托管
  • java企業(yè)網(wǎng)站商丘seo博客
  • 如何購買網(wǎng)站俄羅斯搜索引擎瀏覽器