一次离线安装CDH5.7的过程

本文提供了一份详细的Cloudera Manager安装指南,包括环境准备、MySQL数据库配置、JDK安装、CDH包下载及配置等关键步骤,帮助读者顺利完成大数据集群部署。

1.准备

    此处使用了4台虚拟机,每台2核4G。

2.设置免密登录等。

3.检查python数据库版本,官方推荐使用的版本为2.6.6。

python -V

4.卸载原装数据库,重新安装数据库。

yum list installed | grep mysql 检查原装数据库
yum -y remove mysql-libs.x86_64 卸载
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 下载数据库的rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm 安装rpm
yum repolist all | grep mysql 检查
yum install mysql-community-server -y yum安装
chkconfig --list | grep mysqld 查看mysqld服务状态
chkconfig mysqld on 开启开机启动
service mysqld start 启动mysql
mysql_secure_installation 设置root密码


mysql -u root -p  登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 设置远程登录
GRANT ALL PRIVILEGES ON *.* TO 'cmf'@'%' IDENTIFIED BY 'cmf' WITH GRANT OPTION;
create database cmf default character set utf8 创建cmf数据库
create database amon default character set utf8 创建amon数据库

flush privileges; 刷新权限

修改/etc/my.cnf
	在[mysqld]下添加max_allowed_packet=20M
	重启mysql服务:service mysqld restart			
	
这里不调整的话安装的时候可能出现错误,错误在下面写出。

5.下载mysql的jar包,并移动到需要的位置。

mkdir -p /usr/share/java 创建/usr/share/java
cd /usr/share/java
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.47.zip


	
unzip mysql-connector-java-5.1.47.zip 解压
cd至解压后的文件夹内,将mysql-connector-java-5.1.47-bin.jar移动至/usr/share/java
	mv mysql-connector-java-5.1.47-bin.jar /usr/share/java
mv mysql-connector-java-5.1.47-bin.jar mysql-connector-java.jar 重命名

将mysql的连接包发送到集群内的所有节点。
    scp mysql-connector-java.jar server02:/usr/share/java
    scp mysql-connector-java.jar server03:/usr/share/java
    scp mysql-connector-java.jar server04:/usr/share/java

6.安装jdk(集群上的所有机器)。

注:这里官方推荐使用orcale的jdk而不是openjdk

CDH5.7
解压
	tar -zxvf xxx.tar.gz
将加压后的文件夹移动至/usr/java中,没有则创建。(注:移动的是整个文件夹,而不是将jdk解压后的文件夹命名为java)
修改/etc/profile
添加 
    export JAVA_HOME=/usr/java/jdk1.8.0_181/
	export PATH=$JAVA_HOME/bin:$PATH
重新加载profile文件
	source /etc/profile

CDH4.7

解压
	tar -zxvf xxx.tar.gz
将加压后的文件夹移动至/usr/java中,没有则创建。(注:移动的是整个文件夹,而不是将jdk解压后的文件夹命名为java)

cdh4在如上操作之后还必须建立软连接,并修改/etc/profile:
ln -s jdk1.7.0_80/ latest 
ln -s latest default
        
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    

7.下载CDH的包。

CDH5.7
wget http://archive.cloudera.com/cdh5/parcels/5.7.0/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel http://archive.cloudera.com/cdh5/parcels/5.7.0/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1 http://archive.cloudera.com/cdh5/parcels/5.7.0/manifest.json http://archive.cloudera.com/cm5/repo-as-tarball/5.7.0/cm5.7.0-centos6.tar.gz

CDH4.7

8.检查各台机器之间的时间是否一致。

>date
Mon Sep 17 08:57:57 CST 2018

9.检查httpd是否安装。

rpm -qa| grep httpd
	
未安装安装;
    yum install -y httpd

启动httpd:
	service httpd start
设置开机启动:
    chkconfig httpd on

10.设置httpd的访问资源,将其调整至于官方一致。

创建/var/www/html/parcels文件夹
将前面下好的CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel,CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1,manifest.json移动至parcels文件夹内,去掉CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1后的1,将其修改为CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha
	
检测CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel是否下载完整:
	sha1sum CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel 
将结果与CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha内容进行对比,一致则下载完成。
	
	
在/var/www/html下创建cm5/redhat/6/x86_64:
	mkdir -p cm5/redhat/6/x86_64
将下载的cm5.7.0-centos6.tar.gz解压后
	tar -zxvf cm5.7.0-centos6.tar.gz
将解压好的文件夹移动至cm5/redhat/6/x86
	mv cm /var/www/html/cm5/redhat/6/x86_64	
完成之后可以去通过浏览器查看
	http://ip/parcels
	http://ip/cm5/

11.调整yum。

cd 到cm文件夹,修改cloudera-manager.repo
	baseurl=http://172.21.0.4/cm5/redhat/6/x86_64/cm/5/
	gpgcheck = 0
将cloudera-manager.repo移动至/etc/yum.repos.d
集群内的每台机器都必须有cloudera-manager.repo这个文件。
	scp /etc/yum.repos.d/cloudera-manager.repo server01:/etc/yum.repos.d
	scp /etc/yum.repos.d/cloudera-manager.repo server02:/etc/yum.repos.d
	scp /etc/yum.repos.d/cloudera-manager.repo server03:/etc/yum.repos.d

12.安装基本服务。

cd 到/var/www/html/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64/
将cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm发送至集群内的所有机器内。
	scp cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm server01:~
	scp cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm server02:~
	scp cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm server03:~
在所有机器上执行安装命令
	rpm -ivh cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
