在CentOS上安装Elasticsearch和Kibana
下载Elasticsearch和Kibana
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.0-linux-x86_64.tar.gz iptables -nvL # 显示当前iptables规则 wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.0-linux-x86_64.tar.gz
在这一步,首先通过wget
命令下载了Elasticsearch和Kibana的压缩包。随后使用iptables -nvL
命令查看当前的iptables规则,以确保网络设置不会影响软件的下载和安装。
创建Elasticsearch用户
adduser elasticsearch # 创建名为 'elasticsearch' 的新用户 passwd elasticsearch # 为 'elasticsearch' 用户设置密码
在这一步,新建了一个名为 'elasticsearch' 的用户,并为该用户设置了密码。这是为了提高系统安全性,以降低使用默认用户权限的风险。
解压并设置Elasticsearch的权限
tar -zxvf elasticsearch-7.15.0-linux-x86_64.tar.gz # 解压Elasticsearch存档 chown -R elasticsearch elasticsearch-7.15.0 # 将Elasticsearch文件的所有权更改为 'elasticsearch' 用户
在这一步,解压了Elasticsearch的压缩包,并通过chown
命令将所有文件的所有权设置为 'elasticsearch' 用户。这是为了确保 'elasticsearch' 用户具有对Elasticsearch文件的访问权限。
解压并设置Kibana的权限
tar -zxvf kibana-7.15.0-linux-x86_64.tar.gz # 解压Kibana存档 chown -R elasticsearch kibana-7.15.0-linux-x86_64 # 将Kibana文件的所有权更改为 'elasticsearch' 用户
在这一步,解压了Kibana的压缩包,并通过chown
命令将所有文件的所有权设置为 'elasticsearch' 用户。这是为了确保 'elasticsearch' 用户具有对Kibana文件的访问权限。
移动到用户的主目录并设置权限
cp -r elasticsearch-7.15.0 /home/elasticsearch/ # 将Elasticsearch文件复制到 'elasticsearch' 用户的主目录 cp -r kibana-7.15.0-linux-x86_64 /home/elasticsearch/ # 将Kibana文件复制到 'elasticsearch' 用户的主目录 cd /home/elasticsearch/ # 移动到 'elasticsearch' 用户的主目录 chown -R elasticsearch elasticsearch-7.15.0/ # 更改主目录中Elasticsearch文件的所有权 chown -R elasticsearch kibana-7.15.0-linux-x86_64/ # 更改主目录中Kibana文件的所有权
在这一步,通过cp
命令将解压后的Elasticsearch和Kibana文件夹复制到 'elasticsearch' 用户的主目录,并通过chown
命令设置文件夹的所有权,确保 'elasticsearch' 用户具有访问权限。
切换到Elasticsearch用户
su - elasticsearch # 切换到 'elasticsearch' 用户
最后,通过su
命令切换到 'elasticsearch' 用户。这是为了在后续的安装过程中以合适的权限执行命令,以及确保Elasticsearch和Kibana在运行时以适当的权限启动。
这组命令在CentOS上安装Elasticsearch和Kibana,创建了一个专用用户,解压并设置了软件的权限,将文件复制到用户的主目录,并切换到 'elasticsearch' 用户。
修改elasticsearch的配置文件
在部署Elasticsearch时,修改配置文件是非常关键的,以确保系统的安全性、性能和适应性。以下是一些值得注意的Elasticsearch配置文件中的重要配置项:
- network.host:
- 默认情况下,Elasticsearch仅绑定到localhost(127.0.0.1)。在生产环境中,应该将其设置为可访问的IP地址,以便外部系统可以连接到Elasticsearch。
- discovery.seed_hosts和cluster.initial_master_nodes:
- 在集群部署中,确保这两个配置项指向至少一个已知的节点。这有助于新节点加入集群时进行发现和选举。
- node.name:
- 为每个节点设置一个唯一的名称,以方便在集群中识别每个节点。
- path.data和path.logs:
- 指定数据和日志的存储路径。根据服务器的磁盘布局和大小调整这些路径,确保有足够的空间。
- bootstrap.memory_lock:
- 在生产环境中,建议将此配置项设置为true,以锁定JVM的内存,防止被交换到磁盘上。
- indices.memory.index_buffer_size:
- 设置索引缓冲池的大小,以优化写入性能。根据集群的大小和写入负载进行调整。
- indices.query.default_field:
- 设置默认的查询字段。确保设置为适合您数据模型的字段。
- discovery.zen.minimum_master_nodes:
- 在Zen发现中,设置此配置项以确保在集群中正确进行主节点选举。
- cluster.routing.allocation.disk.watermark:
- 控制磁盘空间的分配,以防止节点因为磁盘空间不足而被禁用。
- script.allowed_types:
- 限制允许使用的脚本语言类型,以减少潜在的安全风险。
- xpack.security.enabled:
- 如果启用了Elastic Stack的安全特性,确保设置为true,以启用身份验证和授权。
- network.bind_host和network.publish_host:
- 在多网卡服务器上,通过这两个配置项指定绑定和发布的网络接口,以确保网络通信的正确性。
在修改这些配置项时,请注意参考官方文档和注释,确保了解每个配置项的含义以及对系统的影响。在生产环境中,最好先在测试环境中进行验证,以确保更改不会导致意外的问题。
修改kibana的配置文件
在部署Kibana时,修改配置文件是至关重要的,以确保系统的安全性、性能和适应性。以下是一些值得注意的Kibana配置文件中的关键配置项:
- server.host:
- 指定Kibana服务绑定的主机地址。默认情况下,它可能只绑定到localhost。在生产环境中,通常需要将其设置为可公开访问的IP地址。
- server.port:
- 指定Kibana服务监听的端口号。确保与网络策略和系统中的其他服务不冲突。
- elasticsearch.hosts:
- 指定连接到Elasticsearch的地址。确保与Elasticsearch部署相匹配,并使用逗号分隔的URL列表。
- server.ssl.enabled和server.ssl.certificate:
- 如果启用SSL,设置这两个配置项以指定SSL证书的路径。确保证书的有效性和安全性。
- elasticsearch.username和elasticsearch.password:
- 如果启用了Elastic Stack的安全特性,设置这两个配置项以提供与Elasticsearch的身份验证凭据。
- server.basePath:
- 如果Kibana被部署在特定路径下,设置此配置项以确保正确的路径访问。
- kibana.index:
- 指定Kibana保存其配置和状态的Elasticsearch索引的名称。确保不会与其他应用程序冲突。
- server.maxPayloadBytes:
- 限制客户端请求的最大大小。根据网络和系统性能进行调整。
- xpack.reporting.encryptionKey:
- 如果启用了报告功能,设置此密钥以加密报告。确保密钥的安全性。
- xpack.security.sessionTimeout和xpack.security.cookieName:
- 如果启用了安全特性,设置会话超时时间和cookie名称。确保适应企业的安全标准。
- xpack.security.enabled:
- 如果启用了Elastic Stack的安全特性,确保设置为true,以启用身份验证和授权。
- optimize.enabled:
- 在生产环境中,设置为true以启用Kibana代码的优化。在开发环境中,可能需要将其设置为false以方便调试。
在修改这些配置项时,请参考官方文档和注释,确保了解每个配置项的含义以及对系统的影响。在生产环境中,最好先在测试环境中进行验证,以确保更改不会导致意外的问题。
启动elasticsearch和kibana
启动Elasticsearch和Kibana可以通过命令行进行,以下是启动和验证的基本步骤。
启动Elasticsearch:
- 进入Elasticsearch的安装目录。
cd /path/to/elasticsearch-7.15.0/
- 启动Elasticsearch。
./bin/elasticsearch
- Elasticsearch默认监听9200端口,可以通过浏览器或curl命令验证。
如果成功启动,将返回Elasticsearch的信息,包括版本号等。
- 通过浏览器访问
http://localhost:9200/
或 - 使用curl命令:
curl -X GET "localhost:9200/"
启动Kibana:
- 进入Kibana的安装目录。
cd /path/to/kibana-7.15.0-linux-x86_64/
- 编辑
config/kibana.yml
配置文件,确保配置项正确。 - 启动Kibana。
./bin/kibana
- 默认情况下,Kibana监听在5601端口。
- 通过浏览器访问
http://localhost:5601/
,Kibana的Web界面应该可见。
验证启动成功:
Elasticsearch:
- 通过HTTP请求:
curl -X GET "localhost:9200/"
- 应该返回Elasticsearch的信息,包括版本号等。
- 通过浏览器:访问
http://localhost:9200/
应该看到类似的JSON响应。
Kibana:
- 通过浏览器:访问
http://localhost:5601/
应该能够打开Kibana的Web界面。 - Kibana状态检查:在Kibana的Web界面中,左上角通常有一个 Kibana 的图标。如果图标是绿色的,则表示Kibana已经连接到Elasticsearch并成功启动。
请注意,为了更好的安全性,应该在生产环境中配置适当的访问控制和认证,以防止未经授权的访问。确保配置文件中的相关配置项(如elasticsearch.username
和elasticsearch.password
)正确设置,并相应地更新验证步骤。