美文网首页
搭建CDH-6.1.0环境

搭建CDH-6.1.0环境

作者: 来杯熊酱不加糖 | 来源:发表于2020-03-27 00:28 被阅读0次

一、集群安装注意事项

1.hive元数据库编码问题 

-- 修改数据库comment alter table DBS modify column `DESC` varchar(4000) CHARACTER SET utf8 DEFAULT  NULL;

-- 修改表字段和表注释 alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character  set utf8; alter table COLUMNS_V2 modify column COMMENT varchar(256) character set  utf8;

-- 修改分区字段注释 alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000)  character set utf8; alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000)  character set utf8;

-- 修改索引注释 alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character  set utf8;

2.修改日志存放目录,避免根目录空间不够 

通过CM管理端修改CDH日志存放目录为/data/cdh_var/ 修改完配置后,需要重启集群生效

3.hive去重写入,需要创建其用户对应权限的HDFS文件目录 

切换用户su hdfs进入不了

出现This account is currently not available. 用vi看看 hdfs的帐号信息 # cat /etc/passwd|grep hdfs hdfs:x:995:992:Hadoop HDFS:/var/lib/hadoop-hdfs:/sbin/nologin 发现它的shell是“/sbin /nologin”,需要将其改成“/bin/bash” # vim /etc/passwd 修改完毕后,保存退出 这样再 su hdfs就进去了。

https://blog.csdn.net/qq_27575895/article/details/94436304;

su - hdfs hdfs dfs -mkdir /user/root hdfs dfs -chown root:hdfs /user/root exit

# 关闭hdfs参数为false dfs.permissions

4.CDH6的hdfs端口为:9870

二、CentOS7离线安装部署CDH6.1.0 

1.下载相关安装包 Cloudera Manager 下载地址: 

https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/clouderamanager-agent-6.1.0-769885.el7.x86_64.rpm 

https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/clouderamanager-daemons-6.1.0-769885.el7.x86_64.rpm 

https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/clouderamanager-server-6.1.0-769885.el7.x86_64.rpm

jdk 下载地址: https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/oraclej2sdk1.8-1.8.0+update141-1.x86_64.rpm

CDH 安装包下载地址:https://archive.cloudera.com/cdh6/6.1.0/parcels/ 需要下载以下文件: CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel manifest.json

2.安装五台服务器 (三台也可)

3.修改主机名及映射主机名(所有节点/重启)

 修改主机名:hostnamectl set-hostname 设置映射主机名,将以下内容添加到 /etc/hosts 文件: 

XX.XX.1.40  tvbismat00 

XX.XX.1.225  tvbismat01 

XX.XX.1.102  tvbiscor00 

XX.XX.1.233  tvbiscor01 

10.35.1.64  tvbisweb00

4.关闭防火墙和 selinux(所有节点)

 查看防火墙:systemctl status firewalld.service 执行关闭命令:systemctl stop firewalld.service 执行开机禁用防火墙命令:systemctl disable firewalld.service 关闭selinux:vi /etc/sysconfig/selinux 将 SELINUX=enforcing 改为  SELINUX=disabled

5.时钟同步(所有节点)

 安装 NTP yum -y install ntp  编辑 /etc/ntp.conf 文件添加 NTP 服务器 server 0.cn.pool.ntp.org server 1.cn.pool.ntp.org server 2.cn.pool.ntp.org server 3.cn.pool.ntp.org 

启动 NTP systemctl enable ntpdsystemctl start ntpd 

手工同步网络时间 ntpdate -u 0.cn.pool.ntp.org 

同步系统时钟 hwclock --systohc

6.配置 ssh 免密登录(所有节点)

 在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中 登录cdh1-master,在.ssh目录下输入命令: 

ssh-keygen -t rsa 

三次回车后,该目录下将会产生id_rsa,id_rsa.pub文件。其他主机也使用该方式产生密钥 文件。 

登录cdh1-master,将id_rsa.pub公钥内容拷贝到authorized_keys文件中输入命令: cat id_rsa.pub >> authorized_keys

 赋予权限: chmod 600 authorized_keys

登录其他主机,将其他主机的公钥文件内容都拷贝到cdh1-master主机上的 authorized_keys文件中,命令如下: 

ssh-copy-id -i cdh1-master #登录cdh2-slave,将公钥拷贝到cdh1-master的 authorized_keys中ssh-copy-id -i cdh1-master #登录cdh3-slave,将公钥拷贝到cdh1master的authorized_keys中 

登录cdh1-master,将授权文件拷贝到cdh2-slave、cdh3-slave…,命令如下: scp /root/.ssh/authorized_keys cdh2-slave:/root/.ssh/ #拷贝到cdh2-slave上 scp /root/.ssh/authorized_keys cdh3-slave:/root/.ssh/ #拷贝到cdh3-slave上 

7.禁用透明大页面压缩(所有节点) 

打开编辑 /etc/rc.local 文件: 

vi /etc/rc.local 

添加以下内容: 

echo never > /sys/kernel/mm/transparent_hugepage/defragecho never >  /sys/kernel/mm/transparent_hugepage/enabled

