CDH大数据平台搭建

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 hadoop
    2、验证hadoop用户是否成功,输入命令后,用户变成了hadoop表示成功
    su hadoop
    3、使用hadoop用户创建目录
    su hadoop
    mkdir -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、执行完上句执行下面语句,确定进入的路径正确
    pwd
    6、使用hadoop用户登陆各系统节点,执行如下命令查看上图创建目录是否成功
    cd  /home/hadoop/hadoop-2.3.0-cdh5.1.2/video-analysis-alg/
    7、执行完上句执行下面语句,确定进入的路径正确
    pwd
    8、使用root用户为目录赋权
    chmod o+rx -R /home/hadoop     

三、服务器hostname配置

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

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

   1、修改swappiness,建议将/proc/sys/vm/swappiness设置为0,默认值为60
    sysctl vm.swappiness=0
    echo vm.swappiness=0 >> /etc/sysctl.conf
    2、执行如下命令以在重启后保存上条命令设置结果,该设置重启后不会丢失,执行如下命令:
    cat >> /etc/sysctl.conf <<EOF
	vm.swappiness = 10
	EOF
	3、修改transparent_hugepage,使用root用户执行以下命令可立即生效
	echo never >/sys/kernel/mm/transparent_hugepage/defrag
	4、使用root用户执行如下命令可永久生效
	echo "echo never >  /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local 
	5、执行下面命令验证上面的永久生效命令是否执行成功,
	cat /etc/rc.local
	6、关闭防火墙
	#停止firewall
	systemctl stop firewalld.service
	#禁止firewall开机启动
	systemctl disable firewalld.service 
	#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
	firewall-cmd --state
	7、关闭selinux   使用root用户执行如下命令:
	setenforce 0
	sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
	sed -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/html
  3、建立临时web服务(只在master1-vsp.com服务器上执行该操作)
  使用root用户执行service httpd status命令,如果出现Loaded: not-found (Reason: No such file or directory)相关字样则表示该操作系统没有http服务
  service httpd status
  4、以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.back
  mv  /etc/yum.repos.d/CentOS-Debuginfo.repo  /etc/yum.repos.d/CentOS-Debuginfo.repo.back
  mv  /etc/yum.repos.d/CentOS-Media.repo  /etc/yum.repos.d/CentOS-Media.repo.back
  mv  /etc/yum.repos.d/CentOS-Vault.repo  /etc/yum.repos.d/CentOS-Vault.repo.back
  8、再次执行ll /etc/yum.repos.d/命令查看一下原有的配置文件是否都已经更名了,如果没有则文件再次更名。
  9、配置软件源(该步骤需要在每台机器上执行)
  使用root用户执行echo命令,在/etc/yum.repos.d/目录创建名称为os.repo文件。
  echo [base] >> /etc/yum.repos.d/os.repo
  echo name=redhat-7.2 Base >> /etc/yum.repos.d/os.repo
  echo baseurl = http://master1-vsp.com/redhat/>> /etc/yum.repos.d/os.repo
   echo gpgcheck = 0 >> /etc/yum.repos.d/os.repo
   10、通过cat /etc/yum.repos.d/os.repo命令查看文件是否正确创建并且正确写入了对应的文字
   cat /etc/yum.repos.d/os.repo
   使用root用户执行yum clean all命令清理软件源
   yum clean all
   11、安装Web服务器(只在master1-vsp.com服务器上执行该操作)
   使用root用户执行yum install httpd命令安装http服务
   yum install httpd
   12、启动http服务(只在master1-vsp.com服务器上执行该操作)
   ps -ef|grep python             chkconfig httpd  on
   13、执行上面的命令后找到端口号为80,进程名称为SimpleHTTPServer的进程号,并执行kill命令,杀死该进程
   kill -9 12280
   14、使用root用户执行下面命令启动web服务器,并将之设置为自动启动。
   systemctl start httpd                         
   systemctl enable httpd.service      

