1. 系统环境准备
1、网络配置
vi /etc/sysconfig/network
vi /etc/hosts
2、SSH免密钥登录
虚拟机的环境准备非常重要:免密钥的master需要和slave免密钥;那么cloudera manager的server需要和agent免密钥;
那么具体的软件比如hdfs的namenode所在的节点就需要和它的datanode节点免密钥;
全部会话 :ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id node11/node12/node13
3、防火墙关闭
Service iptables stop
Chkconfig iptables off
4、SELINUX关闭 setenforce 0
vi /etc/selinux/config (SELINUX=disabled)
5.安装JDK配置环境变量
三台机器都需要
将jdk上传到node11的/home/tools目录下
Node11执行:scp jdk+Tab node12:`pwd`
scp jdk+Tab node13:`pwd`
全部会话:rpm -ivh jdk*
修改 vi/etc/profile 添加环境变量(一个一个添加)
source ./etc/profile
export JAVA_HOME=/usr/java/default //注意java的路径
export PATH=JAVAHOME/bin:JAVAHOME/bin:PATH
6.安装NTP
Yum install ntp -y
设置开机启动 chkconfig ntpd on
设置时间同步 – ntpdate -u s2c.time.edu.cn(全部会话)
7.安装配置mysql
yum install mysql-server -y
设置开机启动:chkconfig mysqld on
启动mysql: service mysqld start
查看状态: service mysqld status
mysql 进入
use mysql
select host,user from user
修改 mysql 权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
刷新:flush privileges;
删除多余会对权限造成影响的数据:delete from user where host !='%';
刷新权限
select host,user from user;
quit 退出
重新登录:mysql -u root -p
密码:123
8.下载第三方依赖包
最后一步安装第三方依赖包的时候,主要针对的是centos,公司中还是要看使用的linux发行版缺少那些版本;
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y
2. CM安装
1. 安装Cloudera Manager Server、Agent
上传到/home/toolsx下 (三台机器都要安装)
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2. 创建用户cloudera-scm
全部会话:useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3. 配置CM Agent
cm的安装包的server和agent都是同一个包,启动的时候启动命令指定为server还是agent;cm有一个工作目录,需要
我们来创建;创建一个用户;修改agent的配置,给它指定server的位置;那个端口7182是server和agent通信的端口;
server_host配置为server的名字;
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中 server_host(三台机器)
4. 配置CM Server数据库
拷贝mysql jar文件到目录 /usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar
mysql -u root -p
use mysql;
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h CDH1 -utemp -ptemp --scm-host CDH1 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
5. 创建Parcel目录
创建parcel目录,这些目录是server和agent用来接收和发送数据的目录,server端的parcel-repo这个目录会把所有
的安装文件全部下载到此目录,而agent也需要安装包,parcels就是用来存储指定的安装包的,当然需要有权限能操作
这些目录;
Server节点
– mkdir -p /opt/cloudera/parcel-repo
– chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点
– mkdir -p /opt/cloudera/parcels
– chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
6. 制作CDH本地源
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的 /opt/cloudera/parcel-repo下。
实际上这个三个文件
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的 parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
7. 关机做快照。
init 0 || power off
8. 启动CM Server、Agent
我们的系统需要预留内存;保证自己的系统能够跑起来,关闭所有的安全卫士;保证第一台节点的内存很多,以后可以
在cdh1有很多东西;虚拟机默认都采用单核单线,如果cpu可以,采用双核双线;老师使用的是16g内存,虚拟机在固态
硬盘上面,启动cloudera manager都需要几分钟,如果机器不好,可能需要启动一节课;如果实在不行,就需要单台转载
所有节点的功能;
当我们使用server start 会立马返回一个ok,这个只是表明该命令提交成功而已;毕竟server会在linux和mysql中创建
目录和数据库表,所以第一次启动的时候如果时间很长,千万不要关闭;不然下一次启动的话,依旧会创建这些目录
然后就会冲突;启动成功与否,可以通过一个日志文件来查看;当看到以下命令的时候,说明启动完成:
先确保启动了mysql service mysqld start
全部会话:cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
CDH1:执行./cloudera-scm-server start
CDH1,2,3执行:./cloudera-scm-agent start
观察启动server的日志
cd /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server
tail -f 上面目录下的log的文件
出现如下内容表明启动成功
2017-02-22 19:57:04,638 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180
2017-02-22 19:57:04,638 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
进入web浏览器进行访问,端口号:7180
至此。CM安装成功。
9.关闭CDH
先关闭浏览器页面的服务。
上下两个一次关闭。
再关闭虚拟机命令行的服务。
搭建CDH集群
通过CM把CDH集群部署起来,部署的方式有四种:cm,yum,rpm,tarball,其中我们采用的是离线cdh
下面所有的操作都是在web界面上操作的;9个步骤,
如果不小心点击了外网的版本,那么就会从外网下载,这个时候点击返回,依旧会下载,那么唯一的解决办法
就是停掉server,进去之后会出现已下载,也就是我们早就下载好到了parcels-repo,当然会是100%;然后第二
个步骤是分配,就是把parcels-repo里面的软件分发到agent的parcel目录去;
cloudera建议我们的/proc/sys/vm/swappiness交换内存为0,将这个文件设置为0即可;当然这样修改只是本次开机
下次开机依旧不会改成这样;可以改另一个文件;
我们后面看到的图表,监控都是来自于CM service;从最开始那个ppt图上面可以看到
在使用cm配置cdh的时候,默认是没有给我们做高可用,虽然我们使用的是cm版本五,使用的hadoop是2.x,但是
还是会有snn,只有在做了高可用之后snn才会消失;当我们只在cm上面安装hadoop的时候,有一个步骤,数据库检测
,由于安装hadoop不需要数据库,所以会一闪而过;
以下利用CM搭建CDH
Jar包存放位置:
/opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27
查看任务管理器--观察内存使用状况