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