CDH部署文档

1.准备安装文件放在home/tools文件夹

jdk-8u131-linux-x64.rpm
MySQL-5.6.31-1.linux_glibc2.5.x86_64.rpm-bundle.tar
mysql-connector-java-5.1.36-bin.jar
cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz
CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha(.sha1)
manifest.json

2.如果是旧机器需要看看是否已经安装了cloudera和CDH

1. 关闭集群中的所有服务。
这个可以通过clouder manger 主页关闭集群

2. 卸载
/usr/share/cmf/uninstall-cloudera-manager.sh 

service cloudera-scm-agent stop
service cloudera-scm-agent stop

#取消挂载
umount /dev/sdb/cm5.1.....
rm -rf opt/cloduear
rm -rf tmp/scm_*..

#以下都是所有要卸载的集群均要执行清除工作:
umount /var/run/cloudera-scm-agent/process
umount /var/run/cloudera-scm-agent/process
umount /var/run/cloudera-scm-agent/process

rm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*  /etc/cloudera* 

3. 卸载安装包:
rpm -qa | grep cloudera

#如果有保存,在执行一遍
for f in `rpm -qa | grep cloudera `  ; do rpm -e ${f} ; done     

4. 清除安装文件
 rm -rf /var/lib/hadoop-* /var/lib/impala /var/lib/solr /var/lib/zookeeper /var/lib/hue /var/lib/oozie  /var/lib/pgsql  /var/lib/sqoop2  /data/dfs/  /data/impala/ /data/yarn/  /dfs/ /impala/ /yarn/  /var/run/hadoop-*/ /var/run/hdfs-*/ /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase* /usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop* /usr/bin/oozie /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog 

#只删除hadoop系列的,不要删除其他软件的,否则其他软件的版本控制会被破坏
[root@master alternatives]# rm -rf ` find /var/lib/alternatives/* ! -name "mta" ! -name "print" ! -name "zlibrary-ui"  -mtime -3` 
[root@master alternatives]# rm -rf /etc/alternatives/* 

5. 杀死相关进程:
for u in hdfs mapred cloudera-scm hbase hue zookeeper oozie hive impala flume; do sudo kill $(ps -u $u -o pid=); done

6. 删除parcel包分发文件和解压文件
  rm -rf /opt/cloudera/parcel-cache /opt/cloudera/parcels

3.删除

卸载挂载:
umount /opt/cm-5.16.1/run/cloudera-scm-agent/process

#执行查找一下cloudera文件
find / -name cloudera*

#查看 /var/lib文件夹遗留的文件
# cd /var/lib
rm -rf cloudera*
rm -rf hadoop*
rm -rf hbase
rm -rf hive
rm -rf zookeeper
rm -rf solr
rm -rf oozie
rm -rf sqoop*

#查看 /var/run文件夹遗留的文件
cd /var/run  
rm -rf cloudera*
rm -rf hadoop*
rm -rf hdfs*
rm -rf hive
rm -rf hadoop*

#查看 /opt文件夹遗留的文件
cd /opt/
rm -rf clouder* 

#查看 /var/log文件夹遗留的文件
cd /var/log
rm -rf hadoop* 
rm -rf zookeeper* 
rm -rf hbase* 
rm -rf hive* 
rm -rf hdfs 
rm -rf mapred 
rm -rf yarn 
rm -rf sqoop* 
rm -rf oozie

#查看 /etc文件夹遗留的文件
cd /etc/
rm -rf hadoop* 
rm -rf zookeeper* 
rm -rf hive* 
rm -rf hue 
rm -rf impala 
rm -rf sqoop* 
rm -rf oozie 
rm -rf hbase* 
rm -rf hcatalog

#查看 /usr/bin文件夹遗留的文件
cd /usr/bin/
rm -rf hadoop* 
rm -rf zookeeper* 
rm -rf hbase* 
rm -rf hive* 
rm -rf hdfs 
rm -rf mapred 
rm -rf yarn 
rm -rf sqoop* 
rm -rf oozie 

