--- title: "CentOS7 安装 Cloudera Manager" date: 2020-08-16T13:48:37+08:00 lastmod: 2020-08-16T18:27:00+08:00 keywords: [] tags: [cloudera cdh] categories: ["hadoop"] --- ## 环境 角色 | IP | 主机名 | 服务 ---- | ---- | ---- | ---- Utility | 192.168.1.100 | cm0.colben.cn | ClouderaManager
ClouderaManagerManagementService
HiveMetastore Gateway | 192.168.1.101 | gw0.colben.cn | GatewayConfiguration
HiveServer2
Zookeeper Master | 192.168.1.102 | m0.colben.cn | NameNode
JournalNode
FailoverController
YarnResourceManager
Zookeeper Master | 192.168.1.103 | m1.colben.cn | NameNode
JournalNode
FailoverController
YarnResourceManager
Zookeeper Worker | 192.168.1.104 | w0.colben.cn | DataNode
NodeManager Worker | 192.168.1.105 | w0.colben.cn | DataNode
NodeManager Worker | 192.168.1.106 | w0.colben.cn | DataNode
NodeManager ## 配置 ssh 免密登陆 - 在 cm0 上配置 ssh 可免密登陆全部服务器 ``` ssh-keygen seq -f'192.168.1.%g' 100 106 | xargs -L1 ssh-copy-id ``` - 这里的**私钥会在后面通过界面增加主机时用到** ## 关闭防火墙和 selinux - 在全部服务器上关闭防火墙 ``` systemctl stop firewalld systemctl disable firewalld ``` - 在全部服务器上关闭 selinux ``` setenforce 0 sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config ``` ## 配置网络名称 - 在全部服务器上修改 /etc/hosts,增加如下解析记录 ``` 192.168.1.100 cm0.colben.cn cm0 192.168.1.101 gw0.colben.cn gw0 192.168.1.102 m0.colben.cn m0 192.168.1.103 m1.colben.cn m1 192.168.1.104 w0.colben.cn w0 192.168.1.105 w1.colben.cn w1 192.168.1.106 w2.colben.cn w2 ``` - 在全部服务器上修改 /etc/sysconfig/network,增加各自主机名设置 ``` HOSTNAME=XXXX.colben.cn ``` - 在全部服务器上设置各自主机名 ``` hostnamectl set-hostname XXXX.colben.cn ``` ## 配置时间同步 - 在 cm0 上配置修改 /etc/chrony.conf ``` server ntp.aliyun.com iburst allow 192.168.1.0/24 ``` - 在其他服务器上修改 /etc/chrony.conf ``` server cm0.colben.cn iburst ``` - 在全部服务器上重启 chronyd 服务 ``` systemctl restart chronyd ``` ## 配置 cloudera manager 内网安装源 - 在 cm0 上安装并启动 httpd 服务 ``` yum install httpd systemctl enable httpd systemctl start httpd ``` - 在 cm0 上下载 cloudera manager yum 仓库 ``` mkdir -p /var/www/html/cloudera-repos/cm6/6.3.1 wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz tar zxf cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6/6.3.1 --strip-components=1 chmod -R ugo+rX /var/www/html/cloudera-repos/cm6 ``` - 在 cm0 上下载 cdh yum 仓库(**体积较小,需手动升级**) ``` mkdir -p /var/www/html/cloudera-repos wget --recursive --no-parent --no-host-directories \ https://archive.cloudera.com/cdh6/6.3.2/redhat7/ -P /var/www/html/cloudera-repos wget --recursive --no-parent --no-host-directories \ https://archive.cloudera.com/gplextras6/6.3.2/redhat7/ -P /var/www/html/cloudera-repos chmod -R ugo+rX /var/www/html/cloudera-repos/cdh6 chmod -R ugo+rX /var/www/html/cloudera-repos/gplextras6 ``` - 在 cm0 上下载 cdh parcel 仓库(**体积较大,可通过界面操作自动升级**) ``` mkdir -p /var/www/html/cloudera-repos wget --recursive --no-parent --no-host-directories \ https://archive.cloudera.com/cdh6/6.3.2/parcels/ -P /var/www/html/cloudera-repos wget --recursive --no-parent --no-host-directories \ https://archive.cloudera.com/gplextras6/6.3.2/parcels/ -P /var/www/html/cloudera-repos chmod -R ugo+rX /var/www/html/cloudera-repos/cdh6 chmod -R ugo+rX /var/www/html/cloudera-repos/gplextras6 ``` - 在 cm0 上创建 cloudera.repo,并重建 yum 缓存 ``` cat > /etc/yum.repos.d/cloudera.repo <<-EOF [cloudera-manager] name=cloudera-manager baseurl=http://cm0.colben.cn/cloudera-repos/cm6/ enabled=1 gpgcheck=0 EOF yum clean all yum makecache fast ``` - 通过界面增加其他主机时,cloudera manager 会自动部署该 repo 文件 ## 安装 jdk - 在 cm0 上安装 jdk ``` yum install oracle-j2sdk1.8 ``` - 通过界面增加其他主机时,可自动安装 oracle-j2sdk1.8 ## 安装 cloudera manager - 在 cm0 上安装 cloudera-manager ``` yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server ``` ## 配置 cloudera manager 数据库 - 在 cm0 上安装 mysql,[参考这里](/post/mysql5.7-install/) - 官方推荐 my.cnf ``` [mysqld] transaction-isolation = READ-COMMITTED symbolic-links = 0 sql_mode=STRICT_ALL_TABLES 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 = 600 log_bin=/var/lib/mysql/mysql_binary_log server_id=1 binlog_format = mixed read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M 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 ``` - 在 cm0 上启动 mysql ``` systemctl enable mysqld systemctl start mysqld ``` - 在 cm0 上的 mysql 中创建数据库和用户 ``` CREATE DATABASE scm DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE amon DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE rman DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE hue DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE metastore DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE sentry DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE nav DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE navms DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; CREATE DATABASE oozie DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON scm.* to scm@'%' identified by 'Pass-1234'; GRANT ALL ON amon.* to amon@'%' identified by 'Pass-1234'; GRANT ALL ON rman.* to rman@'%' identified by 'Pass-1234'; GRANT ALL ON hue.* to hue@'%' identified by 'Pass-1234'; GRANT ALL ON metastore.* to hive@'%' identified by 'Pass-1234'; GRANT ALL ON sentry.* to sentry@'%' identified by 'Pass-1234'; GRANT ALL ON nav.* to nav@'%' identified by 'Pass-1234'; GRANT ALL ON navms.* to navms@'%' identified by 'Pass-1234'; GRANT ALL ON oozie.* to oozie@'%' identified by 'Pass-1234'; ``` - 在 cm0 上初始化数据库 ``` /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm /opt/cloudera/cm/schema/scm_prepare_database.sh mysql amon amon /opt/cloudera/cm/schema/scm_prepare_database.sh mysql rman rman /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hue hue /opt/cloudera/cm/schema/scm_prepare_database.sh mysql metastore hive /opt/cloudera/cm/schema/scm_prepare_database.sh mysql sentry sentry /opt/cloudera/cm/schema/scm_prepare_database.sh mysql nav nav /opt/cloudera/cm/schema/scm_prepare_database.sh mysql navms navms /opt/cloudera/cm/schema/scm_prepare_database.sh mysql oozie oozie ``` - 在全部服务器上安装 mysql connector ``` wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz tar zxvf mysql-connector-java-5.1.46.tar.gz mkdir -p /usr/share/java/ cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar \ /usr/share/java/mysql-connector-java.jar ``` ## 启动 cloudera manager - 在 cm0 上启动 cloudera manager ``` systemctl start cloudera-scm-server ``` - 日志: /var/log/cloudera-scm-server/cloudera-scm-server.log - 日志出现如下信息,表示 cloudera-scm-server 启动完成 ``` INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server. ``` - 浏览器访问 - 地址: http://cm0.colben.cn:7180/ - 用户: admin - 密码: admin