当前位置: 首页 > news >正文

做网站的公司跑了wordpress添加背景音乐

做网站的公司跑了,wordpress添加背景音乐,旅游企业seo官网分析报告,wordpress资源1. MySQL 数据库安装部署 1.1 MySQL 5.7 版本在 CentOS 系统安装 注意#xff1a;安装操作需要 root 权限 MySQL 的安装我们可以通过前面学习的 yum 命令进行。 1.1.1 安装 配置 yum 仓库 # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql…1. MySQL 数据库安装部署 1.1 MySQL 5.7 版本在 CentOS 系统安装 注意安装操作需要 root 权限 MySQL 的安装我们可以通过前面学习的 yum 命令进行。 1.1.1 安装 配置 yum 仓库 # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm由于 MySQL 并不在 CentOS 的官方仓库中所以我们通过上述 rpm 命令 导入 MySQL 仓库的密钥配置 MySQL 的 yum 仓库 使用 yum 安装MySQL # yum安装Mysql yum -y install mysql-community-server安装完成后启动 MySQL 并配置开机自启动 systemctl start mysqld # 启动 systemctl enable mysqld # 开机自启MySQL 安装完成后会自动配置为名称叫做mysqld 的服务可以被systemctl 所管理 检查MySQL的运行状态 systemctl status mysqld1.1.2 配置 主要配置管理员用户 root 的密码以及配置允许远程登录的权限。 获取 MySQL 的初始密码 # 通过grep命令在/var/log/mysqld.log文件中过滤temporary password关键字得到初始密码 grep temporary password /var/log/mysqld.log2024-04-02T16:19:17.690905Z 1 [Note] A temporary password is generated for rootlocalhost: kh5eHf2l4d. 登陆 MySQL 数据库系统 # 执行 mysql -uroot -p # 解释 # -u登陆的用户MySQL数据库的管理员用户同Linux一样是root # -p表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码即可进入MySQL数据库修改 root 用户密码 # 在MySQL控制台内执行 ALTER USER rootlocalhost IDENTIFIED BY 密码; -- 密码需要符合大于8位有大写字母有特殊符号不能是连续的简单语句如123abcItheima66^ [扩展]配置 root 的简单密码 我们可以给 root 设置简单密码如123456.请注意此配置仅仅是用于测试环境或学习环境的 MySQL如果是正式使用请勿设置简单密码 # 如果你想设置简单密码需要降低Mysql的密码安全级别 set global validate_password_policyLOW; # 密码安全级别低 set global validate_password_length4; # 密码长度最低4位即可# 然后就可以用简单密码了课程中使用简单密码为了方便生产中不要这样 ALTER USER rootlocalhost IDENTIFIED BY 简单密码;[扩展]配置 root 运行远程登录 默认情况下root 用户是不运行远程登录的只允许在 MySQL 所在的 Linux 服务器登陆 MySQL 系统请注意允许 root 远程登录会带来安全风险 # 授权root远程登录 grant all privileges on *.* to rootIP地址 identified by 密码 with grant option; # IP地址即允许登陆的IP地址也可以填写%表示允许任何地址 # 密码表示给远程登录独立设置密码和本地登陆的密码可以不同# 刷新权限生效 flush privileges;退出 MySQL 控制台页面 # 退出命令 exit# 或者通过快捷键退出ctrl d检查端口 MySQL默认绑定了 3306 端口可以通过端口占用检查 MySQL 的网络状态 netstat -anp | grep 3306至此MySQL 就安装完成并可用了请妥善保存好 MySQL 的 root 密码。 1.2 MySQL 8.0版本在 CentOS 系统安装 注意安装操作需要 root 权限 1.2.1 安装 配置 yum 仓库 # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql8.x版本 yum库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm使用 yum 安装 MySQL # yum安装Mysql yum -y install mysql-community-server安装完成后启动 MySQL 并配置开机自启动 systemctl start mysqld # 启动 systemctl enable mysqld # 开机自启MySQL 安装完成后会自动配置为名称叫做mysqld 的服务可以被 systemctl 所管理 检查MySQL的运行状态 systemctl status mysqld1.2.2 配置 主要修改 root 密码和允许 root 远程登录 获取 MySQL 的初始密码 # 通过grep命令在/var/log/mysqld.log文件中过滤temporary password关键字得到初始密码 grep temporary password /var/log/mysqld.log登录 MySQL 数据库系统 # 执行 mysql -uroot -p # 解释 # -u登陆的用户MySQL数据库的管理员用户同Linux一样是root # -p表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码即可进入MySQL数据库修改root密码 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 密码; -- 密码需要符合大于8位有大写字母有特殊符号不能是连续的简单语句如123abc[扩展]配置root的简单密码 我们可以给 root 设置简单密码如123456. 请注意此配置仅仅是用于测试环境或学习环境的 MySQL如果是正式使用请勿设置简单密码 set global validate_password.policy0; # 密码安全级别低 set global validate_password.length4; # 密码长度最低4位即可允许 root 远程登录并设置远程登录密码 默认情况下root 用户是不运行远程登录的只允许在 MySQL 所在的 Linux 服务器登陆 MySQL 系统 请注意允许 root 远程登录会带来安全风险 # 第一次设置root远程登录并配置远程密码使用如下SQL命令 create user root% IDENTIFIED WITH mysql_native_password BY 密码!; -- 密码需要符合大于8位有大写字母有特殊符号不能是连续的简单语句如123abc# 后续修改密码使用如下SQL命令 ALTER USER root% IDENTIFIED WITH mysql_native_password BY 密码;退出 MySQL 控制台页面 # 退出命令 exit# 或者通过快捷键退出ctrl d检查端口 MySQL 默认绑定了 3306 端口可以通过端口占用检查 MySQL 的网络状态 netstat -anp | grep 3306至此MySQL 就安装完成并可用了请妥善保存好 MySQL 的 root 密码。 2. Tomcat安装部署【简单】 2.1 简介 Tomcat 是由 Apache 开发的一个 Servlet 容器实现了对 Servlet 和 JSP 的支持并提供了作为 Web 服务器的一些特有功能如 Tomcat 管理和控制平台、安全域管理和 Tomcat 阀等。 简单来说Tomcat 是一个 WEB 应用程序的托管平台可以让用户编写的 WEB 应用程序被 Tomcat 所托管并提供网站服务。 即让用户开发的 WEB 应用程序变成可以被访问的网页。 2.2 安装 Tomcat 的安装非常简单主要分为 2 部分 安装 JDK 环境解压并安装 Tomcat 本次安装使用 Tomcat 版本是10.0.27 版本需要 JavaJDK版本最低为 JDK8 或更高版本 课程中使用的 JDK 版本是JDK8u351 版本 2.2.1 安装 JDK 环境 下载JDK软件 https://www.oracle.com/java/technologies/downloads 在页面下方找到 下载jdk-8u351-linux-x64.tar.gz 在弹出的页面中输入Oracle的账户密码即可下载如无账户请自行注册注册是免费的 登陆Linux系统切换到root用户 通过FinalShell上传下载好的JDK安装包 创建文件夹用来部署JDK将JDK和Tomcat都安装部署到/export/server 内 mkdir -p /export/server解压缩JDK安装文件 tar -zxvf jdk-8u351-linux-x64.tar.gz -C /export/server配置JDK的软链接 ln -s /export/server/jdk1.8.0_351 /export/server/jdk配置JAVA_HOME环境变量以及将$JAVA_HOME/bin文件夹加入PATH环境变量中 vim /etc/profile # 编辑/etc/profile文件 export JAVA_HOME/export/server/jdk export PATH$PATH:$JAVA_HOME/bin生效环境变量 source /etc/profile配置java执行程序的软链接 # 删除系统自带的java程序rm -f /usr/bin/java# 软链接我们自己安装的java程序ln -s /export/server/jdk/bin/java /usr/bin/java执行验证 java -versionjavac -version2.2.2 解压并部署Tomcat Tomcat 建议使用 非Root用户 安装并启动 可以创建一个用户tomcat 用以部署 首先放行tomcat需要使用的8080端口的外部访问权限 CentOS系统默认开启了防火墙阻止外部网络流量访问系统内部 所以如果想要Tomcat可以正常使用需要对Tomcat默认使用的8080端口进行放行 放行有2种操作方式 关闭防火墙配置防火墙规则放行端口 # 以下操作2选一即可 # 方式1关闭防火墙 systemctl stop firewalld # 关闭防火墙 systemctl disable firewalld # 停止防火墙开机自启# 方式2放行8080端口的外部访问 firewall-cmd --add-port8080/tcp --permanent # --add-port8080/tcp表示放行8080端口的tcp访问--permanent表示永久生效 firewall-cmd --reload # 重新载入防火墙规则使其生效方便起见建议同学们选择方式1直接关闭防火墙一劳永逸 防火墙的配置非常复杂后面会视情况独立出一集防火墙配置规则的章节。 以root用户操作创建tomcat用户 # 使用root用户操作 useradd tomcat # 可选为tomcat用户配置密码 passwd tomcat下载Tomcat安装包 # 使用root用户操作 wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz # 如果出现https相关错误可以使用--no-check-certificate选项 wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz如果Linux内下载过慢可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内即可 或者使用课程资料中提供的安装包 解压Tomcat安装包 # 使用root用户操作否则无权限解压到/export/server内除非修改此文件夹权限 tar -zxvf apache-tomcat-10.0.27.tar.gz -C /export/server创建Tomcat软链接 # 使用root用户操作 ln -s /export/server/apache-tomcat-10.0.27 /export/server/tomcat修改tomcat安装目录权限 # 使用root用户操作同时对软链接和tomcat安装文件夹进行修改使用通配符*进行匹配 chown -R tomcat:tomcat /export/server/*tomcat*切换到tomcat用户 su - tomcat启动tomcat /export/server/tomcat/bin/startup.shtomcat启动在8080端口可以检查是否正常启动成功 netstat -anp | grep 8080打开浏览器输入 http://centos:8080或http://192.168.88.130:8080 使用主机名需配置好本地的主机名映射或IP地址访问Tomcat的WEB页面 至此Tomcat安装配置完成。 Nginx安装部署【简单】 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器同时也提供了IMAP/POP3/SMTP服务。 同Tomcat一样Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务同时也可以作为流量代理服务器控制流量的中转。 Nginx在WEB开发领域基本上也是必备组件之一了。 安装 Nginx同样需要配置额外的yum仓库才可以使用yum安装 安装Nginx的操作需要root身份 安装yum依赖程序 # root执行 yum install -y yum-utils手动添加nginx的yum仓库 yum程序使用的仓库配置文件存放在/etc/yum.repo.d内。 # root执行 # 创建文件使用vim编辑 vim /etc/yum.repos.d/nginx.repo # 填入如下内容并保存退出 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue[nginx-mainline] namenginx mainline repo baseurlhttp://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck1 enabled0 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue通过如上操作我们手动添加了nginx的yum仓库 通过yum安装最新稳定版的nginx # root执行 yum install -y nginx启动 # nginx自动注册了systemctl系统服务 systemctl start nginx # 启动 systemctl stop nginx # 停止 systemctl status nginx # 运行状态 systemctl enable nginx # 开机自启 systemctl disable nginx # 关闭开机自启配置防火墙放行 nginx默认绑定80端口需要关闭防火墙或放行80端口 # 方式1推荐关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启# 方式2放行80端口 firewall-cmd --add-port80/tcp --permanent # 放行tcp规则下的80端口永久生效 firewall-cmd --reload # 重新加载防火墙规则启动后浏览器输入Linux服务器的IP地址或主机名即可访问 http://192.168.88.130 或 http://centos ps80端口是访问网站的默认端口所以后面无需跟随端口号 显示的指定端口也是可以的比如 http://192.168.88.130:80http://centos:80 至此Nginx安装配置完成。 RabbitMQ安装部署【简单】 简介 RabbitMQ一款知名的开源消息队列系统为企业提供消息的发布、订阅、点对点传输等消息服务。 RabbitMQ在企业开发中十分常见课程为大家演示快速搭建RabbitMQ环境。 安装 rabbitmq在yum仓库中的版本比较老所以我们需要手动构建yum仓库 准备yum仓库 # root执行 # 1. 准备gpgkey密钥 rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey# 2. 准备仓库文件 vim /etc/yum.repos.d/rabbitmq.repo # 填入如下内容 ## ## Zero dependency Erlang ##[rabbitmq_erlang] namerabbitmq_erlang baseurlhttps://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck1 gpgcheck1 enabled1 # PackageClouds repository key and RabbitMQ package signing key gpgkeyhttps://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify1 sslcacert/etc/pki/tls/certs/ca-bundle.crt metadata_expire300[rabbitmq_erlang-source] namerabbitmq_erlang-source baseurlhttps://packagecloud.io/rabbitmq/erlang/el/7/SRPMS repo_gpgcheck1 gpgcheck0 enabled1 # PackageClouds repository key and RabbitMQ package signing key gpgkeyhttps://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify1 sslcacert/etc/pki/tls/certs/ca-bundle.crt metadata_expire300## ## RabbitMQ server ##[rabbitmq_server] namerabbitmq_server baseurlhttps://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck1 gpgcheck0 enabled1 # PackageClouds repository key and RabbitMQ package signing key gpgkeyhttps://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify1 sslcacert/etc/pki/tls/certs/ca-bundle.crt metadata_expire300[rabbitmq_server-source] namerabbitmq_server-source baseurlhttps://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS repo_gpgcheck1 gpgcheck0 enabled1 gpgkeyhttps://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify1 sslcacert/etc/pki/tls/certs/ca-bundle.crt metadata_expire300安装RabbitMQ # root执行 yum install erlang rabbitmq-server -yInstalled:erlang.x86_64 0:23.3.4.11-1.el7 rabbitmq-server.noarch 0:3.10.0-1.el7启动 # root执行 # 使用systemctl管控服务名rabbitmq-server systemctl enable rabbitmq-server # 开机自启 systemctl disable rabbitmq-server # 关闭开机自启 systemctl start rabbitmq-server # 启动 systemctl stop rabbitmq-server # 关闭 systemctl status rabbitmq-server # 查看状态放行防火墙RabbitMQ使用5672、15672、25672 3个端口 # 方式1推荐关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启# 方式2放行5672 25672端口 firewall-cmd --add-port5672/tcp --permanent # 放行tcp规则下的5672端口永久生效 firewall-cmd --add-port15672/tcp --permanent # 放行tcp规则下的15672端口永久生效 firewall-cmd --add-port25672/tcp --permanent # 放行tcp规则下的25672端口永久生效 firewall-cmd --reload # 重新加载防火墙规则启动RabbitMQ的WEB管理控制台 rabbitmq-plugins enable rabbitmq_management添加admin用户并赋予权限 rabbitmqctl add_user admin Itheima66^ rabbitmqctl set_permissions -p / admin .* .* .* rabbitmqctl set_user_tags admin administrator浏览器打开管理控制台 http://192.168.88.130:15672 至此RabbitMQ已经安装完成了。 Redis安装部署【简单】 简介 redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 redis的特点就是快可以基于内存存储数据并提供超低延迟、超快的检索速度 一般用于在系统中提供快速缓存的能力。 安装 配置EPEL仓库 EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后就相当于添加了一个第三方源。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包类似Windows的exe)而且大多数rpm包在官方 repository 中是找不到的。 # root执行 yum install -y epel-release安装redis # root执行 yum install -y redis启动redis # root执行 # 使用systemctl管控服务名redis systemctl enable redis # 开机自启 systemctl disable redis # 关闭开机自启 systemctl start redis # 启动 systemctl stop redis # 关闭 systemctl status redis # 查看状态放行防火墙redis使用端口6379 # 方式1推荐关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启# 方式2放行6379端口 firewall-cmd --add-port6379/tcp --permanent # 放行tcp规则下的6379端口永久生效 firewall-cmd --reload 进入redis服务 # 执行redis-cli [rootcentos ~]# redis-cli 127.0.0.1:6379 set mykey hello OK 127.0.0.1:6379 get mykey hello 127.0.0.1:6379 至此redis安装完成。 ElasticSearch安装部署 简介 全文搜索属于最常见的需求开源的 Elasticsearch 以下简称 es是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elasticsearch简称es在企业内同样是一款应用非常广泛的搜索引擎服务。 很多服务中的搜索功能都是基于es来实现的。 安装 添加yum仓库 # root执行 # 导入仓库密钥 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch# 添加yum源 # 编辑文件 vim /etc/yum.repos.d/elasticsearch.repo[elasticsearch-7.x] nameElasticsearch repository for 7.x packages baseurlhttps://artifacts.elastic.co/packages/7.x/yum gpgcheck1 gpgkeyhttps://artifacts.elastic.co/GPG-KEY-elasticsearch enabled1 autorefresh1 typerpm-md# 更新yum缓存 yum makecache安装es yum install -y elasticsearch配置es vim /etc/elasticsearch/elasticsearch.yml# 17行设置集群名称 cluster.name: my-cluster# 23行设置节点名称 node.name: node-1# 56行允许外网访问 network.host: 0.0.0.0# 74行配置集群master节点 cluster.initial_master_nodes: [node-1]启动es systemctl start | stop | status | enable | disable elasticsearch关闭防火墙 systemctl stop firewalld systemctl disable firewalld测试 浏览器打开http://ip:9200/?pretty 集群化环境前置准备 介绍 在前面我们所学习安装的软件都是以单机模式运行的。 后续我们将要学习大数据相关的软件部署所以后续我们所安装的软件服务大多数都是以集群化多台服务器共同工作模式运行的。 所以在当前小节我们需要完成集群化环境的前置准备包括创建多台虚拟机配置主机名映射SSH免密登录等等。 部署 配置多台Linux虚拟机 安装集群化软件首要条件就是要有多台Linux服务器可用。 我们可以使用VMware提供的克隆功能将我们的虚拟机额外克隆出3台来使用。 首先关机当前CentOS系统虚拟机可以使用root用户执行init 0来快速关机 新建文件夹 文件夹起名为虚拟机集群 克隆 同样的操作克隆出node2和node3 开启node1修改主机名为node1并修改固定ip为192.168.88.131 # 修改主机名 hostnamectl set-hostname node1# 修改IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR192.168.88.131# 重启网卡 systemctl stop network systemctl start network # 或者直接 systemctl restart network同样的操作启动node2和node3, 修改node2主机名为node2设置ip为192.168.88.132 修改node2主机名为node3设置ip为192.168.88.133 配置FinalShell配置连接到node1、node2、node3的连接 为了简单起见建议配置root用户登录 准备主机名映射 在Windows系统中修改hosts文件填入如下内容 如果同学们使用MacOS系统请 sudo su -切换到root修改/etc/hosts文件 192.168.88.131 node1 192.168.88.132 node2 192.168.88.133 node3在3台Linux的/etc/hosts文件中填入如下内容3台都要添加 192.168.88.131 node1 192.168.88.132 node2 192.168.88.133 node3配置SSH免密登录 简介 SSH服务是一种用于远程登录的安全认证协议。 我们通过FinalShell远程连接到Linux就是使用的SSH服务。 SSH服务支持 通过账户密码的认证方式来做用户认证通过账户秘钥文件的方式做用户认证 SSH可以让我们通过SSH命令远程的登陆到其它的主机上比如 在node1执行ssh rootnode2将以root用户登录node2服务器输入密码即可成功登陆 或者ssh node2将以当前用户直接登陆到node2服务器。 SSH免密配置 后续安装的集群化软件多数需要远程登录以及远程执行命令我们可以简单起见配置三台Linux服务器之间的免密码互相SSH登陆 在每一台机器都执行ssh-keygen -t rsa -b 4096一路回车到底即可 在每一台机器都执行 ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3执行完毕后node1、node2、node3之间将完成root用户之间的免密互通 配置JDK环境 后续的大数据集群软件多数是需要Java运行环境的所以我们为每一台机器都配置JDK环境。 JDK配置参阅Tomcat安装部署环节。 关闭防火墙和SELinux 集群化软件之间需要通过端口互相通讯为了避免出现网络不通的问题我们可以简单的在集群内部关闭防火墙。 在每一台机器都执行 systemctl stop firewalld systemctl disable firewalldLinux有一个安全模块SELinux用以限制用户和程序的相关权限来确保系统的安全稳定。 SELinux的配置同防火墙一样非常复杂课程中不多涉及后续视情况可以出一章SELinux的配置课程。 在当前我们只需要关闭SELinux功能避免导致后面的软件运行出现问题即可 在每一台机器都执行 vim /etc/sysconfig/selinux# 将第七行SELINUXenforcing 改为 SELINUXdisabled # 保存退出后重启虚拟机即可千万要注意disabled单词不要写错不然无法启动系统添加快照 为了避免后续出现问题在完成上述设置后为每一台虚拟机都制作快照留待使用。 补充命令 - scp 后续的安装部署操作我们将会频繁的在多台服务器之间相互传输数据。 为了更加方面的互相传输我们补充一个命令scp scp命令是cp命令的升级版即ssh cp通过SSH协议完成文件的复制。 其主要的功能就是在不同的Linux服务器之间通过SSH协议互相传输文件。 只要知晓服务器的账户和密码或密钥即可通过SCP互传文件。 语法 scp [-r] 参数1 参数2 - -r选项用于复制文件夹使用如果复制文件夹必须使用-r - 参数1本机路径 或 远程目标路径 - 参数2远程目标路径 或 本机路径如 scp -r /export/server/jdk rootnode2:/export/server/ 将本机上的jdk文件夹 以root的身份复制到node2的/export/server/内 同SSH登陆一样账户名可以省略使用本机当前的同名账户登陆如 scp -r node2:/export/server/jdk /export/server/ 将远程node2的jdk文件夹复制到本机的/export/server/内# scp命令的高级用法 cd /export/server scp -r jdk node2:pwd/ # 将本机当前路径的jdk文件夹复制到node2服务器的同名路径下 scp -r jdk node2:$PWD # 将本机当前路径的jdk文件夹复制到node2服务器的同名路径下Zookeeper集群安装部署 简介 ZooKeeper是一个分布式的开放源码的分布式应用程序协调服务是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件提供的功能包括配置维护、域名服务、分布式同步、组服务等。 除了为Hadoop和HBase提供协调服务外Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖比如Kafka又或者一些软件项目中也经常能见到Zookeeper作为一致性协调服务存在。 Zookeeper不论是大数据领域亦或是其它服务器开发领域涉及到分布式状态一致性的场景总有它的身影存在。 安装 Zookeeper是一款分布式的集群化软件可以在多台服务器上部署并协同组成分布式集群一起工作。 首先要确保已经完成了集群化环境前置准备环节的全部内容 【node1上操作】下载Zookeeper安装包并解压 # 下载 wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz# 确保如下目录存在不存在就创建 mkdir -p /export/server# 解压 tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server【node1上操作】创建软链接 ln -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper【node1上操作】修改配置文件 vim /export/server/zookeeper/conf/zoo.cfgtickTime2000 # zookeeper数据存储目录 dataDir/export/server/zookeeper/data clientPort2181 initLimit5 syncLimit2 server.1node1:2888:3888 server.2node2:2888:3888 server.3node3:2888:3888【node1上操作】配置myid # 1. 创建Zookeeper的数据目录 mkdir /export/server/zookeeper/data# 2. 创建文件并填入1 vim /export/server/zookeeper/data/myid # 在文件内填入1即可【在node2和node3上操作】创建文件夹 mkdir -p /export/server【node1上操作】将Zookeeper 复制到node2和node3 cd /export/serverscp -r apache-zookeeper-3.5.9 node2:pwd/ scp -r apache-zookeeper-3.5.9 node3:pwd/【在node2上操作】 # 1. 创建软链接 ln -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper# 2. 修改myid文件 vim /export/server/zookeeper/data/myid # 修改内容为2【在node3上操作】 # 1. 创建软链接 ln -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper# 2. 修改myid文件 vim /export/server/zookeeper/data/myid # 修改内容为3【在node1、node2、node3上分别执行】启动Zookeeper # 启动命令 /export/server/zookeeper/bin/zkServer.sh start # 启动Zookeeper【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动 jps# 结果中找到有QuorumPeerMain 进程即可【node1上操作】验证Zookeeper /export/server/zookeeper/zkCli.sh# 进入到Zookeeper控制台中后执行 ls /# 如无报错即配置成功至此Zookeeper安装完成 Kafka集群安装部署 简介 Kafka是一款分布式的、去中心化的、高吞吐低延迟、订阅模式的消息队列系统。 同RabbitMQ一样Kafka也是消息队列。不过RabbitMQ多用于后端系统因其更加专注于消息的延迟和容错。 Kafka多用于大数据体系因其更加专注于数据的吞吐能力。 Kafka多数都是运行在分布式集群化模式下所以课程将以3台服务器来完成Kafka集群的安装部署。 安装 确保已经跟随前面的视频安装并部署了JDK和Zookeeper服务 Kafka的运行依赖JDK环境和Zookeeper请确保已经有了JDK环境和Zookeeper 【在node1操作】下载并上传Kafka的安装包 # 下载安装包 wget http://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz【在node1操作】解压 mkdir -p /export/server # 此文件夹如果不存在需先创建# 解压 tar -zxvf kafka_2.12-2.4.1.tgz -C /export/server/# 创建软链接 ln -s /export/server/kafka_2.12-2.4.1 /export/server/kafka【在node1操作】修改Kafka目录内的config目录内的server.properties文件 cd /export/server/kafka/config # 指定broker的id broker.id1 # 指定 kafka的绑定监听的地址 listenersPLAINTEXT://node1:9092 # 指定Kafka数据的位置 log.dirs/export/server/kafka/data # 指定Zookeeper的三个节点 zookeeper.connectnode1:2181,node2:2181,node3:2181【在node1操作】将node1的kafka复制到node2和node3 cd /export/server# 复制到node2同名文件夹 scp -r kafka_2.12-2.4.1 node2:pwd/ # 复制到node3同名文件夹 scp -r kafka_2.12-2.4.1 node3:$PWD【在node2操作】 # 创建软链接 ln -s /export/server/kafka_2.12-2.4.1 /export/server/kafkacd /export/server/kafka/config # 指定broker的id broker.id2 # 指定 kafka的绑定监听的地址 listenersPLAINTEXT://node2:9092 # 指定Kafka数据的位置 log.dirs/export/server/kafka/data # 指定Zookeeper的三个节点 zookeeper.connectnode1:2181,node2:2181,node3:2181【在node3操作】 # 创建软链接 ln -s /export/server/kafka_2.12-2.4.1 /export/server/kafkacd /export/server/kafka/config # 指定broker的id broker.id3 # 指定 kafka的绑定监听的地址 listenersPLAINTEXT://node3:9092 # 指定Kafka数据的位置 log.dirs/export/server/kafka/data # 指定Zookeeper的三个节点 zookeeper.connectnode1:2181,node2:2181,node3:2181启动kafka # 请先确保Zookeeper已经启动了# 方式1【前台启动】分别在node1、2、3上执行如下语句 /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties# 方式2【后台启动】分别在node1、2、3上执行如下语句 nohup /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties 21 /export/server/kafka/kafka-server.log 验证Kafka启动 # 在每一台服务器执行 jps测试Kafka能否正常使用 创建测试主题 # 在node1执行创建一个主题 /export/server/kafka_2.12-2.4.1/bin/kafka-topics.sh --create --zookeeper node1:2181 --replication-factor 1 --partitions 3 --topic test运行测试请在FinalShell中打开2个node1的终端页面 # 打开一个终端页面启动一个模拟的数据生产者 /export/server/kafka_2.12-2.4.1/bin/kafka-console-producer.sh --broker-list node1:9092 --topic test # 再打开一个新的终端页面在启动一个模拟的数据消费者 /export/server/kafka_2.12-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test --from-beginning大数据集群Hadoop生态安装部署 简介 1Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2主要解决海量数据的存储和海量数据的分析计算问题。 Hadoop HDFS 提供分布式海量数据存储能力 Hadoop YARN 提供分布式集群资源管理能力 Hadoop MapReduce 提供分布式海量数据计算能力 前置要求 请确保完成了集群化环境前置准备章节的内容即JDK、SSH免密、关闭防火墙、配置主机名映射等前置操作 Hadoop集群角色 Hadoop生态体系中总共会出现如下进程角色 Hadoop HDFS的管理角色Namenode进程仅需1个即可管理者一个就够Hadoop HDFS的工作角色Datanode进程需要多个工人越多越好一个机器启动一个Hadoop YARN的管理角色ResourceManager进程仅需1个即可管理者一个就够Hadoop YARN的工作角色NodeManager进程需要多个工人越多越好一个机器启动一个Hadoop 历史记录服务器角色HistoryServer进程仅需1个即可功能进程无需太多1个足够Hadoop 代理服务器角色WebProxyServer进程仅需1个即可功能进程无需太多1个足够Zookeeper的进程QuorumPeerMain进程仅需1个即可Zookeeper的工作者越多越好 角色和节点分配 角色分配如下 node1:Namenode、Datanode、ResourceManager、NodeManager、HistoryServer、WebProxyServer、QuorumPeerMainnode2:Datanode、NodeManager、QuorumPeerMainnode3:Datanode、NodeManager、QuorumPeerMain 安装 调整虚拟机内存 如上图可以看出node1承载了太多的压力。同时node2和node3也同时运行了不少程序 为了确保集群的稳定需要对虚拟机进行内存设置。 请在VMware中对 node1设置4GB或以上内存node2和node3设置2GB或以上内存 大数据的软件本身就是集群化一堆服务器一起运行的。 现在我们在一台电脑中以多台虚拟机来模拟集群确实会有很大的内存压力哦。 Zookeeper集群部署 略 Hadoop集群部署 下载Hadoop安装包、解压、配置软链接 # 1. 下载 wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz# 2. 解压 # 请确保目录/export/server存在 tar -zxvf hadoop-3.3.0.tar.gz -C /export/server/# 3. 构建软链接 ln -s /export/server/hadoop-3.3.0 /export/server/hadoop修改配置文件hadoop-env.sh Hadoop的配置文件要修改的地方很多请细心 cd 进入到/export/server/hadoop/etc/hadoop文件夹中配置文件都在这里 修改hadoop-env.sh文件 此文件是配置一些Hadoop用到的环境变量 这些是临时变量在Hadoop运行时有用 如果要永久生效需要写到/etc/profile中 # 在文件开头加入 # 配置Java安装路径 export JAVA_HOME/export/server/jdk # 配置Hadoop安装路径 export HADOOP_HOME/export/server/hadoop # Hadoop hdfs配置文件路径 export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop # Hadoop YARN配置文件路径 export YARN_CONF_DIR$HADOOP_HOME/etc/hadoop # Hadoop YARN 日志文件夹 export YARN_LOG_DIR$HADOOP_HOME/logs/yarn # Hadoop hdfs 日志文件夹 export HADOOP_LOG_DIR$HADOOP_HOME/logs/hdfs# Hadoop的使用启动用户配置 export HDFS_NAMENODE_USERroot export HDFS_DATANODE_USERroot export HDFS_SECONDARYNAMENODE_USERroot export YARN_RESOURCEMANAGER_USERroot export YARN_NODEMANAGER_USERroot export YARN_PROXYSERVER_USERroot修改配置文件core-site.xml 如下清空文件填入如下内容 ?xml version1.0 encodingUTF-8? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? !--Licensed under the Apache License, Version 2.0 (the License);you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. See accompanying LICENSE file. --!-- Put site-specific property overrides in this file. -- configurationpropertynamefs.defaultFS/namevaluehdfs://node1:8020/valuedescription/description/propertypropertynameio.file.buffer.size/namevalue131072/valuedescription/description/property /configuration配置hdfs-site.xml文件 ?xml version1.0 encodingUTF-8? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? !--Licensed under the Apache License, Version 2.0 (the License);you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. See accompanying LICENSE file. --!-- Put site-specific property overrides in this file. --configurationpropertynamedfs.datanode.data.dir.perm/namevalue700/value/propertypropertynamedfs.namenode.name.dir/namevalue/data/nn/valuedescriptionPath on the local filesystem where the NameNode stores the namespace and transactions logs persistently./description/propertypropertynamedfs.namenode.hosts/namevaluenode1,node2,node3/valuedescriptionList of permitted DataNodes./description/propertypropertynamedfs.blocksize/namevalue268435456/valuedescription/description/propertypropertynamedfs.namenode.handler.count/namevalue100/valuedescription/description/propertypropertynamedfs.datanode.data.dir/namevalue/data/dn/value/property /configuration配置mapred-env.sh文件 # 在文件的开头加入如下环境变量设置 export JAVA_HOME/export/server/jdk export HADOOP_JOB_HISTORYSERVER_HEAPSIZE1000 export HADOOP_MAPRED_ROOT_LOGGERINFO,RFA配置mapred-site.xml文件 ?xml version1.0? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? !--Licensed under the Apache License, Version 2.0 (the License);you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. See accompanying LICENSE file. --!-- Put site-specific property overrides in this file. --configurationpropertynamemapreduce.framework.name/namevalueyarn/valuedescription/description/propertypropertynamemapreduce.jobhistory.address/namevaluenode1:10020/valuedescription/description/propertypropertynamemapreduce.jobhistory.webapp.address/namevaluenode1:19888/valuedescription/description/propertypropertynamemapreduce.jobhistory.intermediate-done-dir/namevalue/data/mr-history/tmp/valuedescription/description/propertypropertynamemapreduce.jobhistory.done-dir/namevalue/data/mr-history/done/valuedescription/description/property propertynameyarn.app.mapreduce.am.env/namevalueHADOOP_MAPRED_HOME$HADOOP_HOME/value /property propertynamemapreduce.map.env/namevalueHADOOP_MAPRED_HOME$HADOOP_HOME/value /property propertynamemapreduce.reduce.env/namevalueHADOOP_MAPRED_HOME$HADOOP_HOME/value /property /configuration配置yarn-env.sh文件 # 在文件的开头加入如下环境变量设置 export JAVA_HOME/export/server/jdk export HADOOP_HOME/export/server/hadoop export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR$HADOOP_HOME/etc/hadoop export YARN_LOG_DIR$HADOOP_HOME/logs/yarn export HADOOP_LOG_DIR$HADOOP_HOME/logs/hdfs配置yarn-site.xml文件 ?xml version1.0? !--Licensed under the Apache License, Version 2.0 (the License);you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. See accompanying LICENSE file. -- configuration!-- Site specific YARN configuration properties -- propertynameyarn.log.server.url/namevaluehttp://node1:19888/jobhistory/logs/valuedescription/description /propertypropertynameyarn.web-proxy.address/namevaluenode1:8089/valuedescriptionproxy server hostname and port/description/propertypropertynameyarn.log-aggregation-enable/namevaluetrue/valuedescriptionConfiguration to enable or disable log aggregation/description/propertypropertynameyarn.nodemanager.remote-app-log-dir/namevalue/tmp/logs/valuedescriptionConfiguration to enable or disable log aggregation/description/property!-- Site specific YARN configuration properties --propertynameyarn.resourcemanager.hostname/namevaluenode1/valuedescription/description/propertypropertynameyarn.resourcemanager.scheduler.class/namevalueorg.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler/valuedescription/description/propertypropertynameyarn.nodemanager.local-dirs/namevalue/data/nm-local/valuedescriptionComma-separated list of paths on the local filesystem where intermediate data is written./description/propertypropertynameyarn.nodemanager.log-dirs/namevalue/data/nm-log/valuedescriptionComma-separated list of paths on the local filesystem where logs are written./description/propertypropertynameyarn.nodemanager.log.retain-seconds/namevalue10800/valuedescriptionDefault time (in seconds) to retain log files on the NodeManager Only applicable if log-aggregation is disabled./description/propertypropertynameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/valuedescriptionShuffle service that needs to be set for Map Reduce applications./description/property /configuration修改workers文件 # 全部内容如下 node1 node2 node3分发hadoop到其它机器 # 在node1执行 cd /export/serverscp -r hadoop-3.3.0 node2:pwd/ scp -r hadoop-3.3.0 node2:pwd/在node2、node3执行 # 创建软链接 ln -s /export/server/hadoop-3.3.0 /export/server/hadoop创建所需目录 在node1执行 mkdir -p /data/nn mkdir -p /data/dn mkdir -p /data/nm-log mkdir -p /data/nm-local在node2执行 mkdir -p /data/dn mkdir -p /data/nm-log mkdir -p /data/nm-local在node3执行 mkdir -p /data/dn mkdir -p /data/nm-log mkdir -p /data/nm-local配置环境变量 在node1、node2、node3修改/etc/profile export HADOOP_HOME/export/server/hadoop export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin执行source /etc/profile生效 格式化NameNode在node1执行 hadoop namenode -formathadoop这个命令来自于$HADOOP_HOME/bin中的程序 由于配置了环境变量PATH所以可以在任意位置执行hadoop命令哦 启动hadoop的hdfs集群在node1执行即可 start-dfs.sh# 如需停止可以执行 stop-dfs.shstart-dfs.sh这个命令来自于$HADOOP_HOME/sbin中的程序 由于配置了环境变量PATH所以可以在任意位置执行start-dfs.sh命令哦 启动hadoop的yarn集群在node1执行即可 start-yarn.sh# 如需停止可以执行 stop-yarn.sh启动历史服务器 mapred --daemon start historyserver# 如需停止将start更换为stop启动web代理服务器 yarn-daemon.sh start proxyserver# 如需停止将start更换为stop验证Hadoop集群运行情况 在node1、node2、node3上通过jps验证进程是否都启动成功 验证HDFS浏览器打开http://node1:9870 创建文件test.txt随意填入内容并执行 hadoop fs -put test.txt /test.txthadoop fs -cat /test.txt验证YARN浏览器打开http://node1:8088 执行 # 创建文件words.txt填入如下内容 itheima itcast hadoop itheima hadoop hadoop itheima itcast# 将文件上传到HDFS中 hadoop fs -put words.txt /words.txt# 执行如下命令验证YARN是否正常 hadoop jar /export/server/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount -Dmapred.job.queue.nameroot.root /words.txt /output大数据NoSQL数据库HBase集群部署 简介 HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。 和Redis一样HBase是一款KeyValue型存储的数据库。 不过和Redis设计方向不同 Redis设计为少量数据超快检索HBase设计为海量数据快速检索 HBase在大数据领域应用十分广泛现在我们来在node1、node2、node3上部署HBase集群。 安装 HBase依赖Zookeeper、JDK、HadoopHDFS请确保已经完成前面 集群化软件前置准备JDKZookeeperHadoop这些环节的软件安装 【node1执行】下载HBase安装包 # 下载 wget http://archive.apache.org/dist/hbase/2.1.0/hbase-2.1.0-bin.tar.gz# 解压 tar -zxvf hbase-2.1.0-bin.tar.gz -C /export/server# 配置软链接 ln -s /export/server/hbase-2.1.0 /export/server/hbase【node1执行】修改配置文件修改conf/hbase-env.sh文件 # 在28行配置JAVA_HOME export JAVA_HOME/export/server/jdk # 在126行配置 # 意思表示不使用HBase自带的Zookeeper而是用独立Zookeeper export HBASE_MANAGES_ZKfalse # 在任意行比如26行添加如下内容 export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUPtrue【node1执行】修改配置文件修改conf/hbase-site.xml文件 # 将文件的全部内容替换成如下内容 configuration!-- HBase数据在HDFS中的存放的路径 --propertynamehbase.rootdir/namevaluehdfs://node1:8020/hbase/value/property!-- Hbase的运行模式。false是单机模式true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面 --propertynamehbase.cluster.distributed/namevaluetrue/value/property!-- ZooKeeper的地址 --propertynamehbase.zookeeper.quorum/namevaluenode1,node2,node3/value/property!-- ZooKeeper快照的存储位置 --propertynamehbase.zookeeper.property.dataDir/namevalue/export/server/apache-zookeeper-3.6.0-bin/data/value/property!-- V2.1版本在分布式情况下, 设置为false --propertynamehbase.unsafe.stream.capability.enforce/namevaluefalse/value/property /configuration【node1执行】修改配置文件修改conf/regionservers文件 # 填入如下内容 node1 node2 node3【node1执行】分发hbase到其它机器 scp -r /export/server/hbase-2.1.0 node2:/export/server/ scp -r /export/server/hbase-2.1.0 node3:/export/server/【node2、node3执行】配置软链接 ln -s /export/server/hbase-2.1.0 /export/server/hbase【node1、node2、node3执行】配置环境变量 # 配置在/etc/profile内追加如下两行 export HBASE_HOME/export/server/hbase export PATH$HBASE_HOME/bin:$PATHsource /etc/profile【node1执行】启动HBase 请确保Hadoop HDFS、Zookeeper是已经启动了的 start-hbase.sh# 如需停止可使用 stop-hbase.sh由于我们配置了环境变量export PATH P A T H : PATH: PATH:HBASE_HOME/bin start-hbase.sh即在$HBASE_HOME/bin内所以可以无论当前目录在哪均可直接执行 验证HBase 浏览器打开http://node1:16010即可看到HBase的WEB UI页面 简单测试使用HBase 【node1执行】 hbase shell# 创建表 create test, cf# 插入数据 put test, rk001, cf:info, itheima# 查询数据 get test, rk001# 扫描表数据 scan test分布式内存计算Spark环境部署 注意 本小节的操作基于大数据集群Hadoop生态安装部署环节中所构建的Hadoop集群 如果没有Hadoop集群请参阅前置内容部署好环境。 简介 Spark是一款分布式内存计算引擎可以支撑海量数据的分布式计算。 Spark在大数据体系是明星产品作为最新一代的综合计算引擎支持离线计算和实时计算。 在大数据领域广泛应用是目前世界上使用最多的大数据分布式计算引擎。 我们将基于前面构建的Hadoop集群部署Spark Standalone集群。 安装 【node1执行】下载并解压 wget https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz# 解压 tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz -C /export/server/# 软链接 ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark【node1执行】修改配置文件名称 # 改名 cd /export/server/spark/conf mv spark-env.sh.template spark-env.sh mv slaves.template slaves【node1执行】修改配置文件spark-env.sh ## 设置JAVA安装目录 JAVA_HOME/export/server/jdk## HADOOP软件配置文件目录读取HDFS上文件和运行YARN集群 HADOOP_CONF_DIR/export/server/hadoop/etc/hadoop YARN_CONF_DIR/export/server/hadoop/etc/hadoop## 指定spark老大Master的IP和提交任务的通信端口 export SPARK_MASTER_HOSTnode1 export SPARK_MASTER_PORT7077SPARK_MASTER_WEBUI_PORT8080 SPARK_WORKER_CORES1 SPARK_WORKER_MEMORY1g【node1执行】修改配置文件slaves node1 node2 node3【node1执行】分发 scp -r spark-2.4.5-bin-hadoop2.7 node2:$PWD scp -r spark-2.4.5-bin-hadoop2.7 node3:$PWD【node2、node3执行】设置软链接 ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark【node1执行】启动Spark集群 /export/server/spark/sbin/start-all.sh# 如需停止可以 /export/server/spark/sbin/stop-all.sh打开Spark监控页面浏览器打开http://node1:8081 【node1执行】提交测试任务 /export/server/spark/bin/spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi /export/server/spark/examples/jars/spark-examples_2.11-2.4.5.jar分布式内存计算Flink环境部署 注意 本小节的操作基于大数据集群Hadoop生态安装部署环节中所构建的Hadoop集群 如果没有Hadoop集群请参阅前置内容部署好环境。 简介 Flink同Spark一样是一款分布式内存计算引擎可以支撑海量数据的分布式计算。 Flink在大数据体系同样是明星产品作为最新一代的综合计算引擎支持离线计算和实时计算。 在大数据领域广泛应用是目前世界上除去Spark以外应用最为广泛的分布式计算引擎。 我们将基于前面构建的Hadoop集群部署Flink Standalone集群 Spark更加偏向于离线计算而Flink更加偏向于实时计算。 安装 【node1操作】下载安装包 wget https://archive.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz# 解压 tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C /export/server/# 软链接 ln -s /export/server/flink-1.10.0 /export/server/flink【node1操作】修改配置文件conf/flink-conf.yaml # jobManager 的IP地址 jobmanager.rpc.address: node1 # JobManager 的端口号 jobmanager.rpc.port: 6123 # JobManager JVM heap 内存大小 jobmanager.heap.size: 1024m # TaskManager JVM heap 内存大小 taskmanager.heap.size: 1024m # 每个 TaskManager 提供的任务 slots 数量大小 taskmanager.numberOfTaskSlots: 2 #是否进行预分配内存默认不进行预分配这样在我们不使用flink集群时候不会占用集群资源 taskmanager.memory.preallocate: false # 程序默认并行计算的个数 parallelism.default: 1 #JobManager的Web界面的端口默认8081 jobmanager.web.port: 8081【node1操作】修改配置文件conf/slaves node1 node2 node3【node1操作】分发Flink安装包到其它机器 cd /export/server scp -r flink-1.10.0 node2:pwd/ scp -r flink-1.10.0 node3:pwd/【node2、node3操作】 # 配置软链接 ln -s /export/server/flink-1.10.0 /export/server/flink【node1操作】启动Flink /export/server/flink/bin/start-cluster.sh验证Flink启动 # 浏览器打开 http://node1:8081提交测试任务 【node1执行】 /export/server/flink/bin/flink run /export/server/flink-1.10.0/examples/batch/WordCount.jar运维监控Zabbix部署 简介 Zabbix 由 Alexei Vladishev 创建目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护 并为用户提供技术支持服务。 Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。 安装 安装整体步骤: 准备Linux 服务器(虚拟机)安装Mysql安装zabbix( 包含 server agent web)配置 mysql, 为zabbix创建表结构配置zabbix server启动并开启开机自启动 安装前准备 - Mysql 安装ZabbixServer需要先安装好Mysql数据库 课程使用Mysql 5.7 安装步骤 # 安装Mysql yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm# yum安装Mysql yum -y install mysql-community-server# 启动Mysql设置开机启动 systemctl start mysqld systemctl enable mysqld# 检查Mysql服务状态 systemctl status mysqld# 第一次启动mysql会在日志文件中生成root用户的一个随机密码使用下面命令查看该密码 grep temporary password /var/log/mysqld.log# 修改root用户密码 mysql -u root -p -h localhost Enter password:mysql ALTER USER rootlocalhost IDENTIFIED BY Root!#$;# 如果你想设置简单密码需要降低Mysql的密码安全级别 set global validate_password_policyLOW; # 密码安全级别低 set global validate_password_length4; # 密码长度最低4位即可# 然后就可以用简单密码了课程中使用简单密码为了方便生产中不要这样 ALTER USER rootlocalhost IDENTIFIED BY root; mysql grant all privileges on *.* to root% identified by root;安装Zabbix Server 和 Zabbix Agent 初始安装我们先安装ZabbixServer以及在Server本机安装Agent。 打开官网下载页面https://www.zabbix.com/download?zabbix4.0os_distributioncentosos_version7dbmysql 选择对应的版本然后再下面官网给出了具体的安装命令使用rpm和yum来进行安装。 需要有网络。 以下内容来自官方页面 a. 安装Zabbix yum库 documentation rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm yum clean allb. 安装Zabbix Server、前端、Agent yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent # 如果只需要安装Agent的话 yum -y install zabbix-agentc. 初始化Mysql数据库 documentation 在Mysql中操作 # 登录Mysql 数据库 mysql -uroot -pYourPassword mysql create database zabbix character set utf8 collate utf8_bin; mysql grant all privileges on zabbix.* to zabbixlocalhost identified by zabbix; # 或者: grant all privileges on zabbix.* to zabbix% identified by zabbix; mysql quit;测试在Zabbix Server服务器上能否远程登录Mysql如果可以登录继续向下走。 Import initial schema and data. You will be prompted to enter your newly created password. # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbixd. 为Zabbix Server配置数据库 Edit file /etc/zabbix/zabbix_server.conf DBPasswordpassword DBHostmysql-host-ip-or-hostnamee. 配置Zabbix的PHP前端 Edit file /etc/httpd/conf.d/zabbix.conf, uncomment and set the right timezone for you.# php_value date.timezone Asia/Shanghai Start Zabbix server and agent processes and make it start at system boot: systemctl restart zabbix-server zabbix-agent httpd # 启动、重启 systemctl enable zabbix-server zabbix-agent httpd # 开机自启Now your Zabbix server is up and running! 配置zabbix 前端WEB UI 打开:http://192.168.88.131/zabbix 即可进入Zabbix页面在首次打开的时候会进入设置页面如图 点击下一步会检查相应的设置是否都正常 如果一切正常点击下一步。 配置DB连接 按具体情况填写即可 配置Server细节 具体配置即可Name表示这个Zabbix服务的名字这里起名叫ITHEIMA-TEST 安装前总结预览 检查确认没有问题就下一步 配置完成 初始管理员账户Admin密码zabbix 输入账户密码后就能进入zabbix页面了。 如下图 现在是一个崭新的zabbix等待我们去探索。 运维监控Grafana部署 简介 安装 部署形式 Grafana支持两种部署形式 自行部署, 可以部署在操作系统之上. 自行提供服务器, 域名等.Grafana官方托管. 无需安装, 在线注册即可得到一个专属于自己的Grafana, 但是要花钱的. 是一种SaaS服务 我们课程选择方式1 安装 Grafana支持常见的绝大多数操作系统, 如windows mac linux 同时也支持部署在docker中. 大多数情况下, Grafana都是部署在linux服务器之上. 所以本课程也是基于Linux系统来讲解. 对windows mac系统 或 docker部署有兴趣的同学, 请参考: https://grafana.com/grafana/download 我们部署Grafana可以使用YUM来进行部署. # 创建一个文件 vim /etc/yum.repos.d/grafana.repo# 将下面的内容复制进去 [grafana] namegrafana baseurlhttps://packages.grafana.com/oss/rpm repo_gpgcheck1 enabled1 gpgcheck1 gpgkeyhttps://packages.grafana.com/gpg.key sslverify1 sslcacert/etc/pki/tls/certs/ca-bundle.crt# 最后安装 yum install grafana配置说明 grafana-server具有许多配置选项这些选项可以在.ini配置文件中指定也可以使用环境变量指定。 Note. Grafana needs to be restarted for any configuration changes to take effect. 配置文件注释 ;符号在.ini文件中全局表示注释 () 配置文件路径 如果是自己解压安装, 或者自行编译的方式安装, 配置文件在: 默认: $WORKING_DIR/conf/defaults.ini自定义:$WORKING_DIR/conf/custom.ini自定义配置文件路径可以被参数--config覆盖 对于YUM RPM 安装的方式, 配置文件在: /etc/grafana/grafana.ini 使用环境变量 可以使用以下语法使用环境变量来覆盖配置文件中的所有选项 GF_SectionName_KeyName其中SectionName是方括号内的文本。一切都应为大写.应替换为_ 例如给定以下配置设置 # default section instance_name ${HOSTNAME}[security] admin_user admin[auth.google] client_secret 0ldS3cretKeyThen you can override them using: export GF_DEFAULT_INSTANCE_NAMEmy-instance export GF_SECURITY_ADMIN_USERtrue # GF_ 固定 SECURITY 是SectionName ADMIN_USER 是配置的key 转大写 . 转 _ export GF_AUTH_GOOGLE_CLIENT_SECRETnewS3cretKey开始配置 Grafana支持使用Sqlite3 Postgresql Mysql这三种数据库作为其元数据的存储. 我们课程使用Mysql. 和zabbix的元数据mysql共用一个实例 只需要配置如下内容即可: 并登陆mysql, 执行: create database grafana CHARACTER SET utf8 COLLATE utf8_general_ci; 创建Grafana使用的数据库作为元数据存储. 启动 systemctl daemon-reload systemctl start grafana-server systemctl enable grafana-server浏览器打开http://node1:3000 默认账户密码admin/admin
http://www.tj-hxxt.cn/news/142228.html

