笔者须要维护线上的hadoop集群环境,考虑在本地搭建一套相似的hadoop集群,便于维护与管理。html
通过搜索发现Cloudera产品很适合笔者当前需求,因而开始研究Cloudera(CDH)的安装与使用,参考:java
CDH是Apache Hadoop和相关项目的最完整,通过测试的流行发行版。 CDH提供了Hadoop的核心元素 - 可扩展的存储和分布式计算 - 以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开放源码,是惟一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。node
Cloudera做为一个强大的商业版数据中心管理工具,提供了各类可以快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala作为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提升运行效率;同时Cloudera中提供的各类组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它全部相关组件,并有必定的容错容灾处理;Cloudera做为一个普遍使用的商业版数据中心管理工具更是对数据的安全决不妥协!python
CDH 提供:mysql
上述描述来自:https://www.cloudera.com/docu...linux
Cloudera Manager能够轻松管理任何生产规模的Hadoop部署。经过直观的用户界面快速部署,配置和监控群集 - 完成滚动升级,备份和灾难恢复以及可定制警报。 Cloudera Manager做为Cloudera Enterprise的集成和支持部分提供。sql
Cloudera Manager Server与其余几个组件一块儿工做:浏览器
客户端 - 是与服务器交互的接口:安全
系统环境:CentOS6.9
软件环境:Oracle JDK、Cloudera Manager Server 和 Agent 、数据库、CDH各组件
# 关闭iptables、禁用selinux /etc/init.d/iptables stop && chkconfig iptables off sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 # 每台服务器之间设置免密认证 # CM 192.168.1.137 cdh.master.aniu.so master 192.168.1.148 cdh.node1.aniu.so node1 192.168.1.149 cdh.node2.aniu.so node2 192.168.1.150 cdh.node3.aniu.so node3 ## 注:在每台服务器配置hosts,master和node1/2/3表明服务器的主机名 # 设置swap参数 echo never > /sys/kernel/mm/transparent_hugepage/defrag #建议写到开启启动新里 sysctl -w vm.swappiness=0 # 建议写进sysctl.conf # 设置ntp同步服务器时间 */2 * * * * /usr/sbin/ntpdate 0.cn.pool.ntp.org >> /dev/null 2>&1
Cloudera安装步骤
参考:https://www.cloudera.com/docu...
[Java SE 8 Downloads](http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html) export JAVA_HOME=/usr/java/jdk.1.8.0_nn # java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) # 注 此处不用安装JDK,由于CM源有封装好的jdk,
# 使用mysql数据库,提早安装好mysql # mysql -u root -ppassword -e "create database cmf DEFAULT CHARACTER SET utf8;" # mysql -u root -ppassword -e "GRANT ALL PRIVILEGES ON `cmf`.* TO 'cmf'@'localhost' IDENTIFIED BY 'cmfpassword'";"
# 配置cloudera-cdh源和cloudera-manager源 # cloudera-manager wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo # cloudera-cdh wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo # 安装jdk和cloudera-manager sudo yum install oracle-j2sdk1.7 -y sudo yum install cloudera-manager-daemons cloudera-manager-server -y
# /etc/init.d/cloudera-scm-server restart Stopping cloudera-scm-server: [ OK ] Starting cloudera-scm-server: [ OK ] # 查看日志是否有报错,根据报错修改,而后再从新启动 tailf /var/log/cloudera-scm-server/cloudera-scm-server.log
浏览器访问:http://192.168.1.137:7180,用户名密码:admin admin
# 参考:https://www.cloudera.com/documentation/enterprise/latest/topics/install_cm_mariadb.html # hive hue amon man nas navms oos create database metastore DEFAULT CHARACTER SET utf8; grant all on metastore.* TO 'hive'@'%' IDENTIFIED BY 'Aniuhive123.'; create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'Aniuamon123.'; create database hue DEFAULT CHARACTER SET utf8; grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'Aniuhue123.'; create database rman DEFAULT CHARACTER SET utf8; grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'Aniurman123.'; create database navms DEFAULT CHARACTER SET utf8; grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'Aniunavms123.'; create database nas DEFAULT CHARACTER SET utf8; grant all on nas.* TO 'nas'@'%' IDENTIFIED BY 'Aniunas123.'; create database oos DEFAULT CHARACTER SET utf8; grant all on oos.* TO 'oos'@'%' IDENTIFIED BY 'Aniuoos123.';
系统自带的python不能升级,升级会致使安装CM agent出问题
# 笔者前期系统初始化部分不少操做都不完善,卸载重装CM步骤 # 安装CDH manager的服务器上面执行 yum remove cloudera-manager-server -y # 在全部的服务器执行下面操做 /etc/init.d/cloudera-scm-agent stop yum remove cloudera-manager-agennt-y find / -name clouder* | xargs rm -rf find / -name cmf* | xargs rm -rf # 把使用yum下载的相关包卸载干净。而后经过CDH manager 管理界面安装