This section describes how to use Flume client to collect static logs from a local PC and save them to the /flume/test directory on HDFS.
cd ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/bin
sh geneJKS.sh -f sNetty12@ -g cNetty12@
The generated certificate is saved in the ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf path .
All user-defined passwords involved in this section (such as sNetty12@) must meet the following requirements:
cd ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/bin
./genPwFile.sh
cat password.property
password=D03C2D03D97CBA3F4FD2491A40CAA5E0
For example, use Avro Source, File Channel, and HDFS Sink, as shown in Figure 1.
Parameter |
Description |
Example Value |
---|---|---|
Name |
The value must be unique and cannot be left blank. |
test |
bind |
Specifies the IP address to which Avro Source is bound. This parameter cannot be left blank. It must be configured as the IP address that the server configuration file will upload. |
192.168.108.11 |
port |
Specifies the IP address to which Avro Source is bound. This parameter cannot be left blank. It must be configured as an unused port. |
21154 |
ssl |
Indicates whether to enable the SSL authentication. (You are advised to enable this function to ensure security.) Only Sources of the Avro type have this configuration item.
|
true |
keystore |
Indicates the server certificate. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/flume_sChat.jks |
keystore-password |
Specifies the password of the key library, which is the password required to obtain the keystore information. Enter the value of password obtained in 3.b. |
D03C2D03D97CBA3F4FD2491A40CAA5E0 |
truststore |
Indicates the SSL certificate trust list of the server. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/flume_sChatt.jks |
truststore-password |
Specifies the trust list password, which is the password required to obtain the truststore information. Enter the value of password obtained in 3.b. |
D03C2D03D97CBA3F4FD2491A40CAA5E0 |
dataDirs |
Specifies the directory for storing buffer data. The run directory is used by default. Configuring multiple directories on disks can improve transmission efficiency. Use commas (,) to separate multiple directories. If the directory is inside the cluster, the /srv/BigData/hadoop/dataX/flume/data directory can be used. dataX ranges from data1 to dataN. If the directory is outside the cluster, it needs to be independently planned. |
/srv/BigData/hadoop/data1/flumeserver/data |
checkpointDir |
Specifies the directory for storing the checkpoint information, which is under the run directory by default. If the directory is inside the cluster, the /srv/BigData/hadoop/dataX/flume/checkpoint directory can be used. dataX ranges from data1 to dataN. If the directory is outside the cluster, it needs to be independently planned. |
/srv/BigData/hadoop/data1/flumeserver/checkpoint |
transactionCapacity |
Specifies the transaction size, that is, the number of events in a transaction that can be processed by the current Channel. The size cannot be smaller than the batchSize of Source. Setting the same size as batchSize is recommended. |
61200 |
hdfs.path |
Specifies the HDFS data write directory. This parameter cannot be left blank. |
hdfs://hacluster/flume/test |
hdfs.inUsePrefix |
Specifies the prefix of the file that is being written to HDFS. |
TMP_ |
hdfs.batchSize |
Specifies the maximum number of events that can be written to HDFS once. |
61200 |
hdfs.kerberosPrincipal |
Specifies the Kerberos authentication user, which is mandatory in security versions. This configuration is required only in security clusters. |
flume_hdfs |
hdfs.kerberosKeytab |
Specifies the keytab file path for Kerberos authentication, which is mandatory in security versions. This configuration is required only in security clusters. |
/opt/test/conf/user.keytab NOTE:
Obtain the user.keytab file from the Kerberos certificate file of the user flume_hdfs. In addition, ensure that the user who installs and runs the Flume client has the read and write permissions on the user.keytab file. |
hdfs.useLocalTimeStamp |
Specifies whether to use the local time. Possible values are true and false. |
true |
scp ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/flume_cChat.jks user@10.196.26.1:/opt/flume-client/fusionInsight-flume-1.9.0/conf/
When copying the client certificate, you need to enter the password of user user of the host (for example, 10.196.26.1) where the client resides.
cd opt/flume-client/fusionInsight-flume-1.9.0/bin
./genPwFile.sh
password=4FD2491A40CAA5E0D03C2D03D97CBA3F
If the following error message is displayed, run the export JAVA_HOME=JDKpath command.
JAVA_HOME is null in current user,please install the JDK and set the JAVA_HOME
Use SpoolDir Source, File Channel, and Avro Sink, as shown in Figure 2.
Parameter |
Description |
Example Value |
---|---|---|
Name |
The value must be unique and cannot be left blank. |
test |
spoolDir |
Specifies the directory where the file to be collected resides. This parameter cannot be left blank. The directory needs to exist and have the write, read, and execute permissions on the flume running user. |
/srv/BigData/hadoop/data1/zb |
trackerDir |
Specifies the path for storing the metadata of files collected by Flume. |
/srv/BigData/hadoop/data1/tracker |
batch-size |
Specifies the number of events that Flume sends in a batch. |
61200 |
dataDirs |
Specifies the directory for storing buffer data. The run directory is used by default. Configuring multiple directories on disks can improve transmission efficiency. Use commas (,) to separate multiple directories. If the directory is inside the cluster, the /srv/BigData/hadoop/dataX/flume/data directory can be used. dataX ranges from data1 to dataN. If the directory is outside the cluster, it needs to be independently planned. |
/srv/BigData/hadoop/data1/flume/data |
checkpointDir |
Specifies the directory for storing the checkpoint information, which is under the run directory by default. If the directory is inside the cluster, the /srv/BigData/hadoop/dataX/flume/checkpoint directory can be used. dataX ranges from data1 to dataN. If the directory is outside the cluster, it needs to be independently planned. |
/srv/BigData/hadoop/data1/flume/checkpoint |
transactionCapacity |
Specifies the transaction size, that is, the number of events in a transaction that can be processed by the current Channel. The size cannot be smaller than the batchSize of Source. Setting the same size as batchSize is recommended. |
61200 |
hostname |
Specifies the name or IP address of the host whose data is to be sent. This parameter cannot be left blank. Name or IP address must be configured to be the name or IP address that the Avro source associated with it. |
192.168.108.11 |
port |
Specifies the IP address to which Avro Sink is bound. This parameter cannot be left blank. It must be consistent with the port that is monitored by the connected Avro Source. |
21154 |
ssl |
Specifies whether to enable the SSL authentication. (You are advised to enable this function to ensure security.) Only Sources of the Avro type have this configuration item.
|
true |
keystore |
Specifies the flume_cChat.jks certificate generated on the server. |
/opt/flume-client/fusionInsight-flume-1.9.0/conf/flume_cChat.jks |
keystore-password |
Specifies the password of the key library, which is the password required to obtain the keystore information. Enter the value of password obtained in 4.c. |
D03C2D03D97CBA3F4FD2491A40CAA5E0 |
truststore |
Indicates the SSL certificate trust list of the server. |
/opt/flume-client/fusionInsight-flume-1.9.0/conf/flume_cChatt.jks |
truststore-password |
Specifies the trust list password, which is the password required to obtain the truststore information. Enter the value of password obtained in 4.c. |
D03C2D03D97CBA3F4FD2491A40CAA5E0 |
Go to the ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/bin directory.
cd ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/bin
sh geneJKS.sh -m sKitty12@ -n cKitty12@
The generated certificate is saved in the ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf path. Where:
./genPwFile.sh
cat password.property
password=AA5E0D03C2D4FD24CBA3F91A40C03D97
vi ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/service/application.properties
Parameter |
Description |
Example Value |
---|---|---|
ssl_need_kspasswd_decrypt_key |
Indicates whether to enable the user-defined key encryption and decryption function. (You are advised to enable this function to ensure security.)
|
true |
ssl_server_enable |
Indicates whether to enable the SSL authentication. (You are advised to enable this function to ensure security.)
|
true |
ssl_server_key_store |
Set this parameter based on the specific storage location. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_sChat.jks |
ssl_server_trust_key_store |
Set this parameter based on the specific storage location. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_sChatt.jks |
ssl_server_key_store_password |
Indicates the client certificate password. Set this parameter based on the actual situation of certificate creation (the plaintext key used to generate the certificate). Enter the value of password obtained in 6.a. |
AA5E0D03C2D4FD24CBA3F91A40C03D97 |
ssl_server_trust_key_store_password |
Indicates the client trust list password. Set this parameter based on the actual situation of certificate creation (the plaintext key used to generate the trust list). Enter the value of password obtained in 6.a. |
AA5E0D03C2D4FD24CBA3F91A40C03D97 |
ssl_need_client_auth |
Indicates whether to enable the client authentication. (You are advised to enable this function to ensure security.)
|
true |
scp ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_cChat.jks user@10.196.26.1:/opt/flume-client/fusionInsight-flume-1.9.0/conf/
scp ${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_cChatt.jks user@10.196.26.1:/opt/flume-client/fusionInsight-flume-1.9.0/conf/
cd /opt/flume-client/fusionInsight-flume-1.9.0/bin
./genPwFile.sh
cat password.property
password=BA3F91A40C03D97AA5E0D03C2D4FD24C
vi /opt/flume-client/fusionInsight-flume-1.9.0/conf/service/application.properties
Parameter |
Description |
Example Value |
---|---|---|
ssl_need_kspasswd_decrypt_key |
Indicates whether to enable the user-defined key encryption and decryption function. (You are advised to enable this function to ensure security.)
|
true |
ssl_client_enable |
Indicates whether to enable the SSL authentication. (You are advised to enable this function to ensure security.)
|
true |
ssl_client_key_store |
Set this parameter based on the specific storage location. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_cChat.jks |
ssl_client_trust_key_store |
Set this parameter based on the specific storage location. |
${BIGDATA_HOME}/FusionInsight_Porter_8.1.2.2/install/FusionInsight-Flume-1.9.0/flume/conf/ms_cChatt.jks |
ssl_client_key_store_password |
Specifies the keystore password. Set this parameter based on the actual situation of certificate creation (the plaintext key used to generate the certificate). Enter the value of password obtained in 7.c. |
BA3F91A40C03D97AA5E0D03C2D4FD24C |
ssl_client_trust_key_store_password |
Specifies the trustkeystore password. Set this parameter based on the actual situation of certificate creation (the plaintext key used to generate the trust list). Enter the value of password obtained in 7.c. |
BA3F91A40C03D97AA5E0D03C2D4FD24C |
ssl_need_client_auth |
Indicates whether to enable the client authentication. (You are advised to enable this function to ensure security.)
|
true |