在CentOS上安装Cloudera Distribution Hadoop(CDH)是一项复杂但非常有意义的任务,CDH是一个流行的开源Apache Hadoop发行版,由Cloudera公司维护和提供支持,以下是详细的安装步骤和相关配置:
一、准备工作
1、下载必要的软件包:
CDH软件包:https://archive.cloudera.com/cdh5/parcels/5.16.1/
Cloudera Manager软件包:https://archive.cloudera.com/cm5/cm/5/
Java 8离线安装包:https://www.oracle.com/technetwork/java/javase/downloads/jdk8downloads2133151.html
MySQL的Java驱动程序包:https://dev.mysql.com/downloads/connector/j/
2、关闭防火墙和SELinux:
sudo systemctl stop firewalld sudo systemctl disable firewalld sudo vim /etc/selinux/config # 修改 SELINUX=enforcing 为 SELINUX=disabled
3、配置本地SSH免密钥登录:
生成密钥:sshkeygen t rsa P ''
拷贝公钥到authorized_keys:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改权限:sudo chmod 600 ~/.ssh/authorized_keys
测试免密登录:ssh localhost
二、安装JDK
1、卸载OpenJDK:
sudo yum remove java* sudo yum autoremove
2、安装Oracle JDK:
sudo mkdir /usr/java cd /usr/java sudo tar zxvf ~/Downloads/jdk8u201linuxx64.tar.gz . sudo mv jdk1.8.0_201 jdk1.8
3、配置环境变量:
sudo vim /etc/profile # 添加以下内容 export JAVA_HOME=/usr/java/jdk1.8 export CLASSPATH=.:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin # 刷新环境变量 source /etc/profile
三、安装MySQL
1、安装MySQL:
sudo yum install mariadbserver y
2、修改配置文件:
sudo vim /etc/my.cnf # 添加以下内容 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symboliclinks=0 charactersetserver=utf8
3、启动并设置MySQL:
sudo systemctl start mariadb sudo systemctl enable mariadb mysql_secure_installation
四、安装Cloudera Manager Server
1、上传并解压Cloudera Manager Server安装包:
sudo tar zxvf ~/Downloads/clouderamanagercentos7cm5.16.1_x86_64.tar.gz C /opt
2、启动Cloudera Manager Server:
sudo /opt/cm5/share/cmf/schema/scm_prepare_database.sh u root r 127.0.0.1:3306 p <password> t cmf s cmf d cmf sudo /opt/cm5/share/cmf/schema/scm_setup_db_util.sh u root r 127.0.0.1:3306 p <password> t cmf s cmf d cmf b com.mysql.jdbc.Driver sudo /opt/cm5/share/cmf/agent/db2/cmf_setup_db.sh u root r 127.0.0.1:3306 p <password> t cmf s cmf d cmf b com.mysql.jdbc.Driver sudo /opt/cm5/parcels/CMF5.16.1/*.bin server start
五、配置Cloudera Manager Agent
1、上传并解压Cloudera Manager Agent安装包:
sudo tar zxvf ~/Downloads/CDH5.16.11.cdh5.16.1.p0.3el7.parcel C /opt
2、启动Cloudera Manager Agent:
sudo /opt/cm5.16.1/parcels/CDH5.16.1/*.bin agent start
六、配置CDH集群
1、通过Web界面完成集群配置:
打开浏览器访问Cloudera Manager的Web界面(默认地址:http://<主机名>:7180)。
根据向导完成集群的配置,包括添加主机、配置服务等。
七、常见问题与解答(FAQs)
Q1:为什么建议使用Oracle JDK而不是OpenJDK?
A1:虽然OpenJDK是免费的,但Oracle JDK在某些场景下可能更稳定且兼容性更好,特别是在生产环境中,Cloudera官方推荐使用Oracle JDK。
Q2:如何确保所有节点之间的时间同步?
A2:可以通过安装NTP服务来实现时间同步,在所有节点上执行以下命令:
sudo yum install ntp y sudo systemctl start ntpd sudo systemctl enable ntpd
然后在每个节点的/etc/ntp.conf
文件中添加主节点的IP地址作为时间服务器。
通过以上步骤可以在CentOS上成功安装和配置CDH集群,需要注意的是,每一步都需要仔细操作,特别是涉及到系统配置和服务启动的部分,如果在安装过程中遇到问题,可以参考官方文档或社区资源进行排查和解决。