专栏首页share ai happiness大数据平台 CDH 6.2 搭建

大数据平台 CDH 6.2 搭建

https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/

CDH6.2.0安装包地址:

https://archive.cloudera.com/cdh6/6.2.0/parcels/

由于我们的操作系统为CentOS7,需要下载以下文件:

当然你还可以选择我的资料

链接:

https://pan.baidu.com/s/1dj-UhMKkxsj7Aw9btqcuZg

提取码:zo7r

系统准备

1. 准备虚拟机(根据自己的系统资源分配虚拟机资源)

操作系统

CPU

内存

硬盘

hostname

ip

角色

CentOS(64位)

2vCPU

16GiB

800GiB

manager

192.168.124.100

clouder-manager

CentOS(64位)

2vCPU

32GiB

800GiB

node1

192.168.124.101

CentOS(64位)

2vCPU

32GiB

800GiB

node2

192.168.124.102

CentOS(64位)

2vCPU

32GiB

800GiB

node3

192.168.124.103

2. 静态IP设置(每个节点)

sudo su -- 切换到root用户

vi /etc/sysconfig/network-scripts/ifcfg-ens192
service network restart 重启网络生效
yum install -y net-tools ifconfig查看设置

3. 编辑/etc/hosts文件(每个节点)

vim /etc/hosts

[root@10-43-75-89 ecarx_dev]# hostnamectl set-hostname slave02

192.168.124.100 master

192.168.124.101 slave01

192.168.124.102 slave02

192.168.124.103 slave03

4. 关闭防火墙、禁止防火墙开机自启(每个节点)

  • systemctl stop firewalld 关闭防火墙
  • systemctl disable firewalld 禁止防火墙开机自启
  • vi /etc/selinux/config —> SELINUX=disabled (修改)

5. ssh无密码登录,只需要执行红色的都行

  • manager节点执行ssh-keygen -t rsa 一路回车到结束,在/root/.ssh/下面会生成一个公钥文件id_rsa.pub
  • cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 将公钥追加到authorized_keys
  • chmod 600 ~/.ssh/authorized_keys 修改权限
  • 将~/.ssh从当前节点分发到其他各个节点。如:scp -r ~/.ssh/ root@node1:~/.ssh/

[root@master parcel]# for i in {1..2}; do ssh -p52222 root@slave0$i cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done

[root@master parcel]# for i in {1..2}; do scp -P52222 /root/.ssh/authorized_keys root@slave0$i:/root/.ssh/authorized_keys; done

ssh-keygen -t rsa

[root@master ecarx_dev]# ssh-copy-id master [root@master ecarx_dev]# ssh-copy-id slave01 [root@master ecarx_dev]# ssh-copy-id slave02

scp -P52222 ./aa.txt 10.43.75.89:/

1、scp指定端口传输,端口需放在scp后面 scp -P52222 -r ~/.ssh/ root@10.43.16.89:~/.ssh/ scp -P 34543 -r spark xiaojp@120.26.233.3:~/2、ssh指定端口登录:ssh -p 34543 xiaojp@120.26.233.3 scp -P52222 ./abc.txt root@10.43.16.89:/root

  • ssh 各个节点互相登陆

6. 配置NTP服务(所有节点如果公司的时间同步则可以跳过)

  • 修改时区(改为中国标准时区)ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 安装ntp yum -y install ntp
  • ntp主机配置 vim /etc/ntp.conf
  • manager节点
  • 其余节点
  • 重新启动 ntp 服务:service ntpd restart
  • 设置开机自启:systemctl enable ntpd.service
  • ntpdc -c loopinfo #查看与时间同步服务器的时间偏差
  • ntpq -p #查看当前同步的时间服务器
  • ntpstat #查看状态
  • 配置成功状态(服务开启后前面出现*说明成功):

7. 修改Linux swappiness参数(所有节点)

为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)

echo 0 > /proc/sys/vm/swappiness

这样操作重启机器还是还原

修改配置文件,开机自动设置参数

编辑vim /etc/sysctl.conf

在最后添加vm.swappiness=0

  • 上述方法rhel6(指的是以前的版本centos5左右的)有效,rhel7.2中:tuned服务会动态调整系统参数
  • 查找tuned中配置,直接修改配置
  • cd /usr/lib/tuned/
  • grep “vm.swappiness” * -R 查询出后依次修改
  • 上述方法不能用
  • [root@ceph2 lib]# cd /usr/lib/tuned/
  • [root@ceph2 tuned]# grep "vm.swappiness" * -R
  • 在进行各个设置为0 swappiness

