Hadoop是apache旗下的一套开源软件平台, 主要对海量数据进行分布式处理。
本次部署,计划使用5台服务器,服务器磁盘规划如下:

分区挂载完成以后,使用root用户执行对目录/data授权。每台服务器都执行此命令。
chmod 777 -R /data

一、基础运行平台部署包说明
平台大数据部署包共提供cm5,cdh,Redhat三个程序部署包。其中cm5为管理控制台,是必装包;cdh为基础运行平台的主程序包,是 必装包;Redhat为linux系统操作精装版。

二、创建组与用户(每台服务器都需要操作)

  1、创建hadoop用户,并将hadoop用户添加到root组。在root用户下执行。useradd -g root  hadoop[如果已存在用户更改用户属组:usermod -g root hadoop]passwd hadoop2、验证hadoop用户是否成功,输入命令后,用户变成了hadoop表示成功su hadoop3、使用hadoop用户创建目录su hadoopmkdir -p /home/hadoop/hadoop-2.3.0-cdh5.1.2/lib/native/mkdir -p /home/hadoop/hadoop-2.3.0-cdh5.1.2/video-analysis-alg/4、使用hadoop用户登陆各系统节点,执行如下命令查看上图创建目录是否成功cd  /home/hadoop/hadoop-2.3.0-cdh5.1.2/lib/native/5、执行完上句执行下面语句,确定进入的路径正确pwd6、使用hadoop用户登陆各系统节点,执行如下命令查看上图创建目录是否成功cd  /home/hadoop/hadoop-2.3.0-cdh5.1.2/video-analysis-alg/7、执行完上句执行下面语句,确定进入的路径正确pwd8、使用root用户为目录赋权chmod o+rx -R /home/hadoop

三、服务器hostname配置

  1、每一台服务器均需使用root用户执行下列命令,根据不同节点分配不同机器名,修改机器名相关配置。hostnamectl set-hostname master1-vsp.com2、Hostname配置完成之后,在每台机器使用root用户执行如下命令检查配置是否成功(以子节点2为例)hostname3、每一台服务器均需执行下列操作,修改系统的IP地址ifconfig4、使用root用户编辑enovi /etc/sysconfig/network-scripts/ifcfg-enp0s35、将下面的内容编辑到ifcfg-enp0s3文件中,原文件中有的则更改,没有的则添加,其中IP地址、子网掩码以及网关则需要更改实际情况编写。NETMASK=255.255.255.0IPADDR=172.16.100.4GATEWAY=172.16.100.254ONBOOT=yes(修改系统文件里面已有的)BOOTPROTO=static(网卡内容存在此变量,将=号右边的内容改为此内容即可)6、重启网卡/etc/rc.d/init.d/network restart 7、每一台服务器均需执行下列5条操作命令,将服务器的IP与服务器名称进行关联。echo 192.168.43.36        master1-vsp.com>> /etc/hostsecho 192.168.43.34         slave1-vsp.com>> /etc/hostsecho 192.168.43.35       slave2-vsp.com>> /etc/hosts8、执行完成之后通过cat /etc/hosts命令查看是否执行成功。cat /etc/hosts9、重新启动计算机reboot

四、配置系统参数(每台服务器都需要操作)

   1、修改swappiness,建议将/proc/sys/vm/swappiness设置为0,默认值为60sysctl vm.swappiness=0echo vm.swappiness=0 >> /etc/sysctl.conf2、执行如下命令以在重启后保存上条命令设置结果,该设置重启后不会丢失,执行如下命令:cat >> /etc/sysctl.conf <<EOFvm.swappiness = 10EOF3、修改transparent_hugepage,使用root用户执行以下命令可立即生效echo never >/sys/kernel/mm/transparent_hugepage/defrag4、使用root用户执行如下命令可永久生效echo "echo never >  /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local 5、执行下面命令验证上面的永久生效命令是否执行成功,cat /etc/rc.local6、关闭防火墙#停止firewallsystemctl stop firewalld.service#禁止firewall开机启动systemctl disable firewalld.service #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)firewall-cmd --state7、关闭selinux   使用root用户执行如下命令:setenforce 0sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinuxsed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

