赞
踩
CDH安装文档目录
博文需要用到的脚本下载地址:cdh及其组件安装的shell脚本集合 。
1、修改hostip.properties文件,按行加入主机、从机的ip地址。
2、需要将shell文件夹上传到主节点的root目录下,在主节点机器上执
行脚本clientSSHAuthorize.sh
输入任意名字作为保存keyFile ,密码为空
注脚本执行过程:
在h1执行 ./clientSSHAuthorize.sh h2IP
脚本运行完会自动连接到h2机器,切换目录 cd shell,执行 ./otherClientSSHAuthorize h3IP
脚本运行完会自动连接到h3机器, 切换目录 cd shell,执行 ./otherClientSSHAuthorize h4IP
…
脚本运行完会自动连接到hn机器, 切换目录 cd shell,执行 ./otherClientSSHAuthorize h1IP
执行完毕
注意:如果客户指定主机名,不使用默认的h1.hadoop等,查看shell——客户指定主机名—更改主机名.txt,参照操作。
修改 setConfig.sh 脚本内容:
#install java8
scp jdk-8u73-linux-x64.tar.gz root@$host_ip:/root/shell/
echo "====install java on $host_ip===="
ssh -p 22 root@$host_ip "cd /root/shell && tar --no-same-owner -zxvf jdk-8u73-linux-x64.tar.gz && mkdir /usr/java/ && mv jdk1.8.0_73 /usr/java/"
#source /etc/profile
ssh -p 22 root@$host_ip 'echo JAVA_HOME=/usr/java/jdk1.8.0_73 >> /etc/profile'
ssh -p 22 root@$host_ip 'echo JRE_HOME=/usr/java/jdk1.8.0_73/jre >> /etc/profile'
ssh -p 22 root@$host_ip 'echo PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin >> /etc/profile'
ssh -p 22 root@$host_ip 'echo CLASS_PATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib >> /etc/profile'
ssh -p 22 root@$host_ip 'echo export JAVA_HOME JRE_HOME CLASS_PATH PATH >> /etc/profile'
ssh -p 22 root@$host_ip 'source /etc/profile'
echo "====finish java on $host_ip===="
在主节点上执行脚本setConfig.sh,该脚本主要完成以下工作:
1、完成关闭防火墙、修改主机名、修改主机名映射,脚本执行完毕后在每台机器上执行 java -version
,查看java是否正确安装,如果没有正确安装执行以下命令:source /etc/profile
2、完成java安装
注意: 执行完成后通过java -version验证配置安装是否生效,如显示的还是java1.7的版本,则在该机器上执行以下命令:alternatives --config java
如果出现类似以下结果:
输入正确路径对应的数字回车即可。
3、重启每台机器
reboot
执行命令 ps -ef | grep mysql
,查看mysql是否安装
yum list mysql-server
yum install mysql-server
安装mysql服务器有选择时输入 y ,最后看startMysql.sh
初始化数据库相关信息。1、 执行setNTP.sh,然后重启所有机器。
2、 执行installNTP.sh脚本,观察输出值,其中2-5为on状态就代表成功。
3、 常见错误解决方法
如果出现 yum [Errno 256] No more mirrors to try 的错误,输入下面的命令即可解决问题:
yum clean all
yum makecache
然后再从新执行:
yum list
yum install ntp
chkconfig ntpd on
chkconfig --list ntpd 即可
4、 配置NTP服务
(1) 配置主节点的ntp服务
修改masterntp.sh
这个脚本里的ntpIp为时间同步服务器ip,如图所示,这个ip地址由事业部人员提供,用于时间同步。(可以选主机ip)
(2) 然后执行脚本masterntp.sh,执行后查看ntp状态,命令ntpstat
,
这个过程需要5-10分钟,最终变成以下效果:
5、 配置子节点的ntp服务
在主节点执行脚本slaverNtp.sh
installCDH.sh
脚本。startCDHService.sh
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
/opt/cm-5.5.2/etc/init.d/cloudera-scm-server restart
for host_ip in $(cat /root/shell/hostip.properties)
do
echo $hostip
ssh -p 22 root@$host_ip "sysctl vm.swappiness=0"
ssh -p 22 root@$host_ip "echo \"vm.swappiness=0\" >> /etc/sysctl.conf"
ssh -p 22 root@$host_ip "echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag"
#ssh -p 22 root@$host_ip "chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo"
ssh -p 22 root@$host_ip "mkdir /var/log/cloudera-scm-agent/"
ssh -p 22 root@$host_ip "mkdir /var/lib/cloudera-scm-agent/
ssh -p 22 root@$host_ip "/opt/cm-5.5.2/etc/init.d/cloudera-scm-agent restart"
done
(另外,CDH manaenger会认CDH版本,可以根据提示在线下载选定的版本,或者手动下载后复制到/opt/cloudera/parcel-repo目录)。
所有服务都不装,主机占用内存~2G,磁盘10G, 其他从机内存400M,磁盘6G。。。
3、安装服务,选 自【定义服务】根据自己需要选择安装 (也可跳过后期再添加)
// 后续根据需要配置安装
Zookerper直接添加服务。
Kafka先要下载parcel包,分配成功后,再激活。最后在主页添加服务。
4、数据库设置
5、Hive驱动引起的错误
解决方法, 在主节点上输入命令:
cp shell/mysql/mysql-connector-java-5.1.37-bin.jar /opt/cloudera/parcels/CDH-5.5.2-1.cdh5.5.2.p0.4/lib/hive/lib/
6、oozie出现以上类似错误
解决方法, 在主节点上输入命令
oozie安装出错时 把mysql-driver拷贝到 /var/lib/oozie
cp shell/mysql/mysql-connector-java-5.1.37-bin.jar /var/lib/oozie
7、基本流程按照下面的流程走,遇到问题有相依的处理方法,但注意以下的几个配置路径要放在文件空间目录上。
8、完成安装
高可用性配置参考《CDH里HDFS的HA配置.doc》。
CDH安装完成以后需要安装kafka,如何安装参见CDH集成Kafka文档:kafka_CDH/CDH集成Kafka.docx
目前仅启动 zookeeper、 kafka
断电之后,我们尝试重启cdh,通过命令行
h1.hadoop
# /opt/cm-5.5.2/etc/init.d/cloudera-scm-server restart
cloudera-scm-server is already stopped
Starting cloudera-scm-server: [ OK ]
h1-h4.hadoop
# /opt/cm-5.5.2/etc/init.d/cloudera-scm-agent restart
cloudera-scm-agent is already stopped
Starting cloudera-scm-agent: [ OK ]
都正常,但是 http://192.168.3.171:7180/cmf/home 不能访问。找到根本错误如下
[root@h1 init.d]# /opt/cm-5.5.2/etc/init.d/cloudera-scm-server status
cloudera-scm-server dead but pid file exists
先直接rm run/cloudera-scm-server.pid
, 再次启动仍然不能访问。
没有去查看cloudera的详细日志,先查看了mysql的相关进程和服务。
# /etc/rc.d/init.d/mysqld status
mysqld is stopped
[root@h1 shell]# service mysqld start
Another MySQL daemon already running with the same unix socket.
Starting mysqld: [FAILED]
[root@h1 bin]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
[root@h1 bin]# mysql -u root -p -S /var/lib/mysql/mysql.sock
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
数据库异常,直接 rm /var/lib/mysql/mysql.sock
,再执行
[root@h1 mysql]# service mysqld start
Starting mysqld: [ OK ]
后面再启动cdh,再次访问7180端口网页,重启相关服务。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。