修改完确认:

  • 参考:sysctl修改内核参数

重启不生效:

https://blog.csdn.net/ygtlovezf/article/details/79014299

8. 禁用透明页(所有节点)

  • echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • echo never > /sys/kernel/mm/transparent_hugepage/enabled
  • 永久生效 在/etc/rc.local 添加上面命令
  • vi /etc/rc.local
  • 给与可执行权限:chmod +x /etc/rc.local

9. JDK安装(所有节点)

  • rpm -qa | grep java # 查询已安装的java
  • yum remove java* # 卸载
  • rpm-ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
  • vi /etc/profile 末尾添加
# java 
export JAVA_HOME=/usr/java/jdk1.8.0_181-clouderaexport 
CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/libexport 
PATH=$PATH:$JAVA_HOME/bin
  • source /etc/profile
  • java -version验证

10. 创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)

  • mkdir -p /usr/share/java
  • mv/opt/mysql-j/mysql-connector-java-5.1.34.jar /usr/share/java/
  • mysql-connector-java-5.1.34.jar 一定要命名为mysql-connector-java.jar
  • mv./mysql-connector-java-5.1.34.jar mysql-connector-java.jar

11. 为保证防火墙、虚拟机参数修改后生效,各节点机器需要重启 reboot

12. Mysql安装

  • 卸载mariadb:rpm -qa|grep mariadb
  • rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
  • cd /opt/mysql/
  • tar -xvf ./mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar
  • rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm
  • rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm
  • rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm
  • rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
  • rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm
  • MYSQL配置:
  • mysqld --initialize --user=mysql # 初始化mysql使mysql目录的拥有者为mysql用户
  • cat /var/log/mysqld.log # 最后一行将会有随机生成的密码
  • systemctl start mysqld.service # 设置mysql服务自启
  • mysql -uroot –p 如果不能登陆
  • 设置免密登录并重启mysql服务(先开启免密登陆,设置完密码以后,一定要注释了restart)
  • vi /etc/my.cnf
  • 注意:字母的符号一定是英文的否则报错
  • systemctl restart mysqld
  • #登录
$>mysql -u root
mysql>use mysql;
mysql>update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
mysql>exit;

在这里进行之后,把skip-grant-tables 注释,重新启动mysql,链接mysql

mysql -uroot -p123456
  • 创建库(后续安装服务等使用)
  • cmserver

CREATE DATABASE test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

CREATE DATABASE cmserver DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON cmserver.* TO 'cmserver'@'%' IDENTIFIED BY 'Yyf5211314!'; hive中的元数据 CREATE DATABASE metastore DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'Yyf5211314!'; Activity Monitor CREATE DATABASE amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'Yyf5211314!'; ReportsManager CREATE DATABASE rman DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'Yyf5211314!'; CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'Yyf5211314!'; HUE CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'Yyf5211314!'; Navigator Audit Server CREATE DATABASE nav DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'Yyf5211314!'; Navigator Metadata Server CREATE DATABASE navms DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'Yyf5211314!';

授权用户 (1)任意主机以用户root和密码pwd连接到mysql服务器 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pwd' WITH GRANT OPTION; mysql> flush privileges; (2)指定IP为(如192.168.1.100)的主机以用户tuser和密码tpwd连接到mysql服务器 mysql> GRANT ALL PRIVILEGES ON *.* TO 'tuser'@'192.168.1.100' IDENTIFIED BY 'tpwd' WITH GRANT OPTION; mysql> flush privileges;

//允许root用户进行访问链接

use mysql

mysql> select host, user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | amon | | % | amonuser | | % | cmserver | | % | cmserveruser | | % | hive | | % | hiveuser | | % | hue | | % | hueuser | | % | nav | | % | navms | | % | oozie | | % | oozieuser | | % | rman | | % | rmanuser | | % | root | | % | sentry | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;

13. 安装Httpd服务(manager)

  • yum install httpd
  • service httpd start
  • systemctl enable httpd.service 设置httpd服务开机自启

14. 防止出现莫名错误,事先安装以下插件(所有节点)(我只在主节点)这一步我没成功,而是更新本地的yum源以后,进行的第17没有执行

  • yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server --skip-broken --nogpgcheck

15. 配置Cloudera Manager包,配置本地yum源(manager节点)

  • vi /etc/yum.repos.d/cloudera-manager.repo