五、安装软件源服务

 1、上传文件(只在master1-vsp.com服务器上执行该操作)使用root用户登录到master1-vsp.com服务器上,并通过xftp工具将redhat(将系统镜像文件解压后里面的所有文件都拷贝到这里面)、CDH、cm5、mysql-package以及jdk文件夹上传到master1-vsp.com服务器的/var/www/html/目录下。  2、有可能/var/www/html/目录不存在,如果不存在请先创建该文件夹,创建文件件命令如下:mkdir -p /var/www/html3、建立临时web服务(只在master1-vsp.com服务器上执行该操作)使用root用户执行service httpd status命令,如果出现Loaded: not-found (Reason: No such file or directory)相关字样则表示该操作系统没有http服务service httpd status4、以root用户执行以下命令cd  /var/www/html/python -m SimpleHTTPServer 80 &5、通过浏览器访问 http://192.168.43.36/地址,如果显示下面的界面,则表示已经建立了一个临时的web服务器。6、配置yum地址(该步骤需要在每台机器上执行)使用root用户执行ll /etc/yum.repos.d/命令,查看系统原有的软件源配置文件,ll /etc/yum.repos.d/7、通过mv命令将原有的配置文件进行重命名mv  /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.backmv  /etc/yum.repos.d/CentOS-Debuginfo.repo  /etc/yum.repos.d/CentOS-Debuginfo.repo.backmv  /etc/yum.repos.d/CentOS-Media.repo  /etc/yum.repos.d/CentOS-Media.repo.backmv  /etc/yum.repos.d/CentOS-Vault.repo  /etc/yum.repos.d/CentOS-Vault.repo.back8、再次执行ll /etc/yum.repos.d/命令查看一下原有的配置文件是否都已经更名了,如果没有则文件再次更名。9、配置软件源(该步骤需要在每台机器上执行)使用root用户执行echo命令,在/etc/yum.repos.d/目录创建名称为os.repo文件。echo [base] >> /etc/yum.repos.d/os.repoecho name=redhat-7.2 Base >> /etc/yum.repos.d/os.repoecho baseurl = http://master1-vsp.com/redhat/>> /etc/yum.repos.d/os.repoecho gpgcheck = 0 >> /etc/yum.repos.d/os.repo10、通过cat /etc/yum.repos.d/os.repo命令查看文件是否正确创建并且正确写入了对应的文字cat /etc/yum.repos.d/os.repo使用root用户执行yum clean all命令清理软件源yum clean all11、安装Web服务器(只在master1-vsp.com服务器上执行该操作)使用root用户执行yum install httpd命令安装http服务yum install httpd12、启动http服务(只在master1-vsp.com服务器上执行该操作)ps -ef|grep python             chkconfig httpd  on13、执行上面的命令后找到端口号为80,进程名称为SimpleHTTPServer的进程号,并执行kill命令,杀死该进程kill -9 1228014、使用root用户执行下面命令启动web服务器,并将之设置为自动启动。systemctl start httpd                         systemctl enable httpd.service

六、安装基础服务

 1、建立root用户之间的互信,创建密钥(每台服务器都需要操作)cd ~ssh-keygen -t rsa2、创建共享文件(只在master1-vsp.com服务器上执行该操作)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys 3、将共享文件复制到其他4台机器上scp ~/.ssh/authorized_keys root@slave1-vsp.com:~/.ssh/scp ~/.ssh/authorized_keys root@slave2-vsp.com:~/.ssh/ 4、确认能够互相免密码登录(master1-vsp.com服务器上执行该操作)使用root用户,通过ssh命令直接登录到其他4台服务器上。ssh slave1-vsp.comssh slave2-vsp.com 5、配置服务器之间的时钟同步使用root用户通过date命令查询该服务器的时区date如果不含CST字符,则将时区更改为正常的中国时区,用root用户执行ln命令ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime6、安装ntp服务(每台服务器都需要操作)    用root用户执行下面的命令,安装ntp服务。yum install ntp7、配置ntp服务(只在master1-vsp.com服务器上执行该操作)使用root用户编辑/etc/ntp.conf文件vi /etc/ntp.conf8、注释掉网络服务器地址,并在其后添加server  127.127.1.0  iburst     local  clock;并且在#restrict的下一行添加restrict 0.0.0.0 mask 0.0.0.0 nomodify。9、使用root用户执行下面的命令,因为chronyd与ntpd冲突systemctl disable chronyd10、使用root用户执行下面的命令,启动ntp服务。systemctl start ntpd.service     systemctl enable ntpd 11、使用root用户执行ntpdc -np命令,检查ntp状态ntpdc -np12、配置ntp客户机(在其他4台[非master1-vsp.com]服务器上执行该操作)使用root用户编辑/etc/ntp.conf文件vi /etc/ntp.conf13、注释掉网络服务器地址,并在其后添加server  192.168.43.36 iburst。注192.168.0.36 为ntp服务器的ip地址。14、使用root用户执行下面的命令,因为chronyd与ntpd冲突systemctl  disable  chronyd15、使用root用户执行下面的命令,启动ntp服务systemctl start ntpd.service     systemctl enable ntpd16、使用root用户执行ntpdc -np命令,检查ntp状态ntpdc -np使用命令手动同步一次时间ntpdate -u master1-vsp.com

