这篇文章主要讲解了“CentOS7下Cloudera Manager及CDH 6.0.1的安装过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7下Cloudera Manager及CDH 6.0.1的安装过程”吧!
CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版。CDH提供Hadoop的核心元素-可伸缩存储和分布式计算-以及基于web的用户界面和重要的企业功能。CDH是Apache许可的开放源码,是唯一提供统一批处理、交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。
CDH 提供以下特性:
灵活性:存储任何类型的数据并使用各种不同的计算框架进行操作,包括批处理、交互式SQL、免费文本搜索、机器学习和统计计算。
集成:在一个完整的Hadoop平台上快速启动和运行,该平台与广泛的硬件和软件解决方案一起工作。
安全:处理和控制敏感数据。
可伸缩性:启用广泛的应用程序和规模,并扩展它们以满足您的需求。
高可用性:满怀信心地执行任务关键的业务任务。
兼容性:利用您现有的IT基础设施和投资。
CDH 组件如下图:
Cloudera Manager 是用于管理cdh集群的端到端应用程序。Cloudera Manager通过向CDH集群的每个部分提供细粒度的可见性并对其进行控制来设置企业部署标准-授权运营商提高性能、提高服务质量、提高遵从性和降低管理成本。使用Cloudera Manager,您可以轻松地部署和集中操作完整的CDH堆栈和其他托管服务。应用程序自动化安装过程,将部署时间从数周减少到分钟;为您提供在集群范围内运行主机和服务的实时视图;提供一个单一的中央控制台来执行整个集群的配置更改;并集成各种报告和诊断工具,以帮助您进行操作。
Cloudera Manager 的架构如上图所示(cs结构),主要由如下几部分组成:
服务端/Server:
Cloudera Manager 的核心。主要用于管理 web server 和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。
代理/agent:
安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。
数据库/Database:
存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的 Cloudera 管理器服务和监视,后台程序使用不同的逻辑数据库。
Cloudera Repository:由cloudera manager 提供的软件分发库。
客户端/Clients:
提供了一个与 Server 交互的接口。
Cloudera Manager包括server端和agent;server端主要作用是监控集群分发配置集群等,agent端主管集群各节点。
CDH是CM的安装包,本地或者云端,其中包括hadoop的生态系统需要的所有组件,通过Cloudera Manager统一管理和安装。
CDH除了可以通过cm安装也可以通过yum,tar,rpm安装。
类目 | 版本 | 下载地址 |
---|---|---|
操作系统 | CentOS Linux release 7.5.1804 (Core) | 使用阿里云镜像下载 |
数据库 | 5.5.60-MariaDB | yum源安装 |
JDK | jdk-8u162-linux-x64.rpm | Oracle 官网下载 |
Cloudera Manager | Cloudera Manager 6.0.1 | 官方仓库 |
CDH | CDH 6.0.1 | 使用parcels安装 |
名称 | IP | CM管理软件 |
---|---|---|
namenode01.wzlinux.com | 172.18.8.200 | Cloudera Manager Server&Agent ,MariaDB |
datanode01.wzlinux.com | 172.18.8.201 | Cloudera Manager Agent |
datanode02.wzlinux.com | 172.18.8.202 | Cloudera Manager Agent |
datanode03.wzlinux.com | 172.18.8.203 | Cloudera Manager Agent |
编辑/etc/hostname
,修改主机名,并使用命令hostname
使其立刻生效。
编辑文件/etc/hosts
,增加如下内容。
172.18.8.200 namenode01.wzlinux.com namenode01 172.18.8.201 datanode01.wzlinux.com datanode01 172.18.8.202 datanode02.wzlinux.com datanode02 172.18.8.203 datanode03.wzlinux.com datanode03
systemctl stop firewalld.service systemctl disable firewalld.service
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config setenforce 0
echo "$((RANDOM%60)) $((RANDOM%24)) * * * /usr/sbin/ntpdate time1.aliyun.com" >> /var/spool/cron/root
CDH配置需要
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
并将上面的两条命令写入开机自启动/etc/rc.local
。
echo "vm.swappiness = 10" >> /etc/sysctl.conf sysctl -p
wget https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/ rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera
使用仓库安装会比较慢,建议先把需要的rpm下载下来,进行离线安装或者建私有仓库,主要下面的三个软件包:
cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-daemons
是 server
和 agent
必须安装的。
rpm -ivh jdk-8u162-linux-x64.rpm
建议离线安装,把rpm包下载到服务器上面,传到其他节点一份,再本地安装,速度会快很多。
namenode01:
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
datanode0[1-3]:
yum install cloudera-manager-daemons cloudera-manager-agent
我们这里现在 CentOS 7.5 自带的 MariaDB,版本是支持的。
yum install mariadb-server -y
编辑配置文件/etc/my.cnf
,修改成如下内容:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock transaction-isolation = READ-COMMITTED # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: symbolic-links = 0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd key_buffer = 16M key_buffer_size = 32M max_allowed_packet = 32M thread_stack = 256K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 max_connections = 550 #expire_logs_days = 10 #max_binlog_size = 100M #log_bin should be on a disk with enough free space. #Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your #system and chown the specified folder to the mysql user. log_bin=/var/lib/mysql/mysql_binary_log #In later versions of MariaDB, if you enable the binary log and do not set #a server_id, MariaDB will not start. The server_id must be unique within #the replicating group. server_id=1 binlog_format = mixed read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M # InnoDB settings innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 4G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
打开数据库
systemctl enable mariadb systemctl start mariadb
初始化数据库
/usr/bin/mysql_secure_installation
按照下面提示输入。
[...] Enter current password for root (enter for none): OK, successfully used password, moving on... [...] Set root password? [Y/n] Y New password: Re-enter new password: [...] Remove anonymous users? [Y/n] Y [...] Disallow root login remotely? [Y/n] N [...] Remove test database and access to it [Y/n] Y [...] Reload privilege tables now? [Y/n] Y [...] All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
用于各节点连接数据库。
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz tar xf mysql-connector-java-5.1.46.tar.gz mkdir -p /usr/share/java/ cd mysql-connector-java-5.1.46 cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
使用root登陆数据库,创建以下数据库和账号。
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'wzlinux'; CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'wzlinux';
[root@namenode01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm Enter SCM password: JAVA_HOME=/usr/java/jdk1.8.0_162 Verifying that we can write to /etc/cloudera-scm-server Creating SCM configuration file in /etc/cloudera-scm-server Executing: /usr/java/jdk1.8.0_162/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. [ main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly!
CM安装成功之后,接下来我们就可以通过CM安装CDH的方式构建企业大数据平台。所以首先需要把CDH的parcels包下载到CM主服务器上。
同样的,我们为了加速我们的安装,我们可以把需要下载的软件包提前下载下来,也可以创建CDH私有仓库。
[root@namenode01 ~]# cd /opt/cloudera/parcel-repo wget https://archive.cloudera.com/cdh7/6.0.1/parcels/CDH-6.0.1-1.cdh7.0.1.p0.590678-el7.parcel wget https://archive.cloudera.com/cdh7/6.0.1/parcels/manifest.json
在manifest.json文件中,找到对应版本的秘钥,复制到.sha文件中。
echo "2e650f1f1ea020a3efc98a231b85c2df1a50b030" > CDH-6.0.1-1.cdh7.0.1.p0.590678-el7.parcel.sha
修改属主属组。
chown cloudera-scm.cloudera-scm /opt/cloudera/parcel-repo/*
[root@namenode01 ~]# systemctl start cloudera-scm-server
如果启动中有什么问题,可以查看日志。
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
在最后显示的日志中,有显示启动监听的端口。
Started ServerConnector@da518cb{SSL,[ssl, http/1.1]}{0.0.0.0:7183} Started ServerConnector@a77165b{HTTP/1.1,[http/1.1]}{0.0.0.0:7180}
浏览器打开http://172.18.8.200:7183
,用户名和密码默认都是admin
。
接收许可。
这里我们选择免费版,收费版请自行选择。
指定要添加的节点。
选择存储库,之前我们已经在 CM Server 节点配置好了。
不进行勾选,选择我们自己安装的 JDK。
提供 SSH 登录凭据。
安装 agents,因为之前我们已经安装了,所以这里速度会很快。
安装选定的Parcel,之前我们已经下载好,并配置好放在的 CM Server 节点的/opt/cloudera/parcel-repo
。
检查主机正确性。
选择要安装的服务,可以根据自己的需求进行软件安装。
自定义角色分配。
数据库设置。
审核更改,如果有特定目录的设定或者参数的设定,可以在这里进行更正。
首次运行。
安装完成。
首页Dashboard。
HDFS。
HBase。
感谢各位的阅读,以上就是“CentOS7下Cloudera Manager及CDH 6.0.1的安装过程”的内容了,经过本文的学习后,相信大家对CentOS7下Cloudera Manager及CDH 6.0.1的安装过程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。