安装Flume客户端
使用Flume搜集日志时,需要在日志主机上安装Flume客户端。用户可以创建一个新的ECS并安装Flume客户端。
前提条件
- 已创建包含Flume组件的集群。
- 日志主机需要与MRS集群在相同的VPC和子网。
- 已获取日志主机的登录方式。
- 安装目录可以不存在,会自动创建。但如果存在,则必须为空。目录路径不能包含空格。
安装Flume客户端
- 获取软件包。
登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > Flume”进入Flume服务界面,在右上角选择“更多 > 下载客户端”,选择“选择客户端类型”为“完整客户端”,下载Flume服务客户端文件。
客户端文件名称为“FusionInsight_Cluster_<集群ID>_Flume_Client.tar”,本章节以“FusionInsight_Cluster_1_Flume_Client.tar”为例进行描述。
- 上传软件包。
以user用户将软件包上传到将要安装Flume服务客户端的节点目录上,例如“/opt/client”。
user用户为安装和运行Flume客户端的用户。
- 解压软件包。
以user用户登录将要安装Flume服务客户端的节点。进入安装包所在目录,例如“/opt/client”,执行如下命令解压安装包到当前目录。
cd /opt/client
tar -xvf FusionInsight_Cluster_1_Flume_Client.tar
- 校验软件包。
执行sha256sum -c命令校验解压得到的文件,返回“OK”表示校验通过。例如:
sha256sum -c FusionInsight_Cluster_1_Flume_ClientConfig.tar.sha256
FusionInsight_Cluster_1_Flume_ClientConfig.tar: OK
- 解压文件。
tar -xvf FusionInsight_Cluster_1_Flume_ClientConfig.tar
- 如果在集群外节点安装Flume客户端,需执行如下步骤配置安装环境。在集群内节点安装可不执行该步骤。
- 客户端数量是否为1。
- 在Flume客户端安装目录下执行以下命令,安装客户端到指定目录(绝对路径),例如安装到“/opt/FlumeClient”目录。客户端安装成功后单独安装结束。
cd /opt/client/FusionInsight_Cluster_1_Flume_ClientConfig/Flume/FlumeClient
./install.sh -d /opt/FlumeClient -f MonitorServer角色的业务IP或主机名 -c 用户业务配置文件properties.properties放置路径 -s cpu阈值 -l /var/log/Bigdata -e FlumeServer的业务IP或主机名 -n Flume
- “-d”:Flume客户端安装路径。
- “-f”(可选):两个MonitorServer角色的业务IP或主机名,中间用逗号分隔,如果不设置则Flume客户端将不向MonitorServer发送告警信息,同时在FusionInsight Manager界面上看不到该客户端的相关信息。
- “-c”(可选):指定业务配置文件,该文件需要用户根据自己业务生成,具体操作可在Flume服务端中“配置工具”页面参考Flume业务配置指南章节生成,并上传到待安装客户端节点上的任一目录下。如果安装时未指定(即不配置该参数),可在安装后上传已经生成的业务配置文件properties.properties到“/opt/FlumeClient/fusioninsight-flume-1.9.0/conf”目录下。
- “-s”(可选):Cgroup阈值,阈值取值范围为1~100*N之间的整数,N表示机器cpu核数。默认阈值为“-1”,表示加入到Cgroup的进程不受cpu使用率限制。
- “-l”(可选):日志路径,默认值为“/var/log/Bigdata”(“user”用户需要对此目录有写权限)。首次安装客户端会生成名为flume-client的子目录,之后安装会依次生成名为“flume-client-n”的子目录,n代表一个序号,从1依次递增。在Flume客户端安装目录下的conf目录中,编辑ENV_VARS文件,搜索FLUME_LOG_DIR属性,可查看客户端日志路径。
- “-e”(可选):FlumeServer的业务IP地址或主机名,主要用于接收客户端上报的监控指标信息。
- “-n”(可选):Flume客户端的名称,可以通过在FusionInsight Manager上选择“集群 > 待操作集群名称 > 服务 > Flume > Flume管理”查看对应节点上客户端的名称。
- 如果产生以下错误提示,可执行命令export JAVA_HOME=JDK路径进行处理。可使用echo $JAVA_HOME查找JDK路径。
JAVA_HOME is null in current user,please install the JDK and set the JAVA_HOME
- 集群混搭时,安装跨平台客户端时,请进入/opt/client/FusionInsight_Cluster_1_Flume_ClientConfig/Flume/FusionInsight-Flume-1.9.0.tar.gz路径下进行Flume客户端安装。
- 进入批量安装客户端目录。
cd /opt/client/FusionInsight_Cluster_1_Flume_ClientConfig/Flume/FlumeClient/batch_install
集群混搭时,安装跨平台客户端时,请进入/opt/client/FusionInsight_Cluster_1_Flume_ClientConfig/Flume/FusionInsight-Flume-1.9.0.tar.gz路径下进行Flume客户端安装。
- 配置host_info.cfg文件,配置文件格式如下:
host_ip="",user="",password="",install_path="",flume_config_file="",monitor_server_ip="",log_path="",flume_server_ip="",cgroup_threshold="",client_name=""
- host_ip(必填项):待安装Flume客户端的节点IP。
- user(必填项):远程登录到待安装Flume客户端节点的用户名,需确保该用户具有访问crontab的权限,可以使用命令echo 用户名 > /etc/cron.allow来为用户添加访问crontab的权限。
- password(必填项):远程登录到待安装Flume客户端节点密码。配置文件中包含认证密码信息可能存在安全风险,建议当前场景执行完毕后删除相关配置文件或加强安全管理。
- install_path(必填项):Flume客户端安装路径。
- flume_config_file(可选):flume运行时的配置文件,建议用户在安装时指定该配置文件,如果用户不填写该项,保持该配置项值为""即可,不能删除该配置参数。
- monitor_server_ip(可选):集群内Flume的MonitorServer的业务ip,可在FusionInsight Manager上查看,该ip有两个,选择其中一个即可,如果不配置,客户端如果进程故障不会发送告警信息到集群内。
- log_path(可选):Flume运行时日志保存路径,如果不配置,默认日志打印在“/var/log/Bigdata/flume-client-索引”。索引取值:如果只有一个客户端在此路径下,那么该值为1,如果有多个,那么索引值在前加1。
- flume_server_ip(可选):Flume server的业务IP,客户端的指标信息通过该节点上报到集群内,可以在web界面上显示该客户端指标信息,如果不配置,客户端指标信息不会显示。
- cgroup_threshold(可选):Cgroup阈值,阈值取值范围为1~100*N之间的整数,N表示机器cpu核数。默认阈值为“-1”,表示加入到Cgroup的进程不受cpu使用率限制。
- client_name(可选):客户端名称,在客户端监控界面上可以显示该客户端名称,如果不配置,该客户端名字显示为空。
- 如果需要添加多个节点,格式如下:
host_ip="ip1",user="user1",password="******",install_path="/tmp/flumeclient",flume_config_file="",monitor_server_ip="xxx.xxx.xxx.xxx",log_path="",flume_server_ip="xxx.xxx.xxx.xxx",cgroup_threshold="",client_name="ip1-client-1"
host_ip="ip2",user="user1",password="******",install_path="/tmp/flumeclient",flume_config_file="",monitor_server_ip="xxx.xxx.xxx.xxx",log_path="",flume_server_ip="xxx.xxx.xxx.xxx",cgroup_threshold="",client_name="ip2-client-1"
host_ip="ip3",user="user1",password="******",install_path="/tmp/flumeclient",flume_config_file="",monitor_server_ip="xxx.xxx.xxx.xxx",log_path="",flume_server_ip="xxx.xxx.xxx.xxx",cgroup_threshold="",client_name="ip3-client-1"
- 执行如下命令批量安装Flume客户端,安装完成如图所示。
./batch_install.sh -p /opt/client/FusionInsight_Cluster_1_Flume_Client.tar
- 删除host_info.cfg文件中的密码信息。
批量安装完成后,请立即删除host_info.cfg文件中的密码信息,否则会存在密码泄露的风险。
Flume客户端Cgroup使用指导
该操作指导用户加入、退出Cgroup,查询Cgroup状态以及更改Cgroup cpu阈值。
- 加入Cgroup
执行以下命令,加入Cgroup,假设Flume客户端安装路径为“/opt/FlumeClient”,Cgroup cpu阈值设置为50%:
cd /opt/FlumeClient/fusioninsight-flume-1.9.0/bin
./flume-manage.sh cgroup join 50
- 该命令不仅可以加入Cgroup,同时也可以更改Cgroup cpu阈值。
- Cgroup cpu阈值取值范围为1~100*N之间的整数,N表示机器cpu核数。
- 查询Cgroup状态
执行以下命令,查询Cgroup状态,假设Flume客户端安装路径为“/opt/FlumeClient”:
cd /opt/FlumeClient/fusioninsight-flume-1.9.0/bin
./flume-manage.sh cgroup status
- 退出Cgroup
执行以下命令,退出Cgroup,假设Flume客户端安装路径为“/opt/FlumeClient”:
cd /opt/FlumeClient/fusioninsight-flume-1.9.0/bin
./flume-manage.sh cgroup exit
- 客户端安装完成后,会自动创建默认Cgroup。如果安装客户端时未配置“-s”参数,则默认值为“-1”,表示agent进程不受cpu使用率限制。
- 加入、退出Cgroup时,agent进程不受影响。如果agent进程未启动,加入、退出Cgroup仍然可以成功执行,待下一次agent启动时生效。
- 客户端卸载完成后,安装时期创建的Cgroup会自动删除。