前面是按照centeros 6.5 cms5.3.6 来安装,后面是centos7.3 CDH5.11.2安装与前面不同的地方。
1.目前安装的环境:centeros 6.5 cms5.3.6 cdh5.3.6 本地虚拟机, 3节点(测试环境),主节点需要的内存多点(8G以上),使用的时root用户安装 所以再集群搭建时要注意这些方面的问题。
(linux 版本,安装包版本,节点数与性能,非root用户的问题)
2.安装方式 : 目前使用的是tar包安装
包的下载地址与 其他的安装包
2-1、tar 包
http://archive.cloudera.com/cm5/cm/5/
http://archive.cloudera.com/cdh5/cdh/5/
2-2、rpm 包
http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/
http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/
2-3、parcels 包
cdh 4.1.2 以后才有的
官方推荐的安装方式
Cloudera Manager进行安装
3安装前需要配置的一些环境
3-1. host路由映射
Cloudera 建议将 /proc/sys/vm/swappiness设置为 0。当前设置为60。使用sysctl 命令在运行时更改该设置并编辑/etc/sysctl.conf 以在重启后保存该设置
在每个节点上
sysctl -w vm.swappiness=0
echo "vm.swappiness=0" >> /etc/sysctl.conf
3-2. 禁用selinux 因为使用cdh是它自动分配节点资源与安装框架 所以不禁用安装cm第一步就会出问题
禁用方式可以修改 vi /etc/selinux/config 修改selinux=disabled 重启生效
也可以 setenforce 0
查看是否关闭 /usr/sbin/sestatus -v disabled状态就好
3-3 卸载自带的jdk, hbase对openjdk的支持不是很好,推荐使用oracle版本的jdk ,使用1.8版本的jdk
rpm -qa | grep java
rpm -e --nodeps *.jdk
which java
安装oracle的jdk,并配置JAVA_HOME
3-4 配置节点间的免密登陆
ssh-keygen -t rsa
ssh-copy-id 节点名(要有路由映射)
3-5 安装mysql 主节点需要安装mysql,当然可以使用其他的mysql,不过由于这个mysql会交由cdh管理,所以在主节点安装一个最好
3-6 在mysql中创建 hive ,amon , oozie ,hue库(并授予root用户所有库的权限)
3-7 ntpd 时间同步
3-8 下载安装cm, 并且需要mysql的驱动包, 放到解压目录的 /share/cmf/lib中
3-9 在主节点初始化 mysql数据库 并且配置agent 在解压目录下 /etc/cloudera-scm-agent/config.ini 配置serverhost= 主节点名
在centeos6.5 中命令是 /opt/cm-5.3.6/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm
在centeos7.3中 mysql是5.7中 命令是 ./opt/cm-5.3.6/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -P3306 -uroot -proot --scm-host localhost scm scm scm
3-10 将解压包同步到 其它节点 scp -r /安装路径 root@节点名:/安装路径
3-11 在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.3.6/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3-12 为所有节点创建目录 mkdir -p /opt/cloudera/parcel-repo/ 以/opt/目录为解压目录
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。
parcel包括:(只需要放在主节点就行,cdh会自动分配的)
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 (拷贝到这个目录下时需要将后缀名由sha1该为sha,如果没改,cdh会自动下载一个,会浪费时间)
manifest.json
3-13 启动服务端
/opt/cm-5.3.6/etc/init.d/cloudera-scm-server start
启动客户端
/opt/cm-5.3.6/etc/init.d/cloudera-scm-agent start
restart 是重启, stop是停止
3-14 通过浏览器打开 主节点的7180端口,启动会有点延时,如果启动1分钟后还打不开这个网页,就要检查启动等是否有问题.初始的账号密码是admin 默认超级用户
3-15 然后就是网页的图像化操作, 选择免费版, 选择所有主机,下一步等
3-16 到环境检测时有问题的话 做相应的修改
3-17 选择需要安装的框架, 选择框架组件安装位置 如果有hive 等 需要将前面的mysql中hive等数据库的用户名密码等设置上去。
3-18 先将mysql的驱动包复制到hive, oozie,hue等相应的jar包位置 ,不然会安装出错
3-19 一直到安装完成 可以在webui上看到
3-20 测试相应功能是否正常 切换到hdfs用户
测试hdfs hdfs dfs -ls /
hdfs dfs -put /home/a.txt /
hdfs dfs -cat /a.txt
测试yarn/mapreduce yarn jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /home/a.txt /out/00
测试hive hive
create table if not exists t1(id string);
load data inpath /a.txt into table t1;
select * from t1;
select count(id) from t1;
测试hbse hbase shell
list
create 'test','cf1'
put 'test','rk1','cf1:name','zs'
put 'test','rk1','cf1:sex','1'
put 'test','rk1','cf1:age','28'
scan 'test'
3-21 通过webui 可以修改集群名, 添加节点,添加服务(新框架) ,升级cdh, 添加用户(由于当前admin用户拥有删除集群的节点的权限,可以创建只有使用权限的用户)
还可以监控各服务的性能, 在相应服务中可以调到每个服务的webui接口, 等等
CDH5.11.2 centos7.3 mysql5.7 的安装与上面的不同点
用root用户安装最好,因为权限问题会导致很多的脚本运行不了
安装的位置 在 /sam/b/installed/opt 而不是/opt/ 这样在 安装时需要修改第二个路径 修改完后需要重启server和agent
centos 的用户名在 /etc/hostname 里面 可以用hostnamectl set-hostname test01 修改 再看hostname
centos的防火墙是 systemctl status firewalld
增加cloudera-scm用户时指定的是全路径
关于警告的修改,一个是30变10,一个是ui大小 ,,
警告信息的修改
sysctl -w vm.swappiness=10
echo "vm.swappiness=10" >> /etc/sysctl.conf
cat /proc/sys/vm/swappiness
vi /etc/sysctl.conf
sysctl -p
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
端口
7180 cdh
50070 hdfs
8088 19888 yarn
60010 hbase
添加主机时,agent启动的 文件要删除掉 /lib/ /log/下面
添加主机 主要是前面的环境配置, 增加用户
useradd --system --home=/sam/b/installed/opt/cm-5.11.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
java环境,
启动
添加节点时,如果没有解压,直接激活。那么可以先创建一个集群去解压。
添加服务实例,在相应的服务的实例中添加主机的实例