七、安装Mysql

   1、检查mariadb数据,(只在master1-vsp.com服务器上执行该操作)rpm -qa | grep mariadb2、如果查询到数据,即下图所示,则通过rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_64 命令卸载该数据库rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_643、安装MySql数据库使用root用户通过tar -zxvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar命令解压MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar文件cd  /var/www/html/mysql-packagetar -xvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar4、使用root用户执行下面的命令安装MySql-server数据库rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm5、启动MySql-server服务service mysql start6、使用root用户执行下面的命令安装MySql-client数据库rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm7、使用root用户执行下面的命令检查MySql数据库的运行状态service mysql status使用root用户执行下面的命令设置MySql自启动chkconfig mysql on使用root用户执行下面的命令查看MySql服务,结果中2、3、4、5必须为开chkconfig --list |grep mysql8、修改root用户的密码,2条命令一起执行/usr/bin/mysqladmin -u root password 'vsp@admin'/usr/bin/mysqladmin -u root -h master1-vsp.com password 'vsp@admin'9、使用root用户登录mysql -u root -pvsp@admin10、创建mysql数据库执行下面的sql语句,创建4个数据库hive、scm和oozie 、sentry,创建用户hadoop并授权。密码默认为vsp@admincreate database hive default charset utf8 collate utf8_general_ci;create database scm default charset utf8 collate utf8_general_ci;create database sentry default charset utf8 collate utf8_general_ci;create database oozie default charset utf8 collate utf8_general_ci;CREATE USER 'hadoop'@'%' IDENTIFIED BY 'vsp@admin';CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'vsp@admin';GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%'  IDENTIFIED BY 'vsp@admin'; GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'localhost'  IDENTIFIED BY  'vsp@admin';GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'master1-vsp.com'  IDENTIFIED BY 'vsp@admin';grant all privileges on *.* to 'root'@'master1-vsp.com' identified by 'vsp@admin' with grant option;flush privileges;11、执行下面的sql语句,检查用户是否创建成功select user,host,password from mysql.user;

