CDH大数据平台搭建

Hadoop是apache旗下的一套开源软件平台, 主要对海量数据进行分布式处理。
本次部署,计划使用5台服务器,服务器磁盘规划如下:
CDH大数据平台搭建_第1张图片
分区挂载完成以后,使用root用户执行对目录/data授权。每台服务器都执行此命令。
chmod 777 -R /data

一、基础运行平台部署包说明
平台大数据部署包共提供cm5,cdh,Redhat三个程序部署包。其中cm5为管理控制台,是必装包;cdh为基础运行平台的主程序包,是 必装包;Redhat为linux系统操作精装版。
CDH大数据平台搭建_第2张图片
二、创建组与用户(每台服务器都需要操作)

	   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 </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 [email protected]:~/.ssh/
		scp ~/.ssh/authorized_keys [email protected]:~/.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 [email protected]:/opt/
		scp -r /opt/cm-5.7.0 [email protected]:/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、
CDH大数据平台搭建_第3张图片
2、选择免费版本(cloudera express),继续
CDH大数据平台搭建_第4张图片
3、点击当前管理的主机,勾选集群中的所有的机器,选择继续
CDH大数据平台搭建_第5张图片
会弹出如下界面,点击使用parcel,再点击更多选项:
CDH大数据平台搭建_第6张图片
会弹出如下对话框:
CDH大数据平台搭建_第7张图片
点击右边的减号,全部删除
CDH大数据平台搭建_第8张图片
点击加号,添加parcel库,把以下一个库全部加入parcel,http://master1-vsp.com/CDH/5.7.0,如下图:
CDH大数据平台搭建_第9张图片
点击保存,会弹出如下界面,继续
CDH大数据平台搭建_第10张图片
CDH大数据平台搭建_第11张图片
4、选择自定义服务
CDH大数据平台搭建_第12张图片
选择HBase、HDFS、YARN(MR2 Included)以及ZooKeeper服务后点击继续
CDH大数据平台搭建_第13张图片
CDH大数据平台搭建_第14张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CDH大数据平台搭建_第15张图片
继续
CDH大数据平台搭建_第16张图片
在这里插入图片描述
Datanode目录,一般是根据子节点的分区情况填写;
在这里插入图片描述
Namenode目录一般是根据主节点的分区情况填写
CDH大数据平台搭建_第17张图片
继续
CDH大数据平台搭建_第18张图片
完成
CDH大数据平台搭建_第19张图片
CDH大数据平台搭建_第20张图片

你可能感兴趣的:(大数据)