Cloudera大数据平台环境搭建CDH傻瓜式说明书.docx
- 文档编号:28539380
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:22
- 大小:60.95KB
Cloudera大数据平台环境搭建CDH傻瓜式说明书.docx
《Cloudera大数据平台环境搭建CDH傻瓜式说明书.docx》由会员分享,可在线阅读,更多相关《Cloudera大数据平台环境搭建CDH傻瓜式说明书.docx(22页珍藏版)》请在冰豆网上搜索。
Cloudera大数据平台环境搭建CDH傻瓜式说明书
Cloudera大数据平台环境搭建
(CDH5.13.1版)
版本
v1.0
作者
郭维忠
发布日期
2018-03-10
1.基础环境
1.1.软件环境
本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下:
NO.
软件名称
版本
1.
操作系统
Centos7.464位
2.
JDK
jdk-8u151-linux-x64
3.
ClouderManager
5.13.1
4.
CDH
5.13.1
5.
数据库
Mysql5.7
6.
JDBC
mysql-connector-java-.jar
1.2.配置规划
本次安装共5台服务器,服务器配置及用途如下:
NO.
机器名称
内网IP
配置
用途
1.
node168
8C/32Gb/1TB
主,CM,MysqlDB
2.
node169
9
8C/32Gb/1TB
从
3.
node170
70
8C/32Gb/1TB
从
4.
node171
71
8C/32Gb/1TB
从
5.
node172
72
8C/32Gb/1TB
从
1.3.所需要的软件资源
1)JDK环境:
JDK版本:
51
jdk-8u151-linux-x64.rpm
下载地址:
2)CM包:
CM版本:
5.13.1
下载地址:
3)CDH包
CDH版本:
5.13.1,
;
.sha1;
manifest.json
下载地址:
4)JDBC连接jar包:
jar包版本:
5.1.43,
mysql-connector-java-5.1.43.jar
下载地址:
1.4.修改机器名(所有节点)
1)修改机器名称
#hostnamectlset-hostnamexxx//设置机器名
#hostname//查看本机名
这种方式,在Centos7中可以永久性改变主机名称。
2)每个节点机器,都要配置hosts
#vi/etc/hosts
内容都改为:
1localhost//建议保留此行
node168
node169
node170
node171
node172
1.5.设置防火墙(所有节点)
注:
为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。
防火墙常用命令:
#firewall-cmd--state(查询防火墙状态)
#systemctlstopfirewalld.service(关闭防火墙)
#systemctlstartfirewalld.service(开启防火墙)
#systemctldisablefirewalld.service(禁止firewall开机启动)
设置防火墙策略,在所有节点执行下面脚本(执行前要启动防火墙):
//集群机器间可以相互访问
firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"
firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"
firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"
firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"
firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"
//设置可以访问的端口
firewall-cmd--permanent--add-port=0-65535/tcp
firewall-cmd--reload
注意:
需要在所有的节点上执行,因为涉及到的端口太多了,临时开放所有端口是为了安装起来方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。
1.6.配置免密码登录SSH
将子节点设置为从主节点ssh无密码登陆(主节点访问从节点需要无密码互通,否则后面会出现问题)
在主节点上执行:
#cd~//进入到根目录
#ssh-keygen-trsa
一路回车,生成无密码的密钥对。
把公钥拷贝至node169服务器上?
:
#scp/root/.ssh/id_rsa.pubroot@node169:
~//输入node169机器上root用户密码拷备成功
登录到node169服务器上:
然后在node169服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,如果没有可以新建):
#catid_rsa.pub>>~/.ssh/authorized_keys
如果提示下面信息,则需要创建./ssh目录:
-bash:
/root/.ssh/authorized_keys:
Nosuchfileordirectory
//创建/.ssh目录,再追加公钥内容
#mkdir~/.ssh
#catid_rsa.pub>>~/.ssh/authorized_keys
并设置authorized_keys的访问权限:
#chmod600~/.ssh/authorized_keys
测试:
在node168点上执行sshnode169,正常情况下,不需要密码就能直接登陆进去了。
在node168节点出现下面表示成功登录node169节点:
以同样的方式将公钥拷贝至其他节点服务器上。
1.7.关闭SELINUX(所有节点)
关闭linuxSELINUX安全内核
#setenforce0(临时生效)
修改/etc/selinux/config下的SELINUX=disabled(重启后永久生效)
#vi/etc/selinux/config
内容增加:
SELINUX=disabled
重启后生效:
#reboot
查看SELINUX是否关闭:
#sestatus
(在Centos7中遇到SELINUX无法关闭的问题,重新启动机器恢复正常)
1.8.修改Linux内核参数(所有节点)
为避免安装过程中出现的异常问题,首先调整Linux内核参数。
1)设置swappiness,控制换出运行时内存的相对权重,Cloudera建议将swappiness设置为10:
//查看swappiness
#cat/proc/sys/vm/swappiness
//永久性修改,执行下面两条命令
#sysctl-wvm.swappiness=10
#echovm.swappiness=10>>/etc/sysctl.conf
2)关闭透明大页面:
自CentOS6版本开始引入了TransparentHugePages(THP),从CentOS7版本开始,该特性默认就会启用。
尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。
首先查看透明大页是否启用,[always]never表示已启用,always[never]表示已禁用:
#cat/sys/kernel/mm/transparent_hugepage/defrag
[always]madvisenever
#cat/sys/kernel/mm/transparent_hugepage/enabled
[always]madvisenever
以上状态就说明是启用的。
临时关闭(重启机器会变回默认开启状态):
#echonever>/sys/kernel/mm/transparent_hugepage/defrag
#echonever>/sys/kernel/mm/transparent_hugepage/enabled
永久关闭:
//编辑/etc/rc.d/rc.local
#vi/etc/rc.d/rc.local
//在文件后添加下面内容:
iftest-f/sys/kernel/mm/transparent_hugepage/enabled;then
echonever>/sys/kernel/mm/transparent_hugepage/enabled
fi
iftest-f/sys/kernel/mm/transparent_hugepage/defrag;then
echonever>/sys/kernel/mm/transparent_hugepage/defrag
fi
保存退出,然后赋予rc.local文件执行权限:
#chmod+x/etc/rc.d/rc.local
重启系统,以后再检查THP状态,显示状态被禁用了。
3)修改文件句柄数:
修改系统文件句柄数限制:
//查看文件句柄数,显示1024,显然太小
#ulimit-n
1024
//修改限制
#vi/etc/security/limits.conf
//在文件后加入下面内容:
*softnofile100000
*hardnofile100000
修改后需要重启机器。
1.9.其他安装与配置(所有节点)
为避免安装过程中出现异常问题,安装相关依赖包:
#yum-yinstallpsmiscMySQL-pythonatbcbind-libsbind-utilscups-clientcups-libscyrus-sasl-gssapicyrus-sasl-plainedfusefuse-libshttpdhttpd-toolskeyutils-libs-develkrb5-devellibcom_err-devellibselinux-devellibsepol-devellibverto-develmailcapnoarchmailxmod_sslopenssl-develpcre-develpostgresql-libspython-psycopg2redhat-lsb-coreredhat-lsb-submod-securityx86_64spaxtimezlib-devel
#yuminstall-ypython-lxml
#yuminstallkrb5-develcyrus-sasl-gssapicyrus-sasl-develibxml2-devellibxslt-develmysqlmysql-developenldap-develpython-develpython-simplejsonsqlite-devel
#chmod+x/etc/rc.d/rc.local
#yum-yinstallrpcbind
#systemctlstartrpcbind
#echo"systemctlstartrpcbind">>/etc/rc.d/rc.local
1.10.配置NTP服务
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。
具体建设过程如下:
所有节点安装相关组件:
#yum?
install?
?
ntp?
?
ntpdate?
?
-y
NTP服务端(主节点):
1)查找时间同步服务器:
打开网址,内容如下:
2)编辑/etc/ntp.conf:
#vi/etc/ntp.conf
//在文件中输入上面网页内容:
server
server
server
server
3)启动ntp服务:
#systemctlstart?
ntpd
4)配置开机启动:
#systemctl?
enable?
?
ntpd.service?
注意:
如果ntpd开机启动失效,有可能是因为安装了chronyd?
并且是开机自启状态,所以导致ntpd开机自启失败。
#查看?
chronyd设置状态
#systemctlstatuschronyd
显示如下:
以面表明,chronyd显示为开机启动状态。
将chronyd设为禁用状态:
#systemctldisablechronyd.service
此时,NTP的服务开机自启动完成!
5)检查是否设置成功:
#ntpq?
?
-p
//更新时间
#timedatectl?
NTP客户端(所有从节点):
6)远程客户端时间同步测试
#date
#ntpdate
是NTP服务端IP,显示如下信息,测试成功:
7)客户端设置计划任务,每30分钟同步时间
#crontab-e
//加入内容:
0-59/30****/usr/sbin/ntpdate&&/sbin/hwclock-w
8)设置定时任务开机启动
//设置开机启动
#systemctlenablecrond.service
//查看状态
#systemctlstatuscrond
1.11.安装oracleJDK1.8(所有节点)
下载rpm安装包jdk-8u151-linux-x64.rpm
CentOS系统一般自带OpenJdk,需要卸载掉自带的OpenJdk,使用
#rpm-qa|grepjava
查询java相关的包,使用
#rpm-e–nodeps+包名
强制卸载掉,下面安装oralceJDK
#rpm-ivhjdk-8u151-linux-x64.rpm
配置JAVA_HOME环境变量:
修改/etc/profile文件配置环境变量,执行命令:
#vi/etc/profile
在profile文件最后,输入下面内容,保存并退出。
exportJAVA_HOME=/usr
exportPATH=$PATH:
$JAVA_HOME/bin
执行下面命令,让配置生效
#source/etc/profile//使修改立即生效
#echo$PATH//查看PATH值
#echo$JAVA_HOME//查看JAVA_HOME值
在Centos7中修改/etc/profile文件配置环境变量,机器启动后有时不生效,可以修改/etc/bashrc文件配置环境变量:
#vi/etc/bashrc
//在文件最后加入:
exportJAVA_HOME=/usr
exportPATH=$PATH:
$JAVA_HOME/bin
//使修改立即生效
#source/etc/bashrc
//查看JAVA_HOME值
#echo$JAVA_HOME
1.12.Mysql安装(主节点)
到官网选择对应安装包:
1)下载安装包
#wget
2)解压安装包
#tar-xvf
//解压后文件列表:
3)按次序安装
按common–>libs–>client–>server的顺序安装:
#rpm-ivh
#rpm-ivh
#rpm-ivh
#rpm-ivh
#rpm-ivh
//安装下面包,否则Hue安装报连接错误
#rpm-ivh
4)启动数据库
#systemctlstartmysqld
查看状态:
#systemctlstatusmysqld
5)修改MySQL初始密码
1、先修改配置文件/etc/f令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:
skip-grant-tables
2、重启MySQL
#servicemysqldrestart
3、免密码登录MySQL。
#mysql
4、mysql客户端执行如下命令,修改root密码
mysql>usemysql;
mysql>UPDATEuserSETauthentication_string=password('your-password')WHEREhost='localhost'ANDuser='root';
mysql>selecthost,user,authentication_string,password_expiredfromuser;
mysql>updateusersetpassword_expired='N'wherepassword_expired='Y'//密码不过期
mysql>updateusersethost='%'whereuser='root'andhost='localhost';//远程可访问
mysql>flushprivileges;//刷新
mysql>exit;//退出
5、修改配置文件/etc/f删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题)
#servicemysqldrestart//重启Mysql
2.安装CM
2.1.传包,解包
在主节点上下载相关软件包,这里将软件包下载到/data/cdh/目录下。
#cd/data/cdh
下载MysqlJDBC包:
#wget
下载CM:
#wget
下载CDH:
#wget
#wget.sha1
#wget
将CM解压到/opt/目录:
#tar-zxvf-C/opt/
#ls/opt/
clouderacm-5.13.1
2.2.创建数据库
在主节点上:
#mysql-uroot-p//加参数-指定本机方式,否则可能不允许执行grant
Enterpassword:
\\输入数据库密码
//在MariaDB[(none)]>命令状态输入下面脚本:
createdatabasehiveDEFAULTCHARSETutf8COLLATEutf8_general_ci;
createdatabaseamonDEFAULTCHARSETutf8COLLATEutf8_general_ci;
createdatabasehueDEFAULTCHARSETutf8COLLATEutf8_general_ci;
createdatabasemonitorDEFAULTCHARSETutf8COLLATEutf8_general_ci;
createdatabaseoozieDEFAULTCHARSETutf8COLLATEutf8_general_ci;
grantallprivilegeson*.*toroot@localhostidentifiedby'root'withgrantoption;
grantallon*.*toroot@"%"Identifiedby"root";
flushprivileges;
exit;
//复制MysqlJDBC包到/opt/cm-5.13.1/share/cmf/lib/目录
#cp/opt/cm-5.13.1/share/cmf/lib/
//初始化CM,执行下面脚本
#mysqlcm-hnode168-uroot-proot--scm-hostnode168scmscmscm
//如果出现下面错误:
:
Accessdeniedforuser'root'@'localhost'(usingpassword:
YES)
//解决办法:
在/etc/hosts文件中,加上
1localhost.node168
主节点/etc/hosts内容:
脚本/scm_prepare_database.sh执行成功界面:
2.3.创建用户
在所有节点上执行:
#useradd--system--home=/opt/cm-5.13.1/run/cloudera-scm-server--shell=/bin/false--comment"ClouderaSCMUser"cloudera-scm
2.4.制作本地YUM源
在主节点上:
//进入软件包目录
#cd/data/cdh
//拷贝三个文件到/opt/cloudera/parcel-repo/目录
#cpCDHmanifest.json/opt/cloudera/parcel-repo/
//进入/opt/cloudera/parcel-repo/目录
#cd/opt/cloudera/parcel-repo/
//修改文件名
#mv1.cdh
此时/opt/cloudera/parcel-repo/目录下文件:
2.5.拷贝jar包
在所有节点上:
//如果没有/usr/share/java/目录,则创建
#cp/usr/share/java/mysql-connector-java.jar
在主节点上:
//将mysqlJDBCjar包拷贝到/opt/cm-5.13.1/share/cmf/lib/目录
#cp/opt/cm-5.13.1/share/cmf/lib/
2.6.修改cloudera-scm-agent配置
在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:
//将config.iniserver_host=localhost内容改为server_host
#sed-i"s/server_host=localhost/server_host/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
在主节点上:
//将cm-5.13.1打包,并复制到其他节点
#cd/opt
#tarczfcm-5.13.1.tar.gzcm-5.13.1/
//复制到其他节点
#scpcm-5.13.1.tar.gznode169:
/opt/
#scpcm-5.13.1.tar.gznode170:
/opt/
#scpcm-5.13.1.tar.gznode171:
/opt/
#scpcm-5.13.1.tar.gznode172:
/opt/
在所有从节点上解压:
//将cm-5.13.1包解压
#cdopt
#tar-xzvfcm-5.13.1.tar.gz
//解压后删除
#rm-rfcm-5.13.1.tar.gz
2.7.启动CMServer和Agent
在主节点上,启动cloudera-scm-server:
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-serverstart
启动过程较慢,可通过/opt/cm-5.13.1/log/cloudera-scm-server日志,查看启动过程。
在所有节点上,启动cloudera-scm-agent:
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agentstart
2.8.访问CM
地址:
主节点IP:
7180
用户名、密码:
admin
3.安装CDH
3.1.登录后界面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cloudera 数据 平台 环境 搭建 CDH 傻瓜 说明书