八、安装cm服务

 1、卸载openjdk(每台服务器都需要操作)redhat操作系统可能会自带openjdk,在安装CM服务之前需要将其卸载。使用rpm -qa | grep java命令查看系统是否安装了openjdk。rpm -qa | grep java2、系统中安装了其他版本的jdk,此时通过命令rpm -e --nodeps packageName,将其他的jdk卸载。rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64 java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64 tzdata-java-2015g-1.el7.noarch javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 3、安装oracle jdk1.7(每台服务器都需要操作)使用root用户创建softs目录mkdir /softs4、使用root用户将基础软件\jdk\下面的jdk-7u80-linux-x64.rpm文件上传到redhat操作系统/softs目录下,然后执行rpm -ivh jdk-7u80-linux-x64.rpm命令安装jdk。rpm -ivh /softs/jdk-7u80-linux-x64.rpm5、使用下面的命令查看刚刚安装的jdk目录cd /usr/java/ll6、配置java系统环境变量,使用vi编辑器编辑/etc/profile文件,在该文件末尾添加下列表格内容export JAVA_HOME=/usr/java/jdk1.7.0_80export JRE_HOME=/usr/java/jdk1.7.0_80/jreexport LD_LIBRARY_PATH=/usr/local/bin:/usr/local/lib:/usr/lib:/home/hadoop/hadoop-2.3.0-cdh5.1.2/lib/nativeexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$LD_LIBRARY_PATH:$PATH    7、使用source /etc/profile命令使得环境变量立即生效source /etc/profile8、使用java -version命令查询java版本java  -version9、安装cm服务(只在master1-vsp.com服务器上执行该操作)使用tar命令将文件进行解压 ,命令中的文件名是正确的,不要更改。tar -zxvf /var/www/html/cm5/cloudera-manager-centos7-cm5.7.0_x86_64.tar.gz -C /opt/chmod 777 -R /opt/cm-5.7.0 10、使用cp命令将mysql-connector-java-5.1.40-bin.jar文件复制到/opt/cm-5.7.0/share/cmf/lib/cp  /var/www/html/cm5/mysql-connector-java-5.1.40-bin.jar /opt/cm-5.7.0/share/cmf/lib/chmod 777 /opt/cm-5.7.0/share/cmf/lib/mysql-connector-java-5.1.40-bin.jar 11、使用命令配置cm使用的元数据库,如果机器名、用户名密码不是按照本文前面部分规划,请根据实际情况修改/opt/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hmaster1-vsp.com -uroot -pvsp@admin --scm-host master1-vsp.com scm scm scm12、通过vi命令修改/opt/cm-5.7.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名master1-vsp.com。vi /opt/cm-5.7.0/etc/cloudera-scm-agent/config.ini13、一条一条执行如下命令,即可以将agent同步到其他4台服务器上。scp -r /opt/cm-5.7.0 root@slave1-vsp.com:/opt/scp -r /opt/cm-5.7.0 root@slave2-vsp.com:/opt/14、在master1-vsp.com服务器上为server创建cloudera-scm用户useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scmchown cloudera-scm:cloudera-scm -R /opt/cm-5.7.0 15、在所有服务器上为agent创建cloudera-scm用户,不创建起不来agent,报unable to create the pidfile;useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-agent/ --create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scmchown cloudera-scm:cloudera-scm -R /opt/cm-5.7.0 16、使用root在所有节点机器上执行下面这条命令 !!!chmod 777 -R /opt/cm-5.7.017、在master1-vsp.com服务器上执行命令启动server以及agent服务/opt/cm-5.7.0/etc/init.d/cloudera-scm-server start/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start 18、在其他4台服务器上执行命令启动agent服务/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start