[cloudera-manager] name = Cloudera Manager, Version baseurl = http://master/cloudera-repos/cm6/ gpgcheck = 1

注意路径:http://master/cloudera-repos/cm6/

  • yum clean all
  • yum makecache

[root@master cm5.16]# yum clean all && yum makecache Loaded plugins: fastestmirror Cleaning repos: base cloudera-manager epel extras updates Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors Loaded plugins: fastestmirror base | 2.9 kB 00:00:00 cloudera-manager | 2.9 kB 00:00:00 epel | 2.9 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/15): base/primary_db | 6.0 MB 00:00:00 (2/15): base/other_db | 2.6 MB 00:00:00 (3/15): cloudera-manager/filelists_db | 88 kB 00:00:00 (4/15): cloudera-manager/primary_db | 11 kB 00:00:00 (5/15): base/filelists_db | 7.1 MB 00:00:00 (6/15): cloudera-manager/other_db | 1.1 kB 00:00:00 (7/15): epel/filelists_db | 14 MB 00:00:00 (8/15): epel/primary_db | 7.4 MB 00:00:00 (9/15): epel/other_db | 3.5 MB 00:00:00 (10/15): extras/filelists_db | 250 kB 00:00:00 (11/15): extras/primary_db | 216 kB 00:00:00 (12/15): extras/other_db | 132 kB 00:00:00 (13/15): updates/filelists_db | 5.2 MB 00:00:00 (14/15): updates/other_db | 764 kB 00:00:00 (15/15): updates/primary_db | 7.4 MB 00:00:00 Determining fastest mirrors Metadata Cache Created [root@master cm5.16]#

16.导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)manager节点

rpm--import https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPM-GPG-KEY-cloudera

17. 安装 Cloudera Manager(manager节点 和最上面类似14)

  • sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
  • 安装完CM后/opt/ 下会出现cloudera目录
  • mv /opt/parcels/* /opt/cloudera/parcel-repo # 将parcel包移动到指定位置
  • 在/opt/cloudera/parcel-repo执行以下命令:
  • sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel | awk '{ print $1 }' > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
  • 执行初始化脚本:Yyf5211314!和上面设置的对应的数据库的密码保持一直
  • /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver cmserveruser Yyf5211314!
  • 打开server服务:
  • service cloudera-scm-server start
  • 静候几分钟,打开http://master:7180

本文分享自微信公众号 - 1001次重燃(smile765999),作者:木野归郎

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HTTP和HTTPS的那些事

    HTTPS 在 HTTP 与 TCP 层之间加入了 SSL/TLS 协议,可以很好的解决了上述的风险:

    木野归郎
  • MNIST数据集介绍及计算

    最近也是考试多,没来得及更新文章。废话不多说,理论讲太多没啥感觉,不清楚的可以翻到前面的文章仔细看看。

    木野归郎
  • Elasticsearch 加班不睡觉(一)

    在实际MySQL业务中,一般会先验证sql有没有问题,如果没有问题,再写业务代码。实际ES业务中,也一样,先DSL确认没有问题,再写业务代码。

    木野归郎
  • 14个Linux系统安全小妙招,总有一招用的上

    对于互联网IT从业人员来说,越来越多的工作会逐渐转移到Linux系统之上,这一点,无论是开发、运维、测试都应该是深有体会。曾有技术调查网站W3Techs于201...

    小小科
  • 14个Linux系统安全小妙招,总有一招用的上!

    对于互联网IT从业人员来说,越来越多的工作会逐渐转移到Linux系统之上,这一点,无论是开发、运维、测试都应该是深有体会。曾有技术调查网站W3Techs于201...

    民工哥
  • 掌握Linux文件权限,看这篇就够了

    #前言 我们知道,无论什么东西,涉及到安全性的,比如文件、文件夹、磁盘(就如window系统的磁盘,我们就可以通过bitlocker技术将磁盘给加密锁起来)、服...

    老油条IT记
  • Linux 终端tty pty pts描述

    在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终...

    Leshami
  • 如何使用CP / SCP / RSYNC在Linux中排除特定目录?

    对于任何系统管理员或一般Linux操作系统用户而言,在服务器之间执行文件复制操作都是一项常见任务。在将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可...

    用户6543014
  • ubuntu18.04获取root权限并用root用户登录的实现

    写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的朋友请注意命令里面的空格是必须的,否则运行会出错。

    砸漏
  • admin3

    #################################################### 真机上实现别名的定义,修改配置文件

    py3study

扫码关注云+社区

领取腾讯云代金券