8.优化交换分区(所有节点) 

RHEL6 

编辑 /etc/sysctl.conf 并添加 

vm.swappiness=0 vi /etc/sysctl.conf

RHEL7 

tuned 服务会动态调整系统参数,查找 tuned 中配置,直接将配置修改为  

vm.swappiness=0 

cd /usr/lib/tuned/grep"vm.swappiness" * -R

9.安装jdk(所有节点)

 yum -y install oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

 vi /etc/profile 末尾添加以下内容 

#set jdk environment 

export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

10.安装mysql(master) (用于数据计算结果回写到关系型数据库)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el710.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server systemctl start mysqld systemctl status mysqld grep"password" /var/log/mysqld.log mysql -u root -p

登录后修改密码(尽量复杂一点,太简单了验证不通过,也可以查看如何关闭mysql校验规 则)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc123!@#';

修改mysql外网访问: 增加允许远程访问的用户或者允许现有用户的远程访问。 给root授予在任意主机(%)访问任意数据库的所有权限。

use mysql;update user set host='%' where user='root' and host='localhost';exit systemctl restart mysqld

启动服务并设置开机启动: systemctl enable mysqld

11.安装mysql JDBC 驱动(master) 

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java5.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

12.为下表中每个服务创建 utf8 字符集的数据库:

Service database user

Cloudera Manager Server scm scm

Activity Monitor amon amon

Reports Manager rman rman Hue hue hue

Hive Metastore Server metastore hive

Sentry Server sentry sentry

Cloudera Navigator Audit Server nav nav

Cloudera Navigator Metadata Server navms navms

Oozie oozie oozie 

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'Abc123!@#';

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci; GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'Abc123!@#';flush privileges;

13.安装cloudera manager包 

master 节点: yum -y install cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm yum -y install cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm yum -y install cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm

slave 节点: yum -y install cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm yum -y install cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm

14.修改 agent 的服务器地址(所有节点) 

打开并编辑 /etc/cloudera-scm-agent/config.ini 文件:

vi /etc/cloudera-scm-agent/config.ini 将 server_host=localhost 改为 master 节点主机名 tvbismat00

15.启动 agent 服务(所有节点) 

systemctl start cloudera-scm-agent

16.准备Cloudera Manager数据库(master) 

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm 输入scm的密码若已存在,则执行: rm /etc/cloudera-scm-server/db.mgmt.properties

17.准备parcel包(master) 

将已下载的 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel 和 manifest.json 拷贝至  /opt/cloudera/parcel-repo/ 目录,并且生成 parcel 包的 sha 值: sha1sum /opt/cloudera/parcel-repo/CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel 将 sha 值填入到 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha 文件中 vi /opt/cloudera/parcel-repo/CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha

18.启动Cloudera Manager Server(master) 

启动: systemctl start cloudera-scm-server

19.查看启动日志 

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

看到下面的信息,说明启动完成 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

20.启用Auto-TLS以自动创建证书(master)

单点登录:https://cloud.tencent.com/developer/article/1380979

慎用:我用过之后agent连接不了server,导致我装了好多遍,跟证书配置有关系,熟悉可以试一下

JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera /opt/cloudera/cmagent/bin/certmanager --location /opt/cloudera/CMCA setup --configure-services

21.登录web页面

地址:http://xxx:7180 ;账号/密码:admin/123456

相关文章

  • 搭建CDH-6.1.0环境

    一、集群安装注意事项 1.hive元数据库编码问题 -- 修改数据库comment altertableDBSmo...

  • React Native学习总结篇

    一、环境搭建 1.1 React Native环境搭建 1.1.1 IOS环境搭建 环境:MacOS 注意:不要使...

  • linux 第四天

    Lamp环境搭建 /*******************Lamp环境搭建:*******************...

  • codePush说明

    codePush环境搭建 环境搭建文章:环境搭建 git地址:codePush git地址2.0.3,And...

  • angular学习--02英雄指南

    环境搭建 angular官网--搭建本地开发环境和工作空间windows 10 搭建angular开发环境免搭建环...

  • Gradle开发-Groovy环境搭建

    ##Groovy环境搭建 在使用 Groovy 之前首先要搭建几个环境: Groovy 的环境搭建 JDK 环境搭...

  • 搭建 LNMP + CodeIgniter 开发环境

    搭建 LNMP + CodeIgniter 开发环境搭建 LNMP 环境首先搭建 LNMP 的服务器环境安装 Ng...

  • iOS中RN与Flutter混合开发

    一 搭建环境 1. 搭建flutter环境 1.1 搭建系统开发环境 参考链接:https://flutter....

  • 第一个MyBatis程序

    思路:搭建环境---导入MyBatis--编写代码---测试! 一、搭建环境 1、搭建数据库环境: engine=...

  • Robot Framework用法总结

    一,环境的搭建 关于robotframework环境搭建请参考博文:Robot Framework的环境搭建[ht...

网友评论

      本文标题:搭建CDH-6.1.0环境

      本文链接:https://www.haomeiwen.com/subject/gtlkuhtx.html