about云日志分析环境搭建笔记
目录
编辑->虚拟机网络编辑起->更改设置->vmnet8->关闭使用本地DHCP服务(防止每次重启ip变更)->设置 子网IP 192.168.1.0->设置NET设置->设置网管 192.168.1.2
1) 用root用户先将sudoers权限修改(目前只读)
Chmod u+w /etc/sudoers
权限介绍
例如:
- r-- r-- ---
第一个字符解释:
-:表示位文件
d:是目录
l:是链接
2-10表示权限组
拥有者 拥有者所属组 非拥有者和组以外的其他用户
rwx rwx rwx
421 421 421
以上的权限为:拥有者只读,拥有者所数组只读,其他无权限
修改权限chmod指令
1. 字符
Chomd u+w 文档
第一个字母:
u:拥有者
g:拥有者所属组
o:其他用户
a:所有
符号
+:添加
-:除去
=:设置
上面是将文件的拥有者添加写入的权限
2. 数字
Chmod 640 文档
6:拥有者 4(r)+2(w)
4:拥有者所属组 4(r)
0:其他
4. 给hadoop用户设置权限
vi /etc/sudoers
添加
hadoop ALL=(ALL) NOPASSWD: ALL
保存退出
切换至hadoop用户
sudo vi/etc/sysconfig/selinux
将SELINUXTYPE的值修改为disable
1)图像化桌面(视频介绍)
2)命令窗口(视频介绍)需要重启网卡
Sudo systemctl restart network
sudo systemctlstop firewalld.service
禁止开机启动sudo systemctl disable firewalld.service
检查:sudo systemctl status sshd.service
开启:sudo systemctl start sshd.service
开机自启:sudo systemctl enable sshd.service
sudo vi /etc/hosts
添加节点
192.168.1.10master
192.168.1.20slave1
192.168.1.30 lave2
10.修改主机名
sudo vi/etc/hostname
master
退出保存
11.安装jdk
切换至root
1)将jdk的安装包放到 /usr/local/src
2)rpm -ivh jdk-8u144-linux-x64.rpm
3)卸载自带的jdk
rpm -e --nodeps `rpm -qa | grep java`
4)修改 vi /etc/profile 在最后添加jdk配置
exportJAVA_HOME=/usr/java/jdk1.8.0_60
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
5)生效配置 source /etc/profile
12.克隆出slave1和slave2两个虚拟机
对虚拟机进行修改
1) 修改改网卡信息
进入网卡目录:cd /etc/sysconfig/network-scripts/
查看:ls
编辑网卡:sudo vi ifcfg-**_****
更改网卡ip
更改mac地址 通过ifconfig获得
更改UUID 通过nmcli con show
2) 修改主机名hostname:sudo vi /etc/hostname
13.配置ntp服务(使各个节点时间统一)
1)master:sudo yum install ntpdata(所有节点)
设置开机启动:sudo systemctl enable ntpd
起动:sudo systemctl start ntpd
2)slave1和slave2(复制的节点)
设置开机启动:sudo systemctl enable ntpd
起动:sudo systemctl start ntpd
修改配置文件:sudo vi /ect/ntp.conf
将以**释
server0.centos.pool.ntp.org iburst
server1.centos.pool.ntp.org iburst
server2.centos.pool.ntp.org iburst
server3.centos.pool.ntp.org iburst
添加
server master iburst
查看:ntpd -p
14.ssh免密登陆
master节点:
1) 生成**:ssh-****** –t rsa
一直回车
2) 将生成的**加入公共的文件上:cat id_rsa.pub >>~/.ssh/authorized_keys
3) 将这个文件权限设置600
Chmod 600 authorized_keys
4) 将该文件发给slave1
scp [email protected]:~/.ssh
然后重复之前的步骤将其他两个节点的**加到该文件上,最后将slave2的文件在分发发给前面两个节点
15.安装mysql
只安装master
下载mysql的repo源:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包:
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql:sudo yum install mysql-server
启动mysql:sudo systemctl start mysqld
指令:mysql –u root –p
输入密码123456
mysql>use mysql
mysql> update user set password=password('123456') where user='root';
mysql>flush privileges;
为远程主机设置登陆权限
(待定)
16. 安装hadoop
1)新建data目录
2)将hadoop解压到data目录
tar -zxvf hadoop-2.7.4.tar.gz -C data
3)配置环境变量
修改 vi /etc/profile 在最后添加jdk配置
export HADOOP_HOME=/home/hadoop/ hadoop-2.7.4
path添加 :$HADOOP_HOME/bin;
4)生效配置 source /etc/profile
5)修改hadoop的配置文件
Hadoop-env.sh:将export JAVA_HOME=${JAVA_HOME}修改为export JAVA_HOME= /usr/java/jdk1.8.0_60
yarn-env.sh:添加export JAVA_HOME= /usr/java/jdk1.8.0_60
slave:清空添加
slave1
slave2
core-site.xml:
<configuration>
<!-- 指定hdfs -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!-- 指定hadoop临时目录,自行创建 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:///home/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml:
先创建对应的目录
mkdir -p /home/hadoop/dfs/data
mkdir -p /home/hadoop/dfs/name
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
mapre.site.xml:
先复制一份
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
修改yarn-site
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
17.将hadoop和配置文件分发到各节点
1)全局的配置文件有权限问题,要切换到root用户
scp /etc/profile [email protected]:/etc/
scp /etc/profile [email protected]:/etc/
各节点是配置文件生效:source /etc/profile
2)scp -r data [email protected]:~/
scp -r data [email protected]:~/
18.启动hadoop
cd /home/hadoop/data/hadoop-2.7.4/sbin
1)格式化:hadoop namenode -format
2)启动: ./start-dfs.sh
./start-yarn.sh
Master截图:
Slave截图:
19.hadoop常用指令
1) 当前目录文件列列表
hadoop fs -ls /
递归显示所有文件文件
hadoop fs –ls –R /
2) 创建文件夹
hadoop fs –mkdir /test
3) 将本地文件上传到hadoop上
hadoop fs –put a.txt /test
4) 删除hadoop文件
hadoop fs –rm /test/a.txt
5)移动文件
hadoop fs -mv /test/a.txt /test2
6)查看
hadoop fs –cat /test/a.txt
7)查看文件大小
hadoop fs –du /text/a.txt
8)复制本地文件到hadoop上
hadoop fs –copyFromLocal a.txt /test
9)复制hadoop的文件到本地
hadoop fs –copyToLocal /test/a.txt ./data
10)修改权限
hadoop fs –chown hive:hive /test
将test的所属用户设为hive,组也设为hive
11)-cp(复制)等等
20.安装scala
1)解压到data目录下
tar –zxvf scala-2.11.8.tgz –C ./data/
2)配置环境变量
export SCALA_HOME = /home/hadoop/data/scala-2.11.8
并添加到path中
生效配置:source /etc/profile
查看scala版本:scalc –version
将scala 分发到个节点
scp -r data/scala-2.11.8 [email protected]:~/data/
scp -r data/scala-2.11.8 [email protected]:~/data/
20.安装spark
1) 解压文件到data
tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz -C data/
2) 配置spark
复制出spark-env.sh :cp spark-env.sh.template spark-env.sh
修改spark-env.sh:添加
JAVA_HOME=/usr/java/jdk1.8.0_60
SCALA_HOME=/home/hadoop/data/scala-2.11.8
SPARK_MASTER_IP=192.168.1.10
HADOOP_CONF_DIR=/home/hadoop/data/hadoop-2.7.4/etc/hadoop
SPARK_LOCAL_DIRS=/home/hadoop/spark_data
SPARK_WORKER_DIR=/home/hadoop/spark_data/spark_works
复制出slaves:cp slaves.template slaves
修改slaves:将localhost修改为
master
slave1
slave2
复制出spark-defaults.conf :cpspark-defaults.conf.template spark-defaults.conf
修改:添加
spark.master spark://master:7077
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.eventLog.enabled true
spark.eventLog.dir file:///data/spark_data/history/event-log
spark.history.fs.logDirectory file:///data/spark_data/history/spark-events
spark.eventLog.compress true
修改改环境变量: exportSPARK_HOME=/home/hadoop/data/spark-2.0.2-bin-hadoop2.7
Path添加:$SPARK_HOME/bin:$SPARK_HOME/sbin
将spark分发到各节点
master启动:cd /home/hadoop/data/spark-2.0.2-bin-hadoop2.7/sbin
./start-master.sh
./start-slaves.sh
21.安装zookeeper 1)解压:tar -zxvf zookeeper-3.4.6.tar.gz -C data
2) 修改配置文件文件:
cd data/zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg:
将dataDir=/tmp/zookeeper修改为
dataDir=/home/hadoop/data/zk_data
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
3) 在data目录下创建zk_data
cd zk_data
echo”1”>myid (其他节点为2,3)
4) 将zookeeper分发到其他节点
并修改对应的myid
5)修改环境变量
添加:export ZOOKEEPER_HOME=/home/hadoop/data/zookeeper-3.4.6
添加到path后边:$ZOOKEEPER_HOME/bin
source /etc/profile
分发配置文件给各节点
5) 三个点都启动zookeeper
cd /home/hadoop/data/zookeeper-3.4.6/bin/
./zkServer.sh start
成功截图:
22.安装kafka
1) 解压:tar -zxvf kafka_2.11-0.10.1.0.tgz -C data
2) 修改配置文件server.properties
将#log.dirs=/tmp/kafka-logs修改为
log.dirs=/home/hadoop/data/kafka-logs
将#zookeeper.connect=localhost:2181修改为
zookeeper.connect=master:2181,slave1:2181,slave2:2181
3) 创建kafka-logs目录
4) 分发kafka目录和kafka-logs目录到各节点
5) 修改改各节点配置文件server.properties:
Slave1将broker.id=0修改成1
Slave2将broker.id=0修改成2
6)修改环境变量,分发环境变量
添加:export KAFKA_HOME=/home/hadoop/data/kafka_2.11-0.10.1.0
添加到path上:$KAFKA_HOME/bin
7)三个节点启动kafka
确定zookeeper已启动
cd /home/hadoop/data/kafka_2.11-0.10.1.0/bin/
./kafka-server-start.sh ../config/server.properties
启动成功截图:
8)kafka常用示例
创建topic:
./kafka-topics.sh --create --zookeeper master:2181,slave1:2181,slave2:2181--replication-factor 3--partitions 3--topic test
查看topic:
./kafka-topics.sh --list --zookeeper master:2181,slave1:2181,slave2:2181
创建的test
删除topic:
./kafka-topics.sh --delete --zookeeper master:2181,slave1:2181,slave2:2181 --topic test
控制台生产数据:
./kafka-console-producer.sh --broker-list master:9092,slave1:9092,slave2:9092 --topic test
控制塔写入5个消息
验证消息生成成功:
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list master:9092,slave1:9092,slave2:9092 --topic test --time -1
消息分区2一个消息,分区1两个消息,分区0两个消息
topic消费:
./kafka-console-consumer.sh --bootstrap-server master:9092,slave1:9092,slave2:9092 --topic test --from-beginning
23.安装flume以及整合
1) 解压
2) 修改改环境变量
export FLUME_HOME=/home/hadoop/data/apache-flume-1.7.0-bin
PATH添加:$FLUME_HOME/bin
3) 修改配置文件
创建配置文件test.properties:
touch test.properties
添加:
#配置angent组建的名称
#接受数据的组件
#数据缓冲组件
#传递内容的组件
agent.sources = s1
agent.channels = c1
agent.sinks =k1
#
#
#
agent.sources.s1.type =org.apache.flume.source.taildir.TaildirSource
agent.sources.s1.channels = c1
agent.sources.s1.positionFile=/home/hadoop/data/apache-flume-1.7.0-bin/test/taildir_position.json
agent.sources.s1.filegroups = f1
agent.sources.s1.filegroups.f1=/home/hadoop/data/testlog/.*.log
agent.sources.s1.batchSize=4000
#数据缓存类型
agent.channels.c1.type=file
agent.channels.c1.checkpointDir=/home/hadoop/data/apache-flume-1.7.0-bin/test/checkpoint
agent.channels.c1.dataDirs=/home/hadoop/data/apache-flume-1.7.0-bin/data
agent.channels.c1.keep-alive=6
#从c1接收数据
#类别
#存到kafka的哪个topic
agent.sinks.k1.channel = c1
agent.sinks.k1.type=org.apache.flume.sink.kafka.KafkaSink
agent.sinks.k1.kafka.topic=test
agent.sinks.k1.kafka.bootstrap.servers=master:9092,slave1:9092,slave2:9092
agent.sinks.k1.kafka.producer.acks =1
agent.sinks.k1.kafka.flumeBatchSize=1000
4) 创建配置文件中的目录
cd /home/hadoop/data/apache-flume-1.7.0-bin
mkdir test
cd ~/data
mkdir testlog
5) 启动flume
flume-ng agent --conf-file ~/data/apache-flume-1.7.0-bin/conf/test.properties --name agent -Dflume.root.logger=INFO,console