在cm机器上安装cloudera-manager-server-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
	rpm -ivh cloudera-manager-server-5.7.0-1.cm570.p0.76.el6.x86_64.rpm

13.修改cm中关于mysql连接的设置。

修改/etc/cloudera-scm-server/db.properties
打开注释:
	com.cloudera.cmf.db.host=ip(也可以是localhost,注意是为了避免出现service检测节点与数据库不在一个节点上)
	com.cloudera.cmf.db.name=cmf
	com.cloudera.cmf.db.user=cmf
	com.cloudera.cmf.db.password=cmf_password
高版本的将db=init改为db=external(大小写与原来的一致)

14.启动服务。

启动cm服务
	service cloudera-scm-server start 启动服务
日志保存在/var/log/cloudera-scm-server/
可以重新打开一个窗口,通过
		tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
监控启动状况。
在日志停止滚动的时候,登录ip:7180,可以进入则说明服务启动成功。

15.出现的错误。

出现错误:
	Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1464 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
		at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3683)
		at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2512)
		at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
		at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495)
		at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903)
		at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2124)
		at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1801)
		... 66 more
		
解决:
	修改/etc/my.conf
	在[mysqld]下添加max_allowed_packet=20M
	重启mysql服务:sevice mysqld restart			
	重新启动 cloudera-scm-server服务。

16.在浏览器中输入http://ip/7180,继续安装过程(注:在安装的过程中不要离开页面,否则可能会导致安装失败,安装过程中,若某步设置错误,可以回退至那一步,如果退出安装页面的话,可以尝试再次进入,还是不行的话可以卸载并再次安装服务,卸载命令在文章最后)。

默认的账号为:admin 默认的密码为:admin

继续。

选择free版本,继续。

继续。

输入ip范围,点击搜索。

选择主机,继续。

选择更多选项。

填入上面设置的httpd所产生的网络文件系统的地址,点击保存修改,等待自动刷新。

选择版本,选中自定义存储库。

继续。

由于已经安装jdk,所有此处不做任何处理,继续。

不设置单用户模式,继续。

设置用户名和密码,继续。

等待安装agent完成,继续(忘了截图= =!!)。

等待安装Parcel完成,继续。

等待主机检查完成。

主机检查完成,但出现警告,按照提示修改警告内容,将可以修改的修改掉,并重新检查主机,尤其是透明化页面,不进行修改的话可能导致占用内存过高,安装失败。

选择自定义服务,并选择自己要安装的内容,这里安装的东西应尽可能的少,避免安装内容过多导致安装过程缓慢。

分配节点,关于Cloudera Management Service 的节点,尽量将他们分散到不同主机安装,所有节点都安装在一起可能会导致占用内存过高,cm server服务死掉,安装失败。

设置数据库连接,测试连接通过,继续。

审核修改完成,继续。

集训设置完成,继续。

完成安装,回到主页面。

安装出错,可以通过卸载全部服务,再次进行安装,但是再次安装之前必须排错。

卸载命令:

1.停止service
    service cloudera-scm-agent stop
    service cloudera-scm-server stop
2.检查service是否停止,没有停止的话直接kill掉。
    ps -ef | grep cloudera-scm
    ps -ef | grep supervisord
	kill -9 pid
    之后重新检查
	
3.卸载 /var/run/cloudera-scm-agent/process
    umount /var/run/cloudera-scm-agent/process

4.卸载安装包
    rpm -qa | grep cloudera      查找安装的服务
    rpm -e --nodeps 服务名称      卸载安装的服务

5.删除配置文件,直接复制命令,于各个节点上执行。
    rm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/cloudera* /var/log/cloudera* /var/run/cloudera*
    rm -rf /var/lib/cloudera-scm-server-db
    rm -rf /tmp/.scm_prepare_node.lock /tmp/hdperfdata_hadoop /tmp/hsperfdata_hdfs /tmp/hsperfdata_mapred /tmp/hsperfdata_zookeeper /tmp/hsperfdata_cloudera-scm /tmp/hadoop-root
    rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/navigator /var/lib/solr /var/lib/sqoop* /var/lib/zookeeper
    rm -rf /dfs /mapred /yarn
    rm -rf /etc/cloudera*
    rm -rf /var/cache/yum/x86-64/6/cloudera*
    rm -rf /var/lib/hadoop-* /var/lib/impala /var/lib/solr /var/lib/zookeeper       /var/lib/bue /var/lib/oozie /var/lib/pgsql
    rm -rf /var/lib/sqoop2/ /data/hdfs/ /data/impala/ /data/yarn/ /dfs/ /impala/ /yarn/
    rm -rf /var/run/hadoop-*/ /var/run/hdfs-*/ /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase*
    rm -rf /usr/bin/hive* /usr/bin/hdfs /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase*
    rm -rf /etc/hadoop* /etc/zookeeper* /etc/hue /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog
    rm -rf /var/run/zookeeper
    rm -rf /tmp/scm_prepare_node* /tmp/.scm_prepare_node.lock

6.删除parcel包分发文件和解压文件
    rm -rf /tmp/A* /tmp/cmf* /tmp/J* /tmp/jffi* /tmp/q* /tmp/scm*
    rm -rf /data/01/zookeeper /data/01/dfs /data/01/mapred
    rm -rf /opt/cloudera

7.删除软连接
    ls -l /etc/alternatives | grep -E 'CDH|cloudera' | awk '{print $9}' | while read line; do rm -rf /etc/alternatives/$line ; done

8.删除数据库 
    drop database cmf
    drop database amon

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值