#查找是否存在遗留未删除的
find / -name hadoop*
默认知打开程序的信息和配置 : 
/etc/alternatives
rm -rf hadoop* 
rm -rf zookeeper* 
rm -rf hbase* 
rm -rf hive* 
rm -rf hdfs 
rm -rf mapred 
rm -rf yarn 
rm -rf sqoop* 
rm -rf oozie 


/var/lib/alternatives
rm -rf hadoop* 
rm -rf zookeeper* 
rm -rf hbase* 
rm -rf hive* 
rm -rf hdfs 
rm -rf mapred 
rm -rf yarn 
rm -rf sqoop* 
rm -rf oozi

find / -name hadoop*

cd /tmp
rm -rf  cmflistener-std*  

#各个data目录的
/dfs  /yarn  /zookeeper

#删除账号
userdel -r cloudera-scm

#删除cm数据库
[root@mdw96 tools]# mysql -u root -p
Enter password: [email protected] 
show databases;
drop database cm;

4.安装JDK

#centos7为最小化安装,再安装 CDH前必须先安装如下程序包
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs RedHat-lsb cyrus-sasl-plain cyrus-sasl-gssapi autoconf -y
安装jdk(每台都需安装)
#查找安装过的java包
rpm -qa | grep java
#如果查出来有则卸载
rpm -e 查出来的包名 --nodeps

#每台节点机器执行
mkdir /home/tools

#主服务器执行
scp -r jdk-8u131-linux-x64.rpm [email protected]:/home/tools/jdk-8u131-linux-x64.rpm

#每台机器执行
rpm -ivh jdk-8u131-linux-x64.rpm

#Preparing... ########################################### [100%]
#1:jdk ########################################### [100%]
#Unpacking JAR files...
#rt.jar...
#jsse.jar...
#charsets.jar...
#tools.jar...
#localedata.jar...
#jfxrt.jar...

echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

java -version
#java version "1.8.0_131"
#Java(TM) SE Runtime Environment (build #1.8.0_131-b11)
#Java HotSpot(TM) 64-Bit Server VM (build #25.131-b11, mixed mode) 

javac -version
#javac 1.8.0_131

5.离线安装mysql5_6_31(只在master上安装)

#解压在tools文件夹
cd tools/
tar -xf MySQL-5.6.31-1.linux_glibc2.5.x86_64.rpm-bundle.tar 
ls

#jdk-7u80-linux-x64.rpm #MySQL-devel-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-shared-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-5.6.31-1.linux_glibc2.5.x86_64.rpm-bundle.tar
#MySQL-embedded-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-shared-compat-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-client-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-server-5.6.31-1.linux_glibc2.5.x86_64.rpm
#MySQL-test-5.6.31-1.linux_glibc2.5.x86_64.rpm

rpm -qa | grep mysql
rpm -qa | grep mysql -i
find / -name mysql
find / -name mysqld
find / -name mysqld.log
#如果查出来有 运行 rpm -e --nodeps 查出来的包名(将已安装mysql全部卸载)

#防止冲突,查出来干掉
rpm -qa | grep mariadb
find / -name mariadb*

rpm -ivh MySQL-server-5.6.31-1.linux_glibc2.5.x86_64.rpm 

安装autoconf0

yum install autoconf -y

#安装完成后 启动服务
service mysql start 

安装mysql客户端

rpm -ivh MySQL-client-5.6.31-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.31-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-embedded-5.6.31-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-5.6.31-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.31-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-test-5.6.31-1.linux_glibc2.5.x86_64.rpm

#安装完成 查看初始密码
cat /root/.mysql_secret
#登录mysql 修改密码并授权
mysql -u root -p mysql
如果忘记密码,进行密码重置
vi /etc/my.cnf
#在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证
#重启MySQL:
/etc/init.d/mysql restart
#(有些用户可能需要使用/etc/init.d/mysqld restart)
mysql -u root -p
#命令然后回车,当需要输入密码时,直接按enter键
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit

