作者:李继武
1.基础设施
2.1.硬件配置

2.2.软件环境

2.3.角色部署


2.4.Access UI

2.5.Postgresql
元数据库使用的是外部数据库:Postgresql数据库
Address:128.18.9.208:5432

2.6.数据目录信息

3.集群基本配置及部署安装
因节点之间通过root用户相互ssh的权限被关闭,所以不能使用控制台自动化安装agent,需要手动到所有节点安装agent,并修改相关配置。
3.1.前置准备
以下条件原集群已配置完成:
Hosts文件已配置
Ntp时钟同步
防火墙已关闭
Selinux已关闭
1. 修改swappiness
echo "vm.swappiness = 1" >> /etc/sysctl.confecho 1> /proc/sys/vm/swappiness
2. 从系统镜像挂载点配置repo
vim /etc/zypp/repos/iso.repo
[iso]name=isoenabled=1autorefresh=0baseurl=file:///mntpath=/type=yast2keeppackages=0
3. 安装httpd
zypper install httpd
4. 利用httpd制作系统镜像本地zypper源
mkdir /srv/www/htdocs/isocp /mnt/* /srv/www/htdocs/isocd /srv/www/htdocs/isozypper install createrepocreaterepo .
在apache2的配置文件中添加该文件夹
vim /etc/apache2/httpd.conf
Option Indexes AllowFollowSymLinks AllowOverride None

5. 利用httpd制作cm本地zypper源和parcel源
mkdir /srv/www/htdocs/cm6.1.0mkdir /srv/www/htdocs/cdh6.1.0
将cm的安装包上传到cm6.1.0目录下,特别注意的是,SUSE系统还需要下载一个python-psycopg2依赖包上传到cm6.1.0下

cd /srv/www/htdocs/cm6.1.0createrepo .
在apache2的配置文件中添加这两个文件夹
vim /etc/apache2/httpd.conf
Option Indexes AllowFollowSymLinks AllowOverride None Option Indexes AllowFollowSymLinks AllowOverride None

6. 所有节点配置镜像源和cm源
vim /etc/zypp/repos/iso.repo
[iso]name=isoenabled=1autorefresh=0baseurl=http://128.18.9.202/isotype=rpm-mdgpgcheck=0
vim /etc/zypp/repos/cm.repo
[cm]name=cmenabled=1autorefresh=0baseurl=http://128.18.9.202/cm6.1.0type=rpm-mdgpgcheck=0
3.2.CM节点安装server、agent
1. 安装jdk1.8
zypper install oracle-j2sdk1.8

2. 安装cloudera-manager-server、cloudera-manager-agent
zypper install cloudera-manager-server cloudera-manager-agent

3. 修改agent的配置文件,修改其连接的server主机,log目录以及lib目录
vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录
mkdir -p /data1/var/libmkdr -p /data1/var/log
将原来的目录移到这两个目录下
mv /var/lib/cloudera-scm-agent /data1/var/libmv /var/log/cloudera-scm-agent /data1/var/log
启动agent
systemctl start cloudera-scm-agent
4. 修改server的启动脚本,配置log目录
vim /opt/cloudera/cm/bin/cm-server

将目录文件移到数据盘上
mv /var/log/cloudera-scm-server /data1/var/log
5. 初始化cloudera-scm-server的数据库
sh /opt/cloudera/cm/schema/scm_prepare_database.sh -h128.18.9.208 -P5432 postgresql cm cm CmPostgres

6. 配置postgresql数据库驱动
将驱动上传到httpd节点的/srv/www/htdocs/cdh6.1.0目录下,其他节点通过wget进行拉取
mkdir -p /usr/share/javacd /usr/share/javawget http://128.18.9.202/cdh6.1.0/postgresql-42.2.2.jarln -s postgresql-42.2.2.jar postgresql-connector-java.jar

7. 启动server
systemctl start cloudera-scm-server
3.3.其他节点安装agent
剩余节点都需要手动执行以下操作,手动安装agent并修改配置
1. 安装jdk1.8
zypper install oracle-j2sdk1.8

2. 安装cloudera-manager-agent
zypper install cloudera-manager-agent

3. 修改agent的配置文件,修改其连接的server主机,log目录以及lib目录
vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录
mkdir -p /sdata1/var/libmkdr -p /sdata1/var/log
将原来的目录移到这两个目录下
mv /var/lib/cloudera-scm-agent /sdata1/var/libmv /var/log/cloudera-scm-agent /sdata1/var/log
4. 配置postgresql数据库驱动
mkdir -p /usr/share/javacd /usr/share/javawget http://128.18.9.202/cdh6.1.0/postgresql-42.2.2.jarln -s postgresql-42.2.2.jar postgresql-connector-java.jar

5. 启动agent
systemctl start cloudera-scm-agent

3.4.修改数据盘所属用户及权限
由于原来数据盘都是由ods用户挂载,并且权限是700,这将导致root安装集群时无法生成所需目录,最终安装失败
修改这些数据盘目录所属用户为root,所属用户组为root,权限赋予755
chown root:root /data1chown root:root /data2chown root:root /data3chown root:root /data4chown root:root /data5chown root:root /data6chown root:root /sdata1chown root:root /sdata2chmod 755 /data1chmod 755 /data2chmod 755 /data3chmod 755 /data4chmod 755 /data5chmod 755 /data6chmod 755 /sdata1chmod 755 /sdata2
4.控制台安装
1. 打开http://128.18.9.209:7180,以admin/admin登录

2. 点“继续”

3. 勾选同意,点继续

4. 选择“60天试用版”,点击继续

5. 点击“继续”

6. 点击“当前管理主机”,全部勾选,点击“继续”

7. 点击“更多选项”

8. 将其他的parcel路径删掉,添加自己制作的parcel包下载路径

9. 点击继续

10. 开始下载并分发parcel包,等待下载分发激活完成

11. 确保下方的主机检查项全部通过,点击“继续”

12. 点击“自定义服务”,勾选需要的服务

13. 输入元数据库的信息,测试连接

14. 配置相关目录
Datenode数据目录暂时默认即可,后期根据不同的节点分配不同的角色组,来分配不同的目录。
Namenode数据目录:

SecondaryNamenode数据目录:

CM服务数据目录:

NodeManager数据目录:

Zookeeper数据目录:

15. 点击“继续”,等待安装完成。

16. 配置DataNode目录,先配置角色组,设置Datanode角色为三个组,Datenode Default Group,onlywithzk,withnamenode:



17. 根据不同的角色来分配datanode目录,以为namenode、zk、journalNode留出独立的数据盘:



5.启用HA
本集群启用了HDFS,YARN的高可用


JournalNode数据目录为:

6.配置组件的log,tmp等目录



7.集群基本配置
7.1.Cloudera Manager
这些服务主要是提供监控功能,目前的调整主要集中在内存放,以便有足够的资源完成集群管理。

7.2.HDFS配置

7.3.YARN配置


7.4.Zookeeper配置

7.5.Hive配置
