1.1 操作系统
centos服务器运维
由于我们Sinesafe的客户要求网站的服务器要装Centos7版本所以给大家分享下安装的过程与经验,如果需要深入的服务器运维服务也可以找我们。
机器域名 机器别名
xxx.xxx.xxx.xxx bigdata1 xxx.xxx.xxx.xxx bigdata2 xxx.xxx.xxx.xxx bigdata3
3台机器用户名和密码:
用户名 密码
root xxxx bigdata xxxxx
1.1.1 装机注意事项
一、 U盘安装的时候报错的解决方案
二、修改/etc/resolv.conf,将配置中的值改成
nameserver 202.xxx.xxx.xx 前面两个要和测试服务器上的这两个nameserver保持一致
nameserver 202.xxx.xxx.xx 这两个用于联网使用
nameserver 8.8.8.8 下面这两个必须有,否则在使用yum的时候使用不了
nameserver 8.8.4.4
三、修改/etc/sysconfig/network-scprits/ifcfg-*,内容如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp3s0"
UUID="xxxxxxxxxxxxxxxxxxxxxxxx"
DEVICE="enp3s0"
ONBOOT="yes"
IPADDR="xxx.xxx.xxx.xxx"
IPADDR1="xxx.xxx.xxx.xxx" #这里是虚拟ip
PREFIX="24"
GATEWAY="xxx.xxx.xxx.xxx"
IPV6_PRIVACY="no"
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx
DNS3=8.8.8.8
DNS4=8.8.4.4
修改完成之后,执行重启网络配置命令:
service network restart
四、修改hosts,hostname.效果如下:
[root@bigdata3 ~]# cat /etc/hosts (3台服务器的这个配置一致)
#127.0.0.1 localhost localhost.localdo:wqmain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.18.140 bigdata1
192.168.18.141 bigdata2
192.168.18.142 bigdata3
[root@bigdata3 ~]#
[root@bigdata1 ~]# cat /etc/hostname
bigdata1
[root@bigdata2 ~]# cat /etc/hostname
bigdata2
[root@bigdata3 ~]# cat /etc/hostname
bigdata3
五、为了让服务能够被远程工具连接,配置/etc/ssh/sshd_config中监听的端口和ip地址
Port 22 这里可以不放开,默认是22端口
PermitRootLogin yes
PasswordAuthentication yes
即:将/etc/ssh下的sshd_config文件中的,关于监听端口、监听地址前的#号去除。
六、centos yum报错Loaded plugins: fastestmirror
vim /etc/yum/pluginconf.d/fastestmirror.conf
enabled = 0
vim /etc/yum.conf
plugins=0
yum clean dbcache
如果发现还是不可以使用yum命令安装各种软件,这时候说明是DNS的配置有问题
解决办法是:
A:修改vim /etc/sysconfig/network-scripts/ifcfg-eth
添加如下内容:
ONBOOT=yes
MM_CONTROLLED=no 这个若没有添加上去
DNS1=8.8.8.8
DNS2=8.8.4.4
上面的dns名称不能重复
同时在/etc/resolv.conf中添加:
nameserver 8.8.8.8
nameserver 8.8.4.4
然后重启项目即可
六、安装wget
yum –y install wget
七、更新安装vim,安装vim增强包
yum –y install vim-enhanced
八、解决netstat:command not found问题
yum install net-tools
九、Centos7防火墙配置:
将默认Firewall改为iptables防火墙
关闭firewall:
service network restart #重启网络
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止Firewall开启启动
firewall-cmd –state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
配置iptable防火墙
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus to add additional ports/services to this default configuration
*filter <!-- 本行请查看下面备注-->
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
备注:这里使用80和8080端口为例
filter
以上部分一般添加到下行的上面或者下面
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
切记不要添加到最后一行,否则防火墙重启后不生效
systemctl restart iptables.service #最后重启防火墙使配置生效systemctl enable iptables.service #设置防火墙开机启动
它防火墙参数配置:
其修改防火墙配置文件之前,需要对之前防火墙做好备份
重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙
firewall-cmd --state
#查看firewall的状态
firewall-cmd --list-all
#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all-zones
#查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --reload
#重新加载配置文件
2、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入firewall-cmd --reload
查看firewall-cmd --zone= public --query-port=80/tcp
删除firewall-cmd --zone= public --remove-port=80/tcp --permanent
因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则
十、关闭selinux
关闭selinux:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启
1.2 下载软件
软件清单:
jdk-8u73-linux-x64.tar.gz Java JDK1.8+环境
apache-maven-3.3.9-bin.tar.gz Maven安装文件
apache-tomcat-8.5.12.tar.gz Tomcat安装包
MySQL-5.7.21-linux-glibc2.12-x86_64.tar.gz MySQL5.7
zookeeper-3.4.11.tar.gz Zookeeper安装软件
hadoop-3.0.0.tar.gz Hadoop安装软件
apache-hive-2.3.2-bin.tar.gz 数据仓库之hive
apache-flume-1.8.0-bin.tar.gz 日志收集框架二进制
sqoop-1.4.7.tar.gz 关系型数据库和hdfs数据之间转换的工具
apache-storm-1.2.1.tar.gz 实时数据处理之storm安装包
azkaban-master-source.zip 任务调度所需的源码包
spark-2.3.0-bin-hadoop2.7.tgz Spark之针对hadoop2.7版本的安装包
scala-2.13.0-M3.zip Spark编写所需的scala语言包
hbase-1.4.2-bin.tar.gz Hbase安装包
elasticsearch-6.2.2.rpm ES之Linux rpm安装包
elasticsearch-6.2.2.tar.gz ES值Linux tar安装包
logstash-6.2.2.rpm ELK之logstash日志收集框架
logstash-6.2.2.tar.gz ELK之logstash日志收集框架tar包
kibana-6.2.2-linux-x86_64.tar.gz ELK套件之视图展示用框架
kibana-6.2.2-x86_64.rpm ELK套件之视图展示用框架rpm安装包
redis-3.2.9.tar.gz redis安装包
kylin Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据
presto Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节.
Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题
1.3 上传安装包
将安装文件上传到:/home/bigdata/software
1.4 3台服务器间的免密登录
在bigdata1、bigdata2、bigdata3下执行:
ssh-keygen -t rsa (这个过程中一致打enter)
ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3
执行完成上面的命令之后,分别bigdata1、bigdata2、bigdata3上执行:
ssh bigdata1
ssh bigdata2
ssh bigdata3
按照如果最后能够免密码登录进去,说明免密登录成功
1.5 搭建ntp时间服务器
让Linux上的时间和网络时间保持一致,避免一些时间不一致的问题(必须在root命令下执行)
[root@bigdata1 ~]# yum install -y ntp
[root@bigdata1 ~]# ntpdate pool.ntp.org && hwclock -w
1.6 常见命令
查看常见命令
查看机器上运行端口
netstat –tunlp
查看某个端口运行在哪个位置
ps –ef | grep PID (PID即上面netstat –tunlp中查看出来的PID)
centos7下查看哪些端口开放了
firewall-cmd –list-ports
防火墙开放端口:
firewall-cmd --zone=public --add-port=80/tcp –permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
firewall-cmd --reload #重启firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
通过iptables的方式查看开放的端口:
/etc/init.d/iptables status
查看某个文件夹下含有某个字符串的命令:
grep -rl 'mysqld' ./
安装telnet
[root@bigdata3 ~]# yum install net-tools