#注意:如果在执行该步骤的时候出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 错误。
则执行下 flush privileges 命令,再执行该命令即可。
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。
修改Mysql内容
mysql -u root -p
SET PASSWORD = PASSWORD('[email protected]');
grant all on *.* to root@'%' identified by '[email protected]';
grant all on *.* to root@'127.0.0.1' identified by '[email protected]';
grant all on *.* to root@'localhost' identified by '[email protected]';
grant all on *.* to root@'mdw132' identified by '[email protected]';
grant all privileges on *.* to 'root'@'mdw132' identified by '[email protected]' with grant option;
flush privileges;
quit

#测试Mysql能否正常运行
mysql -u root -p
show databases;

6.安装CDH(只在mdw上安装)

cd /home/tools/CDH-5.16.1-1.cdh5.16.1.p0.3
cp cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz  /opt
cd ..
cp mysql-connector-java-5.1.36-bin.jar /opt
cd /opt
tar -xf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz
cp mysql-connector-java-5.1.36-bin.jar /opt/cm-5.16.1/share/cmf/lib/

#注意修改:server_host为实际主机名
vi /opt/cm-5.16.1/etc/cloudera-scm-agent/config.ini

cd /home/tools/CDH-5.16.1-1.cdh5.16.1.p0.3/
cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/

#当CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha的后缀是.sha1,需要改成.sha
cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha/opt/cloudera/parcel-repo/ 
cp manifest.json /opt/cloudera/parcel-repo/
cd /opt/cloudera/parcel-repo/ 

ls
#文件下应该有三个文件
#CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel  #CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha  #manifest.json 

#在每台机器执行
useradd --system --home=/opt/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

#在master上执行
/opt/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot [email protected] --scm-host localhost scm scm scm

#复制/opt/cm-5.16.1 对sdw机器
scp -rp /opt/cm-5.16.1 root@sdw133:/opt/
scp -rp /opt/cm-5.16.1 root@sdw134:/opt/
scp -rp /opt/cm-5.16.1 root@sdw135:/opt/

7.开启服务前需要进行如下修改(每台机器上执行)

#将 swappness修改为0,尽量不使用交换分区
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag

cat >> /etc/sysctl.conf < /sys/kernel/mm/transparent_hugepage/defrag
cat >> /etc/rc.local < /sys/kernel/mm/transparent_hugepage/defrag
END

8.开启/停止服务

1.  master上开启服务

/opt/cm-5.16.1/etc/init.d/cloudera-scm-server start
/opt/cm-5.16.1/etc/init.d/cloudera-scm-agent start


2.  segment上开启服务
/opt/cm-5.16.1/etc/init.d/cloudera-scm-agent start


1.  master上停止服务
/opt/cm-5.16.1/etc/init.d/cloudera-scm-agent stop
/opt/cm-5.16.1/etc/init.d/cloudera-scm-server stop

2.  segment上停止服务
/opt/cm-5.16.1/etc/init.d/cloudera-scm-agent stop

停止CDH就是开启的相反步骤

1.先停止Cluster集群服务
2.停止CM服务
3.在各个节点上停止Agent
sudo /opt/cm-5.16.1/etc/init.d/cloudera-scm-agent stop
4.在主节点上停止Server
sudo /opt/cm-5.16.1/etc/init.d/cloudera-scm-server stop

9.在CRT主机上配置端口转发

Name:127.0.0.1
Port:7180

10.在Web安装CDH

访问:127.0.0.1:7180
账号:admin
密码:admin

选择免费版
当前管理的主机:全部勾选(按需求)

选择存储库:使用Parcel
选择CDH版本:CDH-5.8.3-1.cdh5.8.3.p02

自定义服务

新的版本没有mapreduce 注意不要选择hive
勾选:HBase、HDFS、YARN、ZooKeeper

