虚拟机VBox-伪分布式版cdh-5.13.0-已经测试可用~~~~如有问题请联系我~~~
第一部分:搭建虚拟机主机
1.首先创建三个虚拟操作系统主机
hadoop01.mark.kevin 硬盘:150G 内存:6G
hadoop02.mark.kevin 硬盘:100G 内存:2G
hadoop03.mark.kevin 硬盘:100G 内存:2G
1.1开机之前,记得在VBox目标主机设置里,设置存储,修改为目标ISO文件
2.安装操作系统:CentOS-6.9-x86_64-minimal.iso
语言:中文-简体
键盘:美国-国际
地区:中国/上海
主机名:见上
root密码:Abcd1234
创建自定义布局:
删干净,创建标准分区
/boot 1024M 强制为主分区
swap 内存两倍(4096MB)
/ 剩余全部
网络配置:
BOOTPROTO=static
IPADDR=192.168.40.241 192.168.40.242 192.168.40.243
GATEWAWY=192.168.40.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=8.8.4.4
重启系统后别忘了修改Vbox的网络设定:改为桥接即可
将三台虚拟机搭建好并相互ping通,用Xshell进行以后的操作
将三台虚拟机全部设置好进入第二部分
第二部分:操作系统基础服务及软件配置
1.安装一些基本的插件 (所有节点)
yum -y install vim
yum -y install lrzsz
yum -y install wget
yum -y install numactl
yum -y install ntp
2.关闭防火墙 (所有节点)
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
3.永久关闭SELinux(否则samba可能不能访问)(所有节点)
修改配置文件
# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
需要重启机器生效!!
getenforce 检查SELinux状态
setenforce 0 暂时关闭SELinux
4.设置主机host (所有节点)
vim /etc/hosts
192.168.40.241 hadoop01.mark.kevin hadoop01
192.168.40.242 hadoop02.mark.kevin hadoop02
192.168.40.243 hadoop03.mark.kevin hadoop03
windows端:
C盘 -- Windows -- System32 -- drivers -- etc -- hosts 添加上去
5.创建普通用户admin (所有节点)
创建:
adduser admin
(注意:
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell )
删除: userdel -rf admin
6.配置ssh无秘钥访问(master访问其他机器)(所有节点)
每台主机:
首先要修改主机 和ssh连接到的远程机 的配置文件:
vim /etc/ssh/sshd_config
(要确保这些字符前无注释符号“#”)(用 / 进行查找)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
hadoop01:
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600authorized_keys
ssh-keygen -t rsa -P ''
(注释:-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。 它在/home/chenlb下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。)
cat id_rsa.pub >> authorized_keys
测试一下:ssh hadoop01
然后继续分发秘钥
chmod u+xid_rsa.pub
scpid_rsa.pub 192.168.40.242:/home/admin/
scpid_rsa.pub 192.168.40.243:/home/admin/
hadoop02 hadoop03:
(我们后来为了将hadoop02作为备用主节点也将hadoop02配置的和hadoop01相同)
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600authorized_keys
cat /home/admin/id_rsa.pub >> /root/.ssh/authorized_keys
rm -rf/home/admin/id_rsa.pub
测试hadoop01免密登录hadoop02 hadoop03
7.安装jdk1.8.0(推荐直接从官网里面找奇数版本-稳定版)(所有节点)
创建 /opt/softwares /opt/modules
mkdir /opt/softwares (用于放安装包)
mkdir /opt/modules (用于放软件目录)
下载版本为:jdk-8u151-linux-x64.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt/modules/ (-v可以去掉)
vim /etc/profile
####################----BASIC------####################
#java jdk1.8.0_151
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH=.:$JAVA_HOME/lib/mysql-connector-java-5.1.45-bin.jar
export PATH=$PATH:$JAVA_HOME/bin
#export JAVA_LIBRARY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
把下载的jar包放进去
cp mysql-connector-java-5.1.45-bin.jar /opt/modules/jdk1.8.0_151/lib/
测试:
source /etc/profile
java -version
8.安装mysql (RPM包智能安装) 节点:hadoop01
版本:mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar
mkdir /opt/softwares/mysql-untar
tar -xf mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar ./mysql-untar/
检查过去的mysql包
rpm -qa | grep -i mysql
删除过去的包
rpm -ev mysql-libs-* --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
cd mysql-untar/
rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm
初始化mysql
mysqld --initialize --user=mysql
查看初始化密码:
cat /var/log/mysqld.log
启动服务
/etc/init.d/mysqld start
mysql -uroot -p
先修改密码
> set password = password('Abcd1234');
设置远程访问
> grant all privileges on *.* to 'root' @'%' identified by 'Abcd1234';
> flush privileges;
> quit;
设置mysql开机启动
chkconfig --add mysqld
chkconfig mysqld on
查看是否设置成功
chkconfig (都关闭(off)时是没有自动启动)
为了后面的hue,进行一下操作:
rpm -ivh mysql-community-libs-compat-5.7.20-1.el6.x86_64.rpm
yum install -y python-lxml
9.配置NTP服务 (所有节点)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题
yum -y install ntp 安装相关组件
chkconfig ntpd on 配置开机启动
service ntpd start 开启服务
ntpstat 检查是否成功,用ntpstat命令查看同步状态
出现以下状态代表启动成功:
unsynchronised
polling server every 64 s
10.设置用户最大可打开文件数,进程数,内存占用 (所有节点)
# vim /etc/security/limits.conf
* soft nofile 409600
* hard nofile 409600
* soft nproc 409600
* hard nproc 409600
11.安装Cloudera Manager之前的环境准备工作
安装方式:parcel包离线安装 (安装方式有三种,正式的讲有四种,详情cloudera官网)
目标版本:CDH-5.13.0
操作系统:CentOS 6.9 minmal
系统环境准备:
1)几台机器的SSH互通
2)防火墙关闭
3)网络正常,IP地址固定,hosts配置正常
4)NTP服务正常
软件环境准备:
JDK:jdk1.8.0_151
mysql:mysql-5.7.20-1.el6.x86_64
JDBC驱动:mysql-connector-java-5.1.45-bin.jar
Cloudera Manager压缩包:cloudera-manager-el6-cm5.13.0_x86_64.tar.gz
CDH安装包:
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
manifest.json
安装包网址:
JDK:Oracle-jdk官网下载 tar包
mysql: MySQL官网下载
JDBC驱动:MySQL官网下载
CM包:http://archive.cloudera.com/cm5/cm/5/
CDH包:http://archive.cloudera.com/cdh5/parcels/5.13.0/
12.安装Cloudera Manager
一切准备就绪,开始安装~
解压安装 (所有节点)
cloudera manager的目录默认位置在/opt下,将包导入并解压:
tar zxf cloudera-manager-el6-cm5.13.0_x86_64.tar.gz -C /opt/
创建cloudera-scm用户(所有节点)
useradd --system --home=/opt/cm-5.13.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
为Cloudera Manager 5建立数据库 并初始化(主节点)
先将JDBC驱动 mysql-connector-java-5.1.45-bin.jar,放到/opt/cm-5.13.0/share/cmf/lib/中。
cp mysql-connector-java-5.1.45-bin.jar /opt/cm-5.13.0/share/cmf/lib/
初始化:(主节点)
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pAbcd1234 --scm-host localhost scm scm scm
修改agent配置文件(所有节点)
修改/opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
vim /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini
server_host=hadoop01
准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。
相关的文件如下:
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
manifest.json
然后需将CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
重命名为CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha
mv CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel /opt/cloudera/parcel-repo/
mv CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha
mv manifest.json /opt/cloudera/parcel-repo/
给要创建的目录权限:(所有节点)
setfacl -R -m group:cloudera-scm:rwx /var/lib
setfacl -R -m group:cloudera-scm:rwx /usr
setfacl -R -m group:cloudera-scm:rwx /etc
启动脚本
通过/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start启动Agent服务。
先启动server
# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server start
查看启动情况
# tail -f /opt/cm-5.13.0/log/cloudera-scm-server/cloudera-scm-server.log
在所有主机上启动cm agent
# /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start
查看启动情况
# tail -f /opt/cm-5.13.0/log/cloudera-scm-agent/cloudera-scm-agent.out
# tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.out
停止服务stop,重启是restart。
CDH5的安装配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:
各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。
接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。
点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了。
番外篇:要做的
可以访问的一些网址
cloudera manager管理工具:http://192.168.40.241:7180 admin admin
hue网址:http://192.168.40.241:8888/accounts/login/?next=/ hue/hue123
job管理:http://192.168.40.241:8088/cluster
oozie页面:http://192.168.40.241:11000/oozie/
番外篇:拷贝JDBC链接包
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/hive/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/oozie/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /var/lib/oozie/