1.准备1.操作系统版本#cat/etc/redhat-releaseCentOSrelease6.5(Final)#uname–aLinuxenc-bigdata052.6.32-431.el6.x86_64#1SMPFriNov2203:15:09UTC2013x86_64x86_64x86_64GNU/Linux2。软件前期准备2-1.jdk版本:jdk-7u80-linux-x64.tar.gzjdk1.7.80下载地址2-2。mysql版本:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gzmysql-5.7.17-x86_64下载地址mysql2-3各版本下载地址。clouderamanager版本:cloudera-manager-el6-cm5.8.0_x86_64.tar.gzcloudera-manager-el6-cm5.8.0_x86_64.tar.gz下载地址cloudera-manager5所有版本下载地址2-4。parecel包版本:CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcelCDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1manifest.jsonCDH-5.8。0-1.cdh5.8.0.p0.42-el6.parcel下载地址注:由于linux运行版本为centos6.5x64,所以选择的clouderamanager和parecel包版本对应el6版本。如果你的linux系统版本是centos7、ubuntu等,下载对应的clouderamanager和parecel版本进行安装;cloudera官网关于CM5.8.0的安装说明2.cm5.8.0安装前的环境配置1.修改集群主机名hostname#vim/etc/sysconfig/network:HOSTNAME=enc-bigdata05重启服务器shutdown-rnow,the配置文件网络生效,其余主机依次修改主机名,enc-bigdata0[1-6]修改系统ip和hostname的映射:/etc/hosts2-1。修改映射关系#vim/etc/hosts2-2.将文件hosts复制到集群的每个节点#forain{1..6};执行scp/etc/hostsenc-bigdata0$a:/etc/hosts;done注意:删除localhost的本地映射关系,或者放在文件末尾127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain62-3。#forain{1..6}检查集群中各节点的hosts是否被修改;执行sshenc-bigdata0$acat/etc/hosts;完成3。设置ssh免密码登录,打通集群各节点3-1.创建公钥和私钥#ssh-keygen-trsa-P''注意:在集群的每个节点上运行上面的命令来创建当前用户的公钥和私钥;每个用户都可以创建自己的ssh公钥和私钥,打通各个节点,使用其他用户(非root用户)安装CDH5.8.0;3-2.把每个节点的公钥id_rsa.pub放到认证文件authorized_keys;#forain{1..6};执行sshenc-bigdata0$acat/root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys;完成3-3。将认证文件authorized_keys复制并发送到各节点:/root/.ssh/authorized_keys#forain{1..6};做scp/root/.ssh/authorized_keysenc-bigdata0$a:/root/.ssh/authorized_keys;完成4。安装jdk1.7.0_804-1。将jdk解压到指定路径#tar-zxvfjdk-7u80-linux-x64.tar.gz-C/usr/local/4-2.将解压后的jdk1.7.0_80目录发送到各节点指定目录#forain{1..6};scp-r/usr/local/jdk1.7.0_80/enc-bigdata0$a:/usr/local/;完成4-3。修改配置文件/etc/profile#vim/etc/profile#installjdk-7u80-linux-x64exportJAVA_HOME=/usr/local/jdk1.7.0_80exportJAVA_BIN=$JAVA_HOME/binexportJAVA_LIB=$JAVA_HOME/libexportCLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jarexportPATH=$JAVA_BIN:$PATH4-4.将配置文件复制并发送到每个节点下#forain{1..6};scp-r/etc/profileenc-bigdata0$a:/etc/profile;done#source/etc/profile#forain{1..6};执行sshenc-bigdata0$a/usr/local/jdk1.7.0_80/bin/java-version;完成5。修改系统参数5-1.关闭firewall#serviceiptablesstatus/stop#forain{1..6};执行sshenc-bigdata0$a/etc/init.d/iptables状态;在{1..6}中完成#;做sshenc-bigdata0$a/etc/init.d/iptables停止;在{1..6}中完成#;关闭sshenc-bigdata0$achkconfigiptables;在{1..6}中完成#;执行sshenc-bigdata0$achkconfigiptables--list;完成5-2。关闭SELINUX#setenforce0(暂时有效)#vim/etc/selinux/config(permanent):SELINUX=disabled#forain{1..6};scp/etc/selinux/configenc-bigdata0$a:/etc/selinux/config;完成5-3。修改swappiness#echo"vm.swappiness=0">>/etc/sysctl.conf(永久有效)#echo0>/proc/sys/vm/swappiness(暂时有效)#forain{1..6};执行sshenc-bigdata0$aecho"vm.swappiness=0">>/etc/sysctl.conf;完成5-4。编辑/etc/security/limits.conf#vim/etc/security/limits.confsoftnofile65535hardnofile65535#forain{1..6};scp/etc/security/limits.confenc-bigdata0$a:/etc/security/limits.conf;完成5-5。修改/etc/rc.local(bootruncommand)#vim/etc/rc.local(permanent)echonever>/sys/kernel/mm/transparent_hugepage/defragtemporary#forain{1..6};做sshenc-bigdata0$aechonever>/sys/kernel/mm/transparent_hugepage/defrag;done3、安装mysql5.7.17查看之前是否安装过mysql,删除之前安装的mysql#rpm-qa|grepmysqlmysql-libs-5.1.71-1.el6.x86_64#rpm-emysql-libs-5.1.71-1.el6.x86_64--nodeps#find/-namemysql#rm-rf...注意:如果你不能卸载它,你将被强制卸载它。--nodeps--force添加帐户,指定主目录,指定登录级别#usedelmysql#groupdelmysql#mkdir/usr/local/mysql#useradd-d/usr/local/mysql/-s/sbin/nologin-mmysql#chown-Rmysql:mysql/usr/local/mysql#chmod755/usr/local/mysql解压到指定路径:/usr/local/mysql#tar-zxvfmysql-5.7.17-linux-glibc2.5-x86_64.tar.gz-C/tmp/#mv/tmp/mysql-5.7.17-linux-glibc2.5-x86_64/*/usr/local/mysql/说明:将解压安装包中的文件复制到mysql#mkdir/usr/local/mysql/data说明:创建数据存放路径#chown-Rmysql:mysql/usr/local/mysql/4.安装和初始化#/usr/local/mysql/bin/mysql_install_db--user=mysql--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/#cp-a/usr/local/mysql/support-files/my-default.cnf/etc/my.cnf#cp-a/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld#/usr/local/mysql/bin/mysqld_safe--user=mysql&5.启动mysqld#/etc/init.d/mysqldstatus#/etc/init.d/mysqldrestart#chkconfigmysqldon#chkconfigmysqld--list添加快捷方式:ln-s/usr/local/mysql/bin/mysql/usr/bin/6.初始密码mysql5.7会在root用户家目录下生成一个初始化密码代码。#cat/root/.mysql_secretPasswordsetforuser'root@localhost'at2016-06-0115:23:25FhCmc,k50X/y#mysql-uroot-p(inputinitializationpassword)//修改密码mysql>SET密码=密码('123qwe');mysql>刷新权限;添加远程访问第一种方法:改表mysql>usemysql;mysql>updateusersethost='%'whereuser='root';方法二:Authorizemysql>GRANTALLPRIVILEGESON*.*TO'root'@'%';mysql>FLUSHPRIVILEGES问题:忘记初始化密码#servicemysqldstop#vim/etc/my.cnf添加skip-grant-表在最后#servicemysqldstart#mysql-uroot-p(password-freelogin)mysql>setpasswordfor'root'@'localhost'=password('newpassword');mysql>flushprivileges;configure/etc/my.cnf[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port=3306#设置mysql安装目录basedir=/usr/local/mysql#设置mysql数据库的数据存放目录datadir=/usr/local/mysql/datatmpdir=/usr/local/mysql/tmp#允许的最大连接数max_connections=2000#默认使用的字符集server是8位编码的latin1字符集character-set-server=utf8#新建表时会使用的默认存储引擎default-storage-engine=INNODB#设置不区分大小写(0:区分大小写;1:不区分大小写)lower_case_table_names=1#安装方式:updatemysql.usersetauthentication_string=password('123qwe')whereuser='root';#skip-grant-tables#忘记初始化密码为创建数据库mysql>创建数据库amondefaultcharsetutf8collat??eutf8_general_ci;#activitymonitormysql>createdatabasehivedefaultcharsetutf8collat??eutf8_general_ci;#hivemysql>创建数据库oozieultdefaultcharsetutf8collat??eutf8_general_ci>set#ooziemysqlhivedatadebasecollat??eutf8_general_ci;#hue新建用户(root用户也可以扩展)mysql>createuser'admin'@'%'identifiedby'Admin@123';mysql>grantallprivilegeson*.*to'admin'@'%';mysql>刷新权限;四、安装clouderamanager1。解压cloudera-manager-el6-cm5.8.0_x86_64.tar.gz到指定路径:/opt#tar-zxvfcloudera-manager-el6-cm5.8.0_x86_64.tar.gz-C/opt/#forain{1..6};执行scp-r/opt/cm-5.8.0/enc-bigdata0$a:/opt/;done2。修改配置文件#vim/opt/cm-5.8.0/etc/cloudera-scm-agent/config.iniserver_host=enc-bigdata05#为一个in{1..6};执行scp-r/opt/cm-5.8.0/etc/cloudera-scm-agent/config.inienc-bigdata0$a:/opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini;完成3。创建CDH内置数据库scm#mvmysql-connector-java-5.1.40-bin.jar/opt/cm-5.7.0/share/cmf/lib#/opt/cm-5.7.1/share/cmf/schemascm_prepare_database.shmysql-hlocalhost-uroot–pAdmin@123--scm-hostlocalhostscmscmscmscm_prepare_database.shdatabasetypeserveripusernamepassword-scm-host[clouderamanagerserver所在的服务器]scmscmscm;4.将parecel包复制到cdh-server指定目录下,修改CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1文件名#cpCDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel/opt/cloudera/parcel-repo/#cpCDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1/opt/cloudera/parcel-repo/#cpmanifest.json/opt/cloudera/parcel-repo/#mv/opt/cloudera/parcel-repo/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1/选择/cloudera/parcel-repo/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha4。启动cloudera-scm-server#/opt/cm-5.8.0/etc/init.d/cloudera-scm-server启动/状态/停止5.启动cloudera-scm-agent#forain{1..6};执行sshenc-bigdata0$a/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent启动;完成6.问题:cloudera-scm-Agent启动失败:Unabletocreatethepidfile原因:Unabletocreate/opt/cm-5.8.0/run/cloudera-scm-agent解决方法:#mkdir/opt/cm-5.8.0/运行/cloudera-scm-agent#chown-Rcloudera-scm:cloudera-scm/opt/cm-5.8.0/run/cloudera-scm-agent7.输入网址:http://IP:7180/(configureCDH5.8.0)enc-bigdata0[1-6].enc.cn##点击方式注意:修改jdk主目录非常重要,防止集群主机无法检测到jdk;注意:确保所有检查都成功,防止后面报错注意:如果hive的metabase是安装在mysql中的,需要将相应的数据库驱动复制到hive家目录下的lib中;#mvmysql-connector-java-5.1.40-bin.jar/opt/cloudera/parcels/CDH-5.6.0-1。cdh5.6.0.p0.45/lib/hive/lib将对应的数据库驱动复制到对应的服务器目录下,防止数据库连接失败;##5.问题##关于namenode的内存问题,如果namenode的内存不够用,会导致namenode服务进程死掉问题描述:无法打开/opt/cm-5.7.0/run/cloudera-scm-agent/process/1033-hdfs-NAMENODE/supervisord.conf,Permissiondeny解决方法:增加内存,检测不到jdk存在解决方法:设置JDK主目录oozie网页无法显示解决方法:上传ext-2.2.zip到指定路径:/var/lib/oozie6.小结本章内容仅供参考,具体请参考官方文档,谢谢!!
