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的文件复制到每一台主机上。其中包括:
...
CentOS8的软件库
相对于华为和阿里云的mirrors,中国科技大学的mirrors的完整性和速度要好一些,而且配置文件也方便一些。现在把相关文件记一下:
系统repo[BaseOS]name=CentOS-$releasever - Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infrabaseurl=https://mirrors.ustc.edu.cn/centos/$releasever/BaseOS/$basearch/os/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial#additional packages that may be useful[extras]name=CentOS-$releasever - Extras#mirrorlist=http://mirrorlist.centos.org/?rel ...
使用脚本一键部署堡垒机
部门领导要求研究一下堡垒机的使用,所以花了两天时间研究了一下开源堡垒机的部署和使用。因为官方文档中有些已经有了部分错误,现在以官方的CentOS8版本的安装文档为蓝本把部署过程以脚本的形式备份一下。 其中,主要的变化是使用了官方源的nginx、修改了python安装的几个组件的版本、部署了堡垒机jms服务、koko服务和guacamole服务的systemd自启动脚本。
#!/bin/bash# 2020.01.15# sujx@live.cn# 安装依赖包yum update -yyum -y install wget gcc epel-release git telnet openssh-clients dnf-utils vim yum update -y# 下载 Jumpservercd /opt/git clone --depth=1 https://github.com/jumpserver/jumpserver.git# 防火墙 与 selinux 设置说明, 如果已经关闭了 防火墙 和 Selinux 的用户请跳过设置systemctl start firewalld# ...
基于CentOS8快速部署iTop
iTop是一个用PHP编写的基于ITIL理念打造的开源ITSM系统。本次将在CentOS8的虚机上安装部署一套iTOP系统。
系统准备 首先是准本LAMP环境,使用系统默认的Apache2.4.3、PHP7.2、Mariadb10.3.
yum update -yyum install -y cmake make autoconf gcc gcc-g++ unzip graphviz libzip-devel libzip-toolsyum install -y httpd php php-fpm php-ldap php-soapyum install -y php-xmlrpc php-gd php-opcache php-mysqlnd php-json php-develyum install -y libmcrypt libmcrypt-devel php-pecl-apcu mhashyum install -y php-odbc php-mbstring php-snmpyum install -y mariadb mariadb-serverfirewall-cmd ...
Zabbix的集中式部署
Zabbix是一种高效、快速、开源的企业级监控系统。本文将基于Zabbix4.4和CentOS8来实现集中式部署一台监控主站点。
主机部署
首先部署两台CentOS8(Zabbix:10.30.2.67、MySQL:10.30.2.68)主机,并安装epel-release源和zabbix源,其中建议使用[1]。
dnf upgrade -ydnf install -y epel-releaserpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpmdnf upgrade -y
Zabbix服务部署
登录Zabbix服务器,安装主程序
dnf -y upgradednf -y install httpd php php-fpmdnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent#修改启动项systemctl enable httpd p ...
建立本地RPM包仓库
随着国内使用Linux的氛围日渐浓郁,各个大厂的源也如雨后春笋一般纷纷出现,下载速度也是越来越快。不过,在我司内部因为安全制度的限制,生产环境是不能直接连接互联网的,因此需要建立本地的源服务器。
建立服务环境软件镜像需要通过HTTP/HTTPS环境来提供服务。
# 系统更新yum update -y# 安装RPM相关包yum install -y zlib-devel openssl-devel gcc perl-devel pam-devel make autoconfyum install -y rpm-build unzip rsync createrepo# 安装HTTP服务器yum install -y httpd mod_security# 修改配置文件touch /etc/httpd/conf.d/repos.confcat>>/etc/httpd/conf.d/repos.conf<<EOFAlias /repos /var/www/repos<directory /var/www/repos> Options +In ...
升级CentOS8的OpenSSH版本
虽然说CentOS8的Openssl和OpenSSH的版本已经算是比较新的了,但是因为公司的信息安全建设的要求,在经过商业漏洞扫描软件扫描之后,还是需要进行升级操作(由于CentOS8的Openssl已经是比较新的1.1.1版本了,此次就不升级它了)。
安装包准备# 配置编译环境cdyum update -yyum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -ymkdir -p ~/rpmbuild/{SOURCES,SPECS}# 下载安装包wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gzwget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gzcp openssh-8.1p1.tar.gz x11-ssh-askpass-1.2.4.1.ta ...
CentOS的免密登录
实现CentOS的免密登录还是挺简单的。
密钥的产生
ssh-keygen -t rsa
在用户家目录下的.ssh目录下产生id_rsa和id_rsa.pub两个密钥文件。其中,.pub为公钥。
公钥的上传
ssh-copy-id -i ~/.ssh/id_rsa.pub root@target_IP
使用ssh-copy-id来实现自动的上传、修改配置。
增加主机配置文件
vim ~/.ssh/config————————————————————Host target0 //主机名称Hostname 192.168.174.148 //主机IP或解析记录Port 22 //SSH端口号User root //SSH用户名Host target1Hostname 192.168.174.149Port 22User root————————————————————
测试
[root@ansible_server ~]# ssh target0Last login: Fri Dec 20 14:59:11 2019 from 192.168.174. ...