wHAT is HDFS?
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
概念
HDFS集群分为两大角色:NameNode、DataNode;
NameNode负责管理整个文件系统的元数据,second namenode是namenode的冷备;
DataNode 负责管理用户的文件数据块;
文件会按照固定的大小(blocksize)(128M)切成若干块后分布式存储在若干台datanode上;
每一个文件块可以有多个副本,并存放在不同的datanode上;
Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量;
HDFS的内部工作 ...
离线部署CDH6.3
部署练习的环境有六台主机,主机的配置是4核心4G内存(内存还是低了,建议8G起步):
主机名
IP地址
Elephant
192.168.174.184
Lion
192.168.174.185
Horse
192.168.174.186
Monkey
192.168.174.187
Tiger
192.168.174.188
环境准备
主机环境配置
按照各个主机配置修改相应值,下面以elephant为例:
[root@localhost ~]# nmcli c m ens33 ipv4.method manual ipv4.addresses 192.168.174.184/24 ipv4.gateway 192.168.174.2 ipv4.dns 192.168.174.2
[root@localhost ~]# nmcli c d ens33 && nmcli c u ens33
[root@localhost ~]# hostnamectl set-hostname elephant
文件复制 将离线部署CDH6.3.1的文件复制到每一台主 ...
Docker实践
建立一个三节点的网络环境来进行docker的操作练习,其中master节点存储私有仓库镜像文件。
节点
IP
用途
master
192.168.174.181
管理节点和私有仓库
node1
192.168.174.180
节点一
node1
192.168.174.180
节点二
管理节点安装docker程序的安装[root@master ~]# yum install -y docker
[root@master ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
# 这里我们将使用新增的/dev/sdb磁盘作为docker的存储
[root@master ~]# vim /etc/sysconfig/docker-storage-setup #使用:r 打开docker磁盘驱动模板文件/usr/share/container-storage-setup/cont ...
CentOS8的软件库
相对于华为和阿里云的mirrors,中国科技大学的mirrors的完整性和速度要好一些,而且配置文件也方便一些。现在把相关文件记一下:
系统repo[BaseOS]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.cent ...
使用脚本一键部署堡垒机
部门领导要求研究一下堡垒机的使用,所以花了两天时间研究了一下开源堡垒机的部署和使用。因为官方文档中有些已经有了部分错误,现在以官方的CentOS8版本的安装文档为蓝本把部署过程以脚本的形式备份一下。 其中,主要的变化是使用了官方源的nginx、修改了python安装的几个组件的版本、部署了堡垒机jms服务、koko服务和guacamole服务的systemd自启动脚本。
#!/bin/bash
# 2020.01.15
# sujx@live.cn
# 安装依赖包
yum update -y
yum -y install wget gcc epel-release git telnet openssh-clients dnf-utils vim
yum update -y
# 下载 Jumpserver
cd /opt/
git clone --depth=1 https://github.com/jumpserver/jumpserver.git
# 防火墙 与 selinux 设置说明, 如果已经关闭了 防火墙 和 Selinux 的用户请跳过设置
systemctl s ...
基于CentOS8快速部署iTop
iTop是一个用PHP编写的基于ITIL理念打造的开源ITSM系统。本次将在CentOS8的虚机上安装部署一套iTOP系统。
系统准备 首先是准本LAMP环境,使用系统默认的Apache2.4.3、PHP7.2、Mariadb10.3.
yum update -y
yum install -y cmake make autoconf gcc gcc-g++ unzip graphviz libzip-devel libzip-tools
yum install -y httpd php php-fpm php-ldap php-soap
yum install -y php-xmlrpc php-gd php-opcache php-mysqlnd php-json php-devel
yum install -y libmcrypt libmcrypt-devel php-pecl-apcu mhash
yum install -y php-odbc php-mbstring php-snmp
yum install -y mariadb mariadb-server
fire ...
Zabbix的集中式部署
Zabbix是一种高效、快速、开源的企业级监控系统。本文将基于Zabbix4.4和CentOS8来实现集中式部署一台监控主站点。
主机部署
首先部署两台CentOS8(Zabbix:10.30.2.67、MySQL:10.30.2.68)主机,并安装epel-release源和zabbix源,其中建议使用[1]。
dnf upgrade -y
dnf install -y epel-release
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
dnf upgrade -y
Zabbix服务部署
登录Zabbix服务器,安装主程序
dnf -y upgrade
dnf -y install httpd php php-fpm
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
#修改启动项
systemctl enab ...
建立本地RPM包仓库
随着国内使用Linux的氛围日渐浓郁,各个大厂的源也如雨后春笋一般纷纷出现,下载速度也是越来越快。不过,在我司内部因为安全制度的限制,生产环境是不能直接连接互联网的,因此需要建立本地的源服务器。
建立服务环境软件镜像需要通过HTTP/HTTPS环境来提供服务。
# 系统更新
yum update -y
# 安装RPM相关包
yum install -y zlib-devel openssl-devel gcc perl-devel pam-devel make autoconf
yum install -y rpm-build unzip rsync createrepo
# 安装HTTP服务器
yum install -y httpd mod_security
# 修改配置文件
touch /etc/httpd/conf.d/repos.conf
cat>>/etc/httpd/conf.d/repos.conf<<EOF
Alias /repos /var/www/repos
<directory /var/www/repos>
Options +Inde ...
升级CentOS8的OpenSSH版本
虽然说CentOS8的Openssl和OpenSSH的版本已经算是比较新的了,但是因为公司的信息安全建设的要求,在经过商业漏洞扫描软件扫描之后,还是需要进行升级操作(由于CentOS8的Openssl已经是比较新的1.1.1版本了,此次就不升级它了)。
安装包准备# 配置编译环境
cd
yum update -y
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y
mkdir -p ~/rpmbuild/{SOURCES,SPECS}
# 下载安装包
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
wget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz
cp openssh-8.1p1.tar.gz x11-ssh-askpass-1. ...