ARCHITECTURE
彭淦淦
破烂猴
展开
-
Hadoop高可用验证 : 初始化集群 验证集群
4.1 问题本案例要求:初始化集群验证集群4.2 步骤实现此案例需要按照如下步骤进行。步骤一:验证hadoop的高可用1)初始化ZK集群[root@nn01 ~]# /usr/local/hadoop/bin/hdfs zkfc -formatZK ...18/09/11 15:43:35 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/nsdcluster in ZK //出现Successfully即为原创 2020-05-26 08:59:07 · 950 阅读 · 0 评论 -
Hadoop高可用:配置Hadoop的高可用 修改配置文件
3.1 问题本案例要求:配置Hadoop的高可用 修改配置文件3.2 方案配置Hadoop的高可用,解决NameNode单点故障问题,使用之前搭建好的hadoop集群,新添加一台nn02,ip为192.168.1.66,具体要求如图-1所示:图-13.3 步骤实现此案例需要按照如下步骤进行。步骤一:hadoop的高可用1)停止所有服务(由于 kafka的实验做完之后就已经停止,这里不在重复)[root@nn01 ~]# cd /usr/local/hadoop原创 2020-05-26 08:49:03 · 482 阅读 · 0 评论 -
Kafka集群实验:利用Zookeeper搭建一个Kafka集群 创建一个topic 模拟生产者发布消息 模拟消费者接收消息
2.1 问题本案例要求:利用Zookeeper搭建一个Kafka集群创建一个topic模拟生产者发布消息模拟消费者接收消息2.2 步骤实现此案例需要按照如下步骤进行。步骤一:搭建Kafka集群1)解压 kafka 压缩包Kafka在node1,node2,node3上面操作即可[root@node1 hadoop]# tar -xf kafka_2.12-2.1.0.tgz2)把 kafka 拷贝到 /usr/local/kafka 下面[root@node1 ~]# mv ka原创 2020-05-25 09:59:31 · 384 阅读 · 0 评论 -
Zookeeper安装:搭建Zookeeper集群并查看各服务器的角色 停止Leader并查看各服务器的角色
1.1 问题本案例要求:搭建Zookeeper集群并查看各服务器的角色停止Leader并查看各服务器的角色1.2 步骤实现此案例需要按照如下步骤进行。步骤一:安装Zookeeper1)编辑/etc/hosts ,所有集群主机可以相互 ping 通(在nn01上面配置,同步到node1,node2,node3)[root@nn01 hadoop]# vim /etc/hosts192.168.1.60 nn01192.168.1.61 node1192.168.1.62 node2原创 2020-05-25 09:57:45 · 2702 阅读 · 0 评论 -
Hdoop中NFS配置:创建代理用户 启动一个新系统, 启动服务 挂载NFS并实现开机自启
4.1 问题本案例要求:创建代理用户启动一个新系统,启动服务挂载NFS并实现开机自启4.2 步骤实现此案例需要按照如下步骤进行。步骤一:基础准备1)更改主机名,配置/etc/hosts(/etc/hosts在nn01和nfsgw上面配置)[root@localhost ~]# echo nfsgw > /etc/hostname [root@localhost ~]# hostname nfsgw[root@nn01 hadoop]# vim /etc/hosts192.16原创 2020-05-25 09:55:15 · 308 阅读 · 0 评论 -
Hadoop节点管理
3.1 问题本案例要求:增加一个新的节点查看状态删除节点3.2 方案另外准备两台主机,node4和nfsgw,作为新添加的节点和网关,具体要求如表-2所示:表-23.3 步骤实现此案例需要按照如下步骤进行。步骤一:增加节点1)增加一个新的节点node4[root@hadoop5 ~]# echo node4 > /etc/hostname //更改主机名为node4[root@hadoop5 ~]# hostname node4[root@node4 ~]# yum原创 2020-05-25 09:52:51 · 191 阅读 · 0 评论 -
Hadoop词频统计:在集群文件系统里创建文件夹 上传要分析的文件到目录中 分析上传文件 展示结果
2.1 问题本案例要求:在集群文件系统里创建文件夹 上传要分析的文件到目录中 分析上传文件 展示结果2.2 步骤实现此案例需要按照如下步骤进行。步骤一:词频统计 [root@nn01 hadoop]# ./bin/hadoop fs -ls ///查看集群文件系统的根,没有内容[root@nn01 hadoop]# ./bin/hadoop fs -mkdir /aaa//在集群文件系统下创建aaa目录[root@nn01 ha...原创 2020-05-25 09:51:05 · 522 阅读 · 0 评论 -
安装与部署:对mapred和yarn文件进行配置 验证访问Hadoop
1.1 问题本案例要求:对mapred和yarn文件进行配置 验证访问Hadoop1.2 方案在day05准备好的环境下给master (nn01)主机添加ResourceManager的角色,在node1,node2,node3上面添加NodeManager的角色,如图-1所示:图-11.3 步骤实现此案例需要按照如下步骤进行。步骤一:安装与部署hadoop1)配置mapred-site(nn01上面操作)[root@nn01 ~]# cd /us.原创 2020-05-25 09:49:50 · 222 阅读 · 0 评论 -
安装配置Hadoop
2.1 问题本案例要求:另备三台虚拟机,安装Hadoop使所有节点能够ping通,配置SSH信任关系节点验证2.2 方案准备四台虚拟机,由于之前已经准备过一台,所以只需再准备三台新的虚拟机即可,安装hadoop,使所有节点可以ping通,配置SSH信任关系,如图-1所示:图-12.3 步骤实现此案例需要按照如下步骤进行。步骤一:环境准备1)三台机器配置主机名为node1、node2、node3,配置ip地址(ip如图-1所示),yum源(系统源)2)编辑/etc/hosts(四台主原创 2020-05-25 09:46:10 · 138 阅读 · 0 评论 -
安装Hadoop:单机模式安装Hadoop 安装JAVA环境 设置环境变量,启动运行
1.1 问题本案例要求安装单机模式Hadoop:单机模式安装Hadoop安装JAVA环境设置环境变量,启动运行1.2 步骤实现此案例需要按照如下步骤进行。步骤一:环境准备1)配置主机名为nn01,ip为192.168.1.60,配置yum源(系统源)备注:由于在之前的案例中这些都已经做过,这里不再重复,不会的学员可以参考之前的案例2)安装java环境[root@nn01 ~]# yum -y install java-1.8.0-openjdk-devel[root@nn01 ~]#原创 2020-05-25 09:44:03 · 578 阅读 · 0 评论 -
安装Kibana
1.1 问题本案例要求:安装Kibana 配置启动服务查看5601端口是否正常 通过web页面访问Kibana1.2 步骤实现此案例需要按照如下步骤进行步骤一:安装kibana1)在另一台主机,配置ip为192.168.1.56,配置yum源,更改主机名2)安装kibana[root@kibana ~]# yum -y install kibana[root@kibana ~]# rpm -qc kibana/opt/kibana/config/kibana.yml原创 2020-05-25 09:40:45 · 297 阅读 · 0 评论 -
ELK导入数据
5.1 问题本案例要求批量导入数据:使用 curl 命名为集群批量导入数据,并查看5.2 步骤实现此案例需要按照如下步骤进行。步骤一:导入数据使用POST方式批量导入数据,数据格式为json,url 编码使用data-binary导入含有index配置的json文件[student@room9pc01 ~]$ scp /var/ftp/elk/*.gz [email protected]:/root/[root@kibana ~]# gzip -d logs.jsonl.gz[root原创 2020-05-23 09:25:12 · 716 阅读 · 0 评论 -
ELK插入,增加,删除查询数据
4.1 问题本案例要求:使用curl命令连接使用ES数据库使用PUT方法增加数据使用POST修改数据使用GET查询数据使用DELETE删除数据4.2 步骤实现此案例需要按照如下步骤进行。步骤一:增加数据[root@es5 ~]# curl -X PUT “http://192.168.1.55:9200/tedu/teacher/1” -d ‘{“职业”:“诗人”,“名字”:“李白”,“称号”:“诗仙”,“年代”:“唐”}’{"_index":“tedu”,"_type":“原创 2020-05-23 09:23:51 · 809 阅读 · 0 评论 -
练习插件
3.1 问题本案例要求:在其中一台机器上部署插件使用bigdesk查看集群状态使用head创建index使用kopf查看数据3.2 步骤实现此案例需要按照如下步骤进行。步骤一:部署插件插件装在哪一台机器上,只能在哪台机器上使用(这里安装在es5机器上面)1)使用远程 uri 路径可以直接安装[root@es5 ~]# cd /usr/share/elasticsearch/bin[root@es5 bin]# ./plugin install \ftp://192.168.1.原创 2020-05-23 09:23:17 · 145 阅读 · 0 评论 -
ES集群安装配置
2.1 问题本案例要求:一共安装5台虚拟机在所有机器中部署ES启动服务查看验证集群状态2.2 步骤实现此案例需要按照如下步骤进行。步骤一:安装elasticsearch和java-1.8.0-openjdk,同步配置文件备注:在步骤一已经安装了一台elasticsearch,这里只需再准备四台即可1)更改对应的主机名、 ip地址以及搭建yum源(以案例1为例子)2)安装elasticsearch四台主机同样操作(以es2为例子)[root@es2 ~]# yum -y install原创 2020-05-23 09:21:30 · 520 阅读 · 0 评论 -
ES集群安装:准备1台虚拟机 部署elasticsearch第一个节点 访问9200端口查看是否安装成功
1.1 问题本案例要求:准备1台虚拟机部署elasticsearch第一个节点访问9200端口查看是否安装成功1.2 方案1)ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,ELK分别代表:Elasticsearch:负责日志检索和储存Logstash:负责日志的收集和分析、处理Kibana:负责日志的可视化ELK组件在海量日志系统的运维中,可用于解决分布式日志数据集中式查询和管理系统监控等,故障排查,安全信息和事件管理,报表功能部署Elasti原创 2020-05-23 09:20:46 · 608 阅读 · 0 评论 -
编写playbook
4.1 问题本案例要求:把系统负载太高的Apache服务停止4.2 步骤实现此案例需要按照如下步骤进行。步骤一:把系统负载太高的Apache服务停止1)当系统负载超过0.7时,则关掉httpd[root@ansible ansible]# vim when.ymlhosts: cacheremote_user: roottasks:shell: uptime | awk ‘{printf("%.2f\n",$(NF-2))}’register: resultservice:n原创 2020-05-23 09:18:18 · 416 阅读 · 0 评论 -
handlers练习
3.1 问题本案例要求:安装Apache软件配置文件,重新载入配置文件让服务生效使用handlers来实现3.2 步骤实现此案例需要按照如下步骤进行。步骤一:errorplaybook从上往下顺序执行,若报错,后面的命令不会在执行,若想解决可以使用ignoring_errors:True(使用这个,会有报错信息,告诉你错误忽略,继续执行下面的命令)[root@ansible ansible]# vim error.ymlhosts: webremote_user: roottask原创 2020-05-23 09:17:33 · 230 阅读 · 0 评论 -
Playbook变量练习
2.1 问题本案例要求熟悉playbook进阶:练习使用user模块添加用户练习使用变量简化task,让play通用性更强练习使用过滤器2.2 步骤实现此案例需要按照如下步骤进行。步骤一:使用user模块添加用户,并修改密码[root@ansible ansible]# vim user.ymlhosts: cacheremote_user: rootvars:username: xiaomingtasks:name: create user “{{username}}”u原创 2020-05-23 09:17:02 · 153 阅读 · 0 评论 -
playbook练习:安装Apache 修改监听端口为8080 设置默认主页hello world 启动服务 设置开机自启
1.1 问题本案例要求:安装Apache修改监听端口为8080设置默认主页hello world启动服务设置开机自启1.2 步骤实现此案例需要按照如下步骤进行。步骤一:playbook的ping脚本检测[root@ansible ansible]# vim ping.ymlhosts: allremote_user: roottasks:ping:[root@ansible ansible]# ansible-playbook ping.yml //输出结果PLAY [原创 2020-05-23 09:16:25 · 1106 阅读 · 0 评论 -
ansible模块练习
8.1 问题本案例要求:使用copy模块同步 my.cnf 配置文件使用 lineinfile 模块 修改 binlog 格式使用 replace 模块修改 binlog 格式8.2 步骤实现此案例需要按照如下步骤进行。步骤一:综合练习1)使用copy模块同步my.cnf配置文件[root@ansible ansible]# ansible db -m copy -a ‘src=/root/my.cnf dest=/etc/my.cnf’2)使用 lineinfile 模块 修改 bi原创 2020-05-23 09:15:05 · 353 阅读 · 0 评论 -
练习模块
7.1 问题本案例要求:批量修改配置文件批量修改所有机器的 dns 配置 /etc/resolv.conf批量同步所有机器的 yum 配置文件给所有 db 主机开启 binlog 日志log_bin = mysql-binbinlog-format = mixed7.2 步骤实现此案例需要按照如下步骤进行。步骤一:练习模块1)批量修改配置文件批量修改所有机器的 dns 配置 /etc/resolv.conf[root@ansible .ssh]# ansible all -m sh原创 2020-05-23 09:14:29 · 243 阅读 · 0 评论 -
练习模块
6.1 问题本案例要求:添加用户给所有 web 主机添加用户 wk要求 nb 用户与 wk 用户不能出现在同一台主机上设置 wk 用户的 密码是 4566.2 步骤实现此案例需要按照如下步骤进行。步骤一:添加用户对于太复杂的命令,可以写个脚本,然后用script模块执行用脚本写,script模块执行[root@ansible .ssh]# vim a.sh#!/bin/bashid nbif [ $? != 0 ];then useradd wk echo 1原创 2020-05-22 09:20:26 · 137 阅读 · 0 评论 -
创建用户
5.1 问题本案例要求:添加用户给 web1 db2 添加用户 nb设置 nb 的密码为 1235.2 步骤实现此案例需要按照如下步骤进行。步骤一:添加用户在web1和 db2主机上创建nb用户,修改nb的密码为123(以web1为例子)[root@ansible .ssh]# ansible web1 -m shell -a 'useradd nb'[root@ansible .ssh]# ansible web1 -m shell -a 'echo 123 | passwd --s原创 2020-05-22 09:19:56 · 177 阅读 · 0 评论 -
练习理解批量执行
4.1 问题本案例要求:shell执行以下命令查看结果,并说明原因ansible web -m shell -a "echo ${HOSTNAME}"ansible web -m shell -a 'echo ${HOSTNAME}'testfile 文件在哪里ansible cache -m shell -a 'cd /tmp'ansible cache -m shell -a 'touch testfile'4.2 步骤实现此案例需要按照如下步骤进行。1)shellansibl原创 2020-05-22 09:18:53 · 151 阅读 · 0 评论 -
主机定义与分组: 给所有主机部署 key 在 inventory 文件中指定 key 的位置 配置主机分组,自定义文件,在重新定义一个新的 ansible.cfg 在自
3.1 问题本案例要求:给所有主机部署 key在 inventory 文件中指定 key 的位置配置主机分组,自定义文件,在重新定义一个新的 ansible.cfg在自定义的文件夹中完成之前的配置3.2 步骤实现此案例需要按照如下步骤进行。步骤一:给所有主机部署key,案例2已经做过,这里不再重复步骤二:在 inventory 文件中指定 key 的位置[all:vars]ansible_ssh_private_key_file="/root/.ssh/key"[root@ansi原创 2020-05-22 09:18:27 · 246 阅读 · 0 评论 -
批量部署证书文件: 创建一对密钥 给所有主机部署密钥
2.1 问题本案例要求:创建一对密钥cd /root/.sshssh-keygen -t rsa -b 2048 -N '' -f key给所有主机部署密钥ssh-copy-id -i key.pub 主机名称2.2 步骤实现此案例需要按照如下步骤进行。步骤一:批量部署证书文件,给所有主机部署密钥1)创建密钥 [root@ansible myansible]# cd /root/.ssh/[root@ansible .ssh]# vim /etc/ansible/hosts[we原创 2020-05-22 09:17:49 · 218 阅读 · 0 评论 -
环境准备: 启动6台虚拟机 2cpu,1.5G 以上内存 10G 以上硬盘,1块网卡
1.1 问题本案例要求准备ansible的基础环境:启动6台虚拟机2cpu,1.5G 以上内存10G 以上硬盘,1块网卡1.2 方案此方案需要准备六台主机,1台管理主机,5台托管主机,以实现批量程序部署,批量运行命令等功能,具体要求如表-1所示:表-11.3 步骤实现此案例需要按照如下步骤进行。步骤一:基础环境准备1)启动6台虚拟机,由于已经讲过怎么创建,这里不再在案例里体现2)真机配置yum仓库[student@room9pc01~]$ mkdir /var/ftp/ansi原创 2020-05-22 09:15:57 · 665 阅读 · 0 评论