相关文章:

  • 阿里云备案增加网站兼职游戏网站怎么做
  • 查看网站历史页面佛山搜索seo优化排名
  • 网站开发培训机构排名广告设计与制作工作内容
  • 微信公众号网站开发模板找个网站怎么那么难
  • 网站备案的幕布是什么来的如何给自己网站做反链
  • 免费网站开发平台做网站还能挣钱
  • 网站建设与开发考试南宁网站优化
  • 湟源县wap网站建设公司wordpress仪表盘登陆
  • 品牌型网站制作哪怎样添加音乐到wordpress
  • ps怎么做网站首页界面制作网站具体需要什么材料
  • 网站开发学什么比较有优势seo系统推广
  • wordpress支付免签约插件网站推广优化平台
  • 苏州专业做网站公司网站建设设计服务
  • 让人做网站需要注意哪些问题wordpress带会员中心模板
  • 赣榆区住房和城乡建设局网站网站模板 古典
  • 微网站如何做微信支付西安seo和网络推广
  • 做网站送优化windows优化大师免费版
  • 成都集团网站设计推荐网站的评测系统怎么做的
  • 阜宁网站制作费用南昌门户网站
  • 西安+美院+网站建设张家界建设网站公司
  • 江门网站优化经验类qq留言网站建设
  • 优化是企业通过网站来做吗佛山宣传片制作
  • 笔记 发布 wordpressseo神器
  • 国家建设部网站倪虹wordpress用vps搭建
  • wordpress网站背景设置九江seo公司
  • 梅州做网站需要多少钱做公号模版网站
  • 地图截选做分析图的网站临安规划建设局网站
  • 高碑店地区网站建设室内设计较好的学校
  • 网站建设拓扑图做网站有er图
  • 建筑网站网页设计成都专业网站制作建设