六、安装基础服务

	1、建立root用户之间的互信,创建密钥(每台服务器都需要操作)
	cd ~
	ssh-keygen -t rsa
	2、创建共享文件(只在master1-vsp.com服务器上执行该操作)
	cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
	chmod 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.com
	ssh slave2-vsp.com 
	5、配置服务器之间的时钟同步
	使用root用户通过date命令查询该服务器的时区
	date
	如果不含CST字符,则将时区更改为正常的中国时区,用root用户执行ln命令
	ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
	6、安装ntp服务(每台服务器都需要操作)    
	用root用户执行下面的命令,安装ntp服务。
	yum install ntp
	7、配置ntp服务(只在master1-vsp.com服务器上执行该操作)
	使用root用户编辑/etc/ntp.conf文件
	vi /etc/ntp.conf
	8、注释掉网络服务器地址,并在其后添加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 chronyd
	10、使用root用户执行下面的命令,启动ntp服务。
	systemctl start ntpd.service     
	systemctl enable ntpd 
	11、使用root用户执行ntpdc -np命令,检查ntp状态
	ntpdc -np
	12、配置ntp客户机(在其他4台[非master1-vsp.com]服务器上执行该操作)
	使用root用户编辑/etc/ntp.conf文件
	vi /etc/ntp.conf
	13、注释掉网络服务器地址,并在其后添加server  192.168.43.36 iburst。注192.168.0.36 为ntp服务器的ip地址。
	14、使用root用户执行下面的命令,因为chronyd与ntpd冲突
	systemctl  disable  chronyd
	15、使用root用户执行下面的命令,启动ntp服务
	systemctl start ntpd.service     
	systemctl enable ntpd
	16、使用root用户执行ntpdc -np命令,检查ntp状态
	ntpdc -np
	使用命令手动同步一次时间
	ntpdate -u master1-vsp.com    

七、安装Mysql

   1、检查mariadb数据,(只在master1-vsp.com服务器上执行该操作)
    rpm -qa | grep mariadb
    2、如果查询到数据,即下图所示,则通过rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_64 命令卸载该数据库
    rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_64
    3、安装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-package
    tar -xvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar
    4、使用root用户执行下面的命令安装MySql-server数据库
    rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm
    5、启动MySql-server服务
    service mysql start
    6、使用root用户执行下面的命令安装MySql-client数据库
    rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm
    7、使用root用户执行下面的命令检查MySql数据库的运行状态
    service mysql status
    使用root用户执行下面的命令设置MySql自启动
    chkconfig mysql on
    使用root用户执行下面的命令查看MySql服务,结果中2、3、4、5必须为开
    chkconfig --list |grep mysql
    8、修改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@admin
    10、创建mysql数据库
    执行下面的sql语句,创建4个数据库hive、scm和oozie 、sentry,创建用户hadoop并授权。密码默认为vsp@admin
    create 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 java
	2、系统中安装了其他版本的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 /softs
	4、使用root用户将基础软件\jdk\下面的jdk-7u80-linux-x64.rpm文件上传到redhat操作系统/softs目录下,然后执行rpm -ivh jdk-7u80-linux-x64.rpm命令安装jdk。
	rpm -ivh /softs/jdk-7u80-linux-x64.rpm
	5、使用下面的命令查看刚刚安装的jdk目录
	cd /usr/java/
	ll
	6、配置java系统环境变量,使用vi编辑器编辑/etc/profile文件,在该文件末尾添加下列表格内容
	export JAVA_HOME=/usr/java/jdk1.7.0_80
	export JRE_HOME=/usr/java/jdk1.7.0_80/jre
	export LD_LIBRARY_PATH=/usr/local/bin:/usr/local/lib:/usr/lib:/home/hadoop/hadoop-2.3.0-cdh5.1.2/lib/native
	export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
	export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$LD_LIBRARY_PATH:$PATH    
	7、使用source /etc/profile命令使得环境变量立即生效
	source /etc/profile
	8、使用java -version命令查询java版本
	java  -version
	9、安装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 scm
	12、通过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.ini
	13、一条一条执行如下命令,即可以将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-scm
	chown 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-scm
	chown cloudera-scm:cloudera-scm -R /opt/cm-5.7.0 
	16、使用root在所有节点机器上执行下面这条命令 !!!
	chmod 777 -R /opt/cm-5.7.0
	17、在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目录一般是根据主节点的分区情况填写
在这里插入图片描述
继续
在这里插入图片描述
完成
在这里插入图片描述
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据同盟会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值