九、安装CDH5
1、打开浏览器并输入Cloudera Manager控制台地址,(如:http://master1-vsp.com:7180/)默认账号密码admin/admin1、

2、选择免费版本(cloudera express),继续

3、点击当前管理的主机,勾选集群中的所有的机器,选择继续

会弹出如下界面,点击使用parcel,再点击更多选项:

会弹出如下对话框:

点击右边的减号,全部删除

点击加号,添加parcel库,把以下一个库全部加入parcel,http://master1-vsp.com/CDH/5.7.0,如下图:

点击保存,会弹出如下界面,继续


4、选择自定义服务

选择HBase、HDFS、YARN(MR2 Included)以及ZooKeeper服务后点击继续







继续


Datanode目录,一般是根据子节点的分区情况填写;

Namenode目录一般是根据主节点的分区情况填写

继续

完成

CDH大数据平台搭建相关推荐

  1. CDH大数据平台搭建之SPARK集群搭建

    CDH大数据平台搭建之SPARK集群搭建 一.安装规划 二.下载 三.安装及配置 1.解压 2.修改配置文件 四.启动 五.JPS检查节点 一.安装规划 参考CHD大数据平台搭建之集群规划 二.下载 ...

  2. CDH大数据平台搭建之虚拟环境配置

    CDH大数据平台搭建之虚拟环境配置 前言 一.虚拟机网络配置 1.配置ip地址 2.验证配置是否成功 二.关闭防火墙 1.防火墙命令 2.禁用防火墙 三.虚拟机主机名配置 1.临时配置主机名 2.永久 ...

  3. CDH大数据平台搭建之KAFKA集群搭建

    CDH大数据平台搭建之KAFKA集群搭建 一.安装规划 二.下载KAFKA 三.安装及配置 1.先安装zookeeper 2.解压 3.新建文件夹 4.修改config目录server.propert ...

  4. CDH大数据平台搭建之VMware及虚拟机安装

    CDH大数据平台搭建-VMware及虚拟机安装 前言 一.下载所需框架 二.安装(略) 三.安装虚拟机 1.新建虚拟机(按照操作即可) 总结 前言 搭建大数据平台需要服务器,这里通过VMware +C ...

  5. CDH大数据平台搭建之FLUME安装

    CDH大数据平台搭建之FLUME安装 一.下载 二.安装及配置 1.解压 2.重命名文件夹 3.修改配置文件 一.下载 1.官网下载 2.网盘下载 提取码:cdh5 备注:官网下载的是apache版本 ...

  6. CDH大数据平台搭建之集群规划

    CDH大数据平台搭建之集群规划 前言 一.集群规模 二.集群规划 总结 前言 话说无规矩不成方圆,搭建CDH大数据平台之前需要的工作很多,首先,你需要计算公司每日的数据量,来确定需要多少服务器,确定好 ...

  7. CDH大数据平台搭建之JDK安装

    CHD大数据平台搭建之JDK安装 一.安装JDK 1.下载JDK 2.安装JDK 3.检查是否安装成功 一.安装JDK 1.下载JDK 1.JDK8官网下载 2.提供百度网盘供大家下载,提取码:cdh ...

  8. 大数据平台搭建及集群规划

    CDH大数据平台搭建之集群规划_码上_成功的博客-CSDN博客_cdh集群规划 大数据Hadoop分布式集群部署(详细版)_arnoldmp的博客-CSDN博客_分布式集群部署 大数据平台的硬件规划. ...

  9. 大数据基础——Hadoop大数据平台搭建

    文章目录 前言 Hadoop大数据平台搭建 一.Hadoop原理和功能介绍 二.Hadoop安装部署 三.Hadoop常用操作 总结 前言 分布式机器学习为什么需求大数据呢?随着海量用户数据的积累,单 ...

  10. 基于Ambari的大数据平台搭建

    同CDH部署类似,步骤分为ambari的部署和hdp的部署,先以1台为例(内存>6G,磁盘划分/至少40G,/data/10G),后续节点可以通过扩容方式加入集群,可参考:https://blo ...

最新文章

  1. 马斯克说到做到!特斯拉牌呼吸机“交货”,用Model 3零部件打造;网友:我滴神啊...
  2. hadoop 1.0.1集群安装及配置
  3. 堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出_WhatsApp缓冲区漏洞曝光 攻击者可通过MP4文件执行远程代码...
  4. mongodb-$type、limit、skip、sort方法、索引、聚合
  5. 开发者必备Docker命令
  6. iOS 使用Touch ID 校验[新增 iOS9 三种错误]
  7. linux进程的管理,显示及杀死
  8. 最短路径——Floyd算法及优化(蓝桥杯试题集)
  9. python反转排列_生成列表元素对的每个排列,而不重复或反转对
  10. Android:新建一个Activity(隐式/显式),并携带数据
  11. 使用redis保存验证码
  12. 腾讯社交广告大赛 —— 特征与模型介绍
  13. 这本书非常值得一读!《微习惯》读后感
  14. Shell按关键字删除重复行
  15. 启动springboot报错:程序包org.springframework.boot不存在
  16. BigWorld文件夹结构
  17. win10应用已被java安全阻止,win10系统不能运行java提示“应用程序已被安全设置被阻止”的图文方法...
  18. java createfile,Java Filer.createSourceFile方法代碼示例
  19. 敏捷与结构性模块化(二)
  20. C语言数字图像处理---1.2 彩色图像灰度化和二值化

热门文章

  1. NUC980开源项目9-官方Kernel编译
  2. 推荐一些学习SEO的优秀书籍附pdf电子书下载地址
  3. ASP.NET-动软代码生成器的使用
  4. 【Virtualbox虚拟机Ubuntu系统安装VBoxGuestAdditions.iso增强包解决办法】
  5. JavaWeb实现视频在线播放
  6. 有关坐标系常见问题的问与答(转自ESRI中国社区)
  7. 软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)...
  8. 数据库课程设计实验报告--图书管理系统
  9. 分享五款可以大幅度提升办公效率的实用软件
  10. 磁力计的基本工作原理