HDFS初步使用
HDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。其概念和内容可以参考[1]。这里就做一个简单的实验来看一下其文件管理的功能。更多的Hadoop命令可以参考[2]。
用户建立在实验环境中,不建议使用root账号直接登录运行,所以建立一个普通账号。
# Elephant主机执行# 安装ansible[root@elephant ~]# yum install -y ansible# 在/etc/ansible/hosts中新增所有主机名# 建立ansible文件[root@elephant ~]# mkdir playbook[root@elephant ~]# vim ./playbook/useradd.yaml---- hosts: hadoop remote_user: root vars_prompt: - name: user_name prompt: Enter Username private: no - name: user_pas ...
离线部署CDH5.16.2
在实践了CDH6的离线部署之后,发现Cloudera的官方教程是基于CDH5.10的。同时,CDH6的内存占用比较高,我的机器有点遭不住,所以又把CDH5的部署实施走了一遍。
模板部署
安装CentOS7.10,并完成yum升级;
所有主机时间与阿里云时间服务器同步;
关闭selinux和firewalld;
安装JDK和mysql-connect;
[root@localhost ~]# wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.rpm[root@localhost ~]# yum localinstall jdk-8u202-linux-x64.rpm[root@localhost ~]# mv mysql-connector-java-5.1.39-bin.jar /usr/share/java/mysql-connector-java.jar
关闭透明大页;
[root@localhost ~]# vim /etc/rc.d/rc.local# 在最后一行添加如下内 ...
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 ...