docker 搭建 cdh 分布式集群

参考地址

1 新建镜像

(主节点)
docker run --privileged=true --name w1 -h w1 -p 8020:8020 -p 7180:7180 -p 21050:21050 -p 50071:50070 -p 50076:50075 -p 50011:50010 -p 50021:50020 -p 8889:8888 -p 10022:22 -p 8901:8900 9781:9780 8089:8088 ky:master /usr/sbin/init
(从节点)
docker run --privileged=true --name w3 -h w3 -p 10028:22 -it centos:7 /usr/sbin/init

docker start

2 配置yum 数据源

安装wget
yum -y install wget
yum -y install setup
yum -y install perl
安装阿里的yum
阿里云Linux安装镜像源地址:
  http://mirrors.aliyun.com/
  http://mirrors.aliyun.com/repo/
CentOS系统更换软件安装源
第一步:备份你的原镜像文件,以免出错后可以恢复。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget --no-check-certificate --no-cookies --header “Cookie: oraclelicense=accept-securebackup-cookie” http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz

第三步:运行yum makecache生成缓存
yum clean all  //清理缓存
yum makecache  //更新缓存

3 安装JDK

(不支持openjdk)
卸载openjdk
yum list installed |grep java
yum -y remove java-1.8.0-o*

这个是可以的
okie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

chmod 755 jdk-8u131-linux-x64.rpm

rpm -ivh jdk-8u131-linux-x64.rpm

rpm -qa | grep jdk 查看jdk安装
rpm -e --nodeps package 卸载package

vi ~/.bashrc 对当前用户有效
/home/dodobook2/.bashrc 文件地址
vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : JAVA_HOME/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = JAVA_HOME/lib/tools.jar export PATH= JAVAHOME/lib/tools.jarexportPATH=PATH:$JAVA_HOME/bin

4 安装ssh(scp)

yum install net-tools 

yum install openssh-server
yum install -y openssh-clients
yum -y install initscripts
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub w1

5 修改hostname和hosts,将节点IP和hostname绑定

1 yum install vim
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 w1

6 防火墙

yum install firewalld
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看状态

7关闭SELinux

yum install selinux-policy
/etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

8配置NTP时间同步服务

yum install ntp
systemctl enable ntpd.service
service ntpd status
ntpdate -u ntp1.aliyun.com ##同步

9 安装mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum install mysql-community-server
systemctl start mysqld.service
systemctl status mysqld.service ##查看运行状态
卸载mysql
find / -name mysqld
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf

10安装cloudera manager包

注意:yum install deltarpm -y

11构建yum 源

cd /etc/yum.repos.d/
vim cloudera-repo.repo
[cloudera-repo]
name=cloudera-repo
baseurl=http://master:8900/cloudera-repos/cm6/6.0.1/redhat7/yum/
enabled=1
gpgcheck=0
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
Master节点:
docker 复制
docker cp w1:/rpms /data/data1
wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.0.1/redhat7/ -P /var/www/html/cloudera-repos

会覆盖:
docker cp cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm w1:/var/www/html/cloudera-repos/cm6/6.0.1/redhat7/yum/RPMS/x86_64/
docker cp cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm w1:/var/www/html/cloudera-repos/cm6/6.0.1/redhat7/yum/RPMS/x86_64/
开启http
cd /var/www/html
nohup python -m SimpleHTTPServer 8900 &
注意:这里直接指定报名字
yum install cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
yum install cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
yum install cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm

Node节点:
yum -y install cloudera-manager-agent cloudera-manager-daemons

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

cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
关联 mysql:
sql:
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’;
刷新cm库
密码:123456!@#qQ

alter user ‘root’@‘localhost’ identified by ‘123456!@#qQ’;

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h 192.168.10.132 --scm-host 192.168.10.49 scm -u root -p 123456
/opt/cloudera/cm/schema//opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h 192.168.10.132 --scm-host 192.168.10.49 scm -u root -p 123456

采坑: could not contact scm server at localhost:7182
http://blog.itpub.net/31451369/viewspace-2153693/

12 启动CM

chown cloudera-scm.cloudera-scm /opt/cloudera/parcel-repo/*
开启http
cd /var/www/html
nohup python -m SimpleHTTPServer 8900 &
启动 Cloudera Manager Server
systemctl start cloudera-scm-server
查看日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
14 ssh

  1. CentOS默认没有启动ssh无密登录,

vim /etc/ssh/sshd_config

去掉其中3行的注释,每台服务器都要置
开启 RSAAuthentication yes
开启 PubkeyAuthentication yes
开启 AuthorizedKeyFile .ssh/authorized_keys
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
注意要先 ssh localhost

很重要:
hdfs 权限为700
hadoop namenode -format
chown -R hdfs:hdfs /etc/hostname1/dfs/snn
增加节点要用 IP地址
重启之后host改变
卸载
cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
yum remove cloudera-manager-server
172.17.0.2 w1
172.17.0.3 w2
172.17.0.4 w3
启动sshd
systemctl status sshd.service
rm -rf ~/.ssh/known_hosts

spark-shell 进入的时候spark-shell --master local[4]

mr2 是yarn的用户


没有图是因为没有启动cmservice

重启w1 w2 w3 ,然后修改IP就好了
systemctl restart cloudera-scm-server
systemctl restart cloudera-scm-agent
正常的顺序是 停止集群和CM,然后重启scm,启动集群和CM

搭建好之后,pyspark和spark-shell 都有点问题,原因是一个目录没有,自行创建即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京下雨天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值