参考地址:
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
- 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 都有点问题,原因是一个目录没有,自行创建即可。