一、软件准备
- centos6.9
- jdk1.8
- mysql5.6
- cm-5.13.1
- cdh-5.13.1
-
spark2.2
二、网络配置(所有节点)
修改/etc/sysconfig/network文件,设置主机名为hadoop-[01~03],禁止ipv6
重启网络服务生效
service network restart
配置静态IP(略)
三、修改hostname及hosts(所有节点)
reboot
四、关闭防火墙和selinux(所有节点)
关闭防火墙
chkconfig iptables off
关闭SELINUX
设置SELINUX=disabled
重启服务器后生效
reboot
五、免密登录(所有节点)
- 先在hadoop-01上:
ssh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop-01 #将公钥拷贝到本机的authorized_keys上
- 再在其他节点上分别执行:
ssh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop-01 #注意此处不变,将公钥拷贝到hadoop-01的authorized_keys上
- 在hadoop-01上,将authorized_keys分发到其他节点服务器:
scp ~/.ssh/authorized_keys root@hadoop-02:~/.ssh/
scp ~/.ssh/authorized_keys root@hadoop-03:~/.ssh/
六、ntp时间同步服务安装(所有节点)
- ntp安装
yum install ntp -y
- 修改ntp服务配置文件
#指定10.0.0.5 为同步ntp的主机
restrict 10.0.0.5 mask 255.255.255.192 notrap nomodity
#指定10.0.0.5 为同步ntp的优先服务器
server 10.0.0.5 prefer
server 127.127.1.0
#指定同步的等级
fudge 127.127.1.0 stratum 10
- 在其他主机上,设置/etc/ntp.conf
server 10.0.0.5 prefer
- 在主服务器,客户机上,都要开启ntpd服务
chkconfig ntpd on
service ntpd start
七、安装jdk1.8(所有节点)
- 卸载自带的OpenJdk
使用rpm -qa | grep java
查询java相关的包,并rpm -e --nodeps 包名
卸载 - 将下载的安装包分发到各个节点
- 解压jdk到/usr/java目录中
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
- 配置环境变量
修改/etc/profile文件,在最后加上以下配置
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
使文件生效
source /etc/profile
- 查看jdk版本
java -version
八、安装mysql5.6(主节点)
- 解压
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
- 拷贝至/usr/local/mysql中
cp mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql -r
- 添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
- 修改当前目录拥有者为mysql,安装数据库
进入/usr/local/mysql目录中
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql
- 修改权限
修改当前目录拥有者为root用户:
chown -R root:root ./
修改当前data目录拥有者为mysql用户:
chown -R mysql:mysql data
- 将mysql添加到开机服务
cp support-files/mysql.server /etc/init.d/mysql
7.设置mysql开机自启
chkconfig --add mysql
- 启动mysql服务
service mysql start
- 修改mysql的root密码
./bin/mysqladmin -u root password 'root'
出现错误
添加client解决
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
- 把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
11.创建需要的数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to'root'@'%' identified by 'root' with grant option;
flush privileges;
九、正式部署
安装CM
- 解压clouder-manager包到/opt(所有节点)
tar -zxvf cloudera-manager-el6-cm5.13.1_x86_64.tar.gz -C /opt
- 创建cloudera-scm用户(所有节点)
useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 放入mysql驱动包(所有节点)
cp mysql-connector-java-5.1.46-bin.jar /opt/cm-5.13.1/share/cmf/lib/
- 初始化cm数据库(主节点)
/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm
-
修改Agent配置文件(所有节点)
安装CDH
- 准备Parcels,用以安装CDH5
- 将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)(主节点)
相关包为:
CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel
CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1
manifest.json
注意:需要将CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1更名为CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha
- 启动
在主节点上执行
/opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
在所有节点上执行
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
- CM的端口为7180
-
可视化安装
出现以下警告
- 在受影响的主机上执行以下命令:
echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 一步一步安装,建议组件一个一个添加
十、Spark2.2离线安装 - 将csd包上传至/opt/cloudera/csd目录,并且修改文件的用户和组(所有节点)
注意:如果本目录中有其他jar包,删除或者移到其他目录。
chgrp cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera1.jar
chown cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera1.jar
- 上传parcel包到机器的/opt/cloudera/parcel-repo目录下(主节点)
- 注意:如果有其他的安装包,不用删除 ,但是如果本目录下有其他的重名文件比如manifest.json文件,把它重命名备份掉。
- 关闭CDH集群
- 重启cm,重启agent
在主节点上执行
/opt/cm-5.13.1/etc/init.d/cloudera-scm-server restart
在所有节点上执行
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent restart
-
在管理界面上点击 主机->Parcel页面,查看是否有spark2,点击分配,分配完后点击激活
-
激活后点击添加服务:spark2,到此cdh5.13.1集成spark2.2完成
-
建议重启集群和cm,让配置文件重新加载(个人观点)
-
运行sparkPi实例
spark2-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster /opt/cloudera/parcels/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354/lib/spark2/examples/jars/spark-examples_2.11-2.2.0.cloudera1.jar 100
另外:
1.在centos7.x上面安装CM5的时候,centos7.x的命令有部分不一致。并且centos7.x加大了权限管控,所以在安装的时候会有大量的权限需要手动配置,尤其是在安装HDFS的时候。
基础命令:
su - hdfs
hadoop fs -chmod -R 777 需要权限文件路径
2.如果在云服务器上面安装,如果你们的云不能关闭防火墙,请在云服务器管理页面手动配置端口的出站和入站规则。为了云服务器的安全建议需要什么端口配置什么端口,一个一个配。
网友评论