自定义角色分配

HBase:前两项选择master,最后一项选全部从机
HDFS:前三项选择master 最后一项选择全部从机
Cloudera MS:所有项都选master
YARN:前两项选master,最后一项选择与DataNode相同
Zookeeper:选主机和从机共三台
数据库设置:主机名是master、类型为Mysql、 数据库名为cm、用户名root

修改CDH设置

在CDH设置中HDFS dfs.permissions 去掉对勾
屏蔽时钟告警
安装完成后,主页面会有红色告警,主要为时钟告警,可需通过web页面登录:http://127.0.0.1:7180
在主页面上端菜单选择主机 -> 配置 -> 搜索“时钟” -> 修改告警提示为“从不”

11.添加HIVE

ln -s /opt/cm-5.16.1/share/cmf/lib/mysql-connector-java-5.1.36-bin.jar /usr/share/java/mysql-connector-java.jar

如果没有/usr/share/java文件夹 mkdir /usr/share/java

连接mysql数据库执行
create database hive;
use hive;   

CDH的Web页面中选择集群→操作→添加服务
角色分配:第一个为master和全部从
          第二个和第四个为master
数据库设置:主机名是master、类型为Mysql、 数据库名为hive、用户名root

基本默认安装 路径选一个大点的盘(文件夹)
安装成功后连接mysql数据库
mysql -u root -p

use hive;
alter table SERDE_PARAMS modify column PARAM_VALUE varchar(60000);
desc SERDE_PARAMS;
flush privileges;
show tables;



#修改mysql配置
vi /usr/my.cnf 
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
max_connections = 2000
max_connect_errors = 2000

#保存文件 重启mysql
systemctl restart mysql

切换到GP主服务器—mdw132:
#切换到gpadmin用户
 su gpadmin 
gpconfig -c gp_hadoop_target_version -v "cdh5"
gpconfig -c gp_hadoop_home -v "'/opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3 /lib/hadoop/client'"

#性能测试
hive
create table date_test1(id int,name string);
insert into date_test1 values(1,'wjian');

hdfs dfs -ls hdfs://10.205.198.10:8020/user/hive/warehouse/date_test1/

drop EXTERNAL table hdfs_test;
create EXTERNAL table hdfs_test(id int,name varchar(32))
location ('gphdfs://10.214.138.132:8020/user/hive/warehouse/date_test1/*')
format 'TEXT' (DELIMITER '\001')
;
select * from hdfs_test
重启GP数据库






hdfs dfs -ls hdfs://10.227.17.96:8020/data1/hive/warehouse/date_test1/
hdfs dfs -ls hdfs:// 10.227.17.96:8020/data1/hive/warehouse/pm_lte_eutrancellfdd_hour_inner/

drop EXTERNAL table hdfs_test;
create EXTERNAL table hdfs_test(id int,name varchar(32))
location ('gphdfs://10.227.17.96:8020/data1/hive/warehouse/date_test1/*')
format 'TEXT' (DELIMITER '\001')
;

select * from hdfs_test




hdfs dfs -ls hdfs://10.224.230.171:8020/home/hive/warehouse/date_test1/

drop EXTERNAL table hdfs_test;
create EXTERNAL table hdfs_test(id int,name varchar(32))
location ('gphdfs://10.224.230.171:8020/home/hive/warehouse/date_test1/*')
format 'TEXT' (DELIMITER '\001')
;

select * from hdfs_test
hdfs dfs -ls hdfs://10.174.237.193:8020/data1/hive/warehouse/date_test1/

drop EXTERNAL table hdfs_test;
create EXTERNAL table hdfs_test(id int,name varchar(32))
location ('gphdfs://10.174.237.193:8020/data1/hive/warehouse/date_test1/*')
format 'TEXT' (DELIMITER '\001')
;

select * from hdfs_test

你可能感兴趣的:(CDH部署文档)