Cloudera大数据平台环境搭建CDH5131傻瓜式使用说明文档格式.docx
《Cloudera大数据平台环境搭建CDH5131傻瓜式使用说明文档格式.docx》由会员分享,可在线阅读,更多相关《Cloudera大数据平台环境搭建CDH5131傻瓜式使用说明文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
node168
172.16.3.168
8C/32Gb/1TB
主,CM,MysqlDB
node169
172.16.3.169
从
node170
172.16.3.170
node171
172.16.3.171
node172
172.16.3.172
1.3.所需要的软件资源
1)JDK环境:
JDK版本:
1.8.0_151
jdk-8u151-linux-x64.rpm
下载地址:
2)CM包:
CM版本:
5.13.1
cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz
http:
//archive-
3)CDH包
CDH版本:
5.13.1,
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel;
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1;
manifest.json
4)JDBC连接jar包:
jar包版本:
5.1.43,
mysql-connector-java-5.1.43.jar
//central.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar
1.4.修改机器名(所有节点)
1)修改机器名称
#hostnamectlset-hostnamexxx//设置机器名
#hostname//查看本机名
这种方式,在Centos7中可以永久性改变主机名称。
2)每个节点机器,都要配置hosts
#vi/etc/hosts
内容都改为:
127.0.0.1localhost//建议保留此行
172.16.3.168node168
172.16.3.169node169
172.16.3.170node170
172.16.3.171node171
172.16.3.172node172
1.5.设置防火墙(所有节点)
注:
为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。
防火墙常用命令:
#firewall-cmd--state(查询防火墙状态)
#systemctlstopfirewalld.service(关闭防火墙)
#systemctlstartfirewalld.service(开启防火墙)
#systemctldisablefirewalld.service(禁止firewall开机启动)
设置防火墙策略,在所有节点执行下面脚本(执行前要启动防火墙):
//集群机器间可以相互访问
firewall-cmd--permanent--add-rich-rule="
rulefamily='
ipv4'
sourceaddress='
172.16.3.168'
portprotocol='
tcp'
port='
0-65535'
accept"
172.16.3.169'
172.16.3.170'
172.16.3.171'
172.16.3.172'
//设置可以访问的端口
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
并设置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
以上状态就说明是启用的。
临时关闭(重启机器会变回默认开启状态):
#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>
fi
iftest-f/sys/kernel/mm/transparent_hugepage/defrag;
保存退出,然后赋予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)查找时间同步服务器http:
//www.pool.ntp.org/zone/asia:
打开网址,内容如下:
2)编辑/etc/ntp.conf:
#vi/etc/ntp.conf
//在文件中输入上面网页内容:
server0.asia.pool.ntp.org
server1.asia.pool.ntp.org
server2.asia.pool.ntp.org
server3.asia.pool.ntp.org
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
#ntpdate172.16.3.168
172.16.3.168是NTP服务端IP,显示如下信息,测试成功:
7)客户端设置计划任务,每30分钟同步时间
#crontab-e
//加入内容:
0-59/30****/usr/sbin/ntpdate172.16.3.168&
&
/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/java/jdk1.8.0_151
exportPATH=$PATH:
$JAVA_HOME/bin
执行下面命令,让配置生效
#source/etc/profile//使修改立即生效
#echo$PATH//查看PATH值
#echo$JAVA_HOME//查看JAVA_HOME值
在Centos7中修改/etc/profile文件配置环境变量,机器启动后有时不生效,可以修改/etc/bashrc文件配置环境变量:
#vi/etc/bashrc
//在文件最后加入:
//使修改立即生效
#source/etc/bashrc
//查看JAVA_HOME值
#echo$JAVA_HOME
1.12.Mysql安装(主节点)
到官网
1)下载安装包
#wget
2)解压安装包
#tar-xvfmysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
//解压后文件列表:
mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
mysql-community-test-5.7.18-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
3)按次序安装
按common–>
libs–>
client–>
server的顺序安装:
#rpm-ivhmysql-community-common-5.7.18-1.el7.x86_64.rpm
#rpm-ivhmysql-community-libs-5.7.18-1.el7.x86_64.rpm
#rpm-ivhmysql-community-client-5.7.18-1.el7.x86_64.rpm
#rpm-ivhmysql-community-server-5.7.18-1.el7.x86_64.rpm
#rpm-ivhmysql-community-devel-5.7.18-1.el7.x86_64.rpm
//安装下面包,否则Hue安装报连接错误
#rpm-ivhmysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
4)启动数据库
#systemctlstartmysqld
查看状态:
#systemctlstatusmysqld
5)修改MySQL初始密码
1、先修改配置文件/etc/f令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:
skip-grant-tables
2、重启MySQL
#servicemysqldrestart
3、免密码登录MySQL。
#mysql
4、mysql客户端执行如下命令,修改root密码
mysql>
usemysql;
UPDATEuserSETauthentication_string=password('
your-password'
)WHEREhost='
localhost'
ANDuser='
root'
;
selecthost,user,authentication_string,password_expiredfromuser;
updateusersetpassword_expired='
N'
wherepassword_expired='
Y'
//密码不过期
updateusersethost='
%'
whereuser='
andhost='
//远程可访问
flushprivileges;
//刷新
exit;
//退出
5、修改配置文件/etc/f删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题)
#servicemysqldrestart//重启Mysql
2.安装CM
2.1.传包,解包
在主节点上下载相关软件包,这里将软件包下载到/data/cdh/目录下。
#cd