#修改主机名
vim /etc/sysconfig/network
#创建文件夹
mkdir -p /usr/application/dev-env
mkdir -p /usr/application/dev-fm
#跨机器复制
scp jdk-8u111-linux-x64.tar.gz root@node2:/usr/application/dev-env
scp jdk-8u111-linux-x64.tar.gz root@node3:/usr/application/dev-env
scp scala-2.11.2.tgz root@node2:/usr/application/dev-env
scp scala-2.11.2.tgz root@node3:/usr/application/dev-env
scp -v * root@node2:/usr/application/dev-fm
scp -v * root@node3:/usr/application/dev-fm
#安装java
tar -xzvf jdk-8u111-linux-x64.tar.gz
tar -xzvf scala-2.11.2.tgz
vim /etc/profile
JAVA_HOME=/usr/application/dev-env/jdk1.8.0_111
JRE_HOME=/usr/application/dev-env/jdk1.8.0_111
SCALA_HOME=/usr/application/dev-env/scala-2.11.2
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$PATH:JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin
export PATH CLASSPATH JAVA_HOME JRE_HOME SCALA_HOME
source /etc/profile
#配置免密码登录
cd ~/
ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa
cd .ssh
cat id_dsa.pub >> authorized_key
汇总公钥到一个文件
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_key
搭建Flume环境
节点 node1, node2, node3
1.在node1,node2,node3分别部署agent采集端
2.在node3上部署collector端,汇集node1,node2,node3中的监控数据并暂存到本地文件系统。
该Flume系统用于收集系统运行数据,包括内存、硬盘、系统信息等。
利用Sigar采集系统数据,然后借助flume agent作为启动外壳,用socket向本机的tcp端口发送数据。
具体操作步骤:
1.编写自定义Source作为任务启动外壳。代码见:
https://github.com/MouseSong/Big-Data/tree/master/bigdata_flume_customer
2.上传sigar so文件到classpath(三个节点重复此操作)

3.上传自定义Sorce jar包到 flume_home/lib目录(三个节点重复次操作)
4.编写启动sigar的外壳agent配置文件
sigar-shell.conf
#defined name of source channel and sink
a1.sources=r1
a1.channels=c1
a1.sinks=k1
#configure sigar source
a1.sources.r1.type=customer.source.SigarSource
a1.sources.r1.no=node1
a1.sources.r1.hostname=node1
a1.sources.r1.port=4141
#configure channel
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#configurej sink
a1.sinks.k1.type=logger
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
5.编写数据收集agent配置文件
hostinfo.conf
#defined name of source/channel/sink
a1.sources=r1
a1.channels=c1
a1.sinks=k1
#configure syslogtcp source