手机版
你好,游客 登录 注册
背景:
阅读新闻

Hadoop项目之基于CentOS7的Cloudera 5.10.1(CDH)的安装部署

[日期:2017-04-24] 来源:Linux社区  作者:cmdschool [字体: ]

1 前言

笔者之前发表过一篇关于Cloudera的配置文档,感觉还算受欢迎,旧文请参阅。

http://www.linuxidc.com/Linux/2016-06/132597.htm

现在借着做项目的机会在CentOS 7.3环境中再次部署了一套比较新的版本。基于共享的精神,本文给有需要的人参阅。

2 实践部分

2.1 基本信息

Hostname=HD0[1-5].cmdschool.org

Ipaddress=10.168.0.2[4-8]

OS Version=CentOS 7.3

2.2 环境配置

2.2.1 配置IP地址

In HD01-05:

nmcli connection delete "Wired connection 1"
nmcli connection show
nmcli device show
nmcli connection add ifname ens192 con-name ens192 type ethernet
nmcli connection modify ens192 ipv4.address "10.168.0.XX/24"
nmcli connection modify ens192 ipv4.gateway "10.168.0.1"
nmcli connection modify ens192 ipv4.dns "202.96.128.86 202.96.128.166"
nmcli connection modify ens192 ipv4.method manual
nmcli connection modify ens192 ipv6.method ignore
nmcli connection modify ens192 connection.autoconnect yes
nmcli connection up ens192

注:第五行的“XX”部分是主机号

2.2.2 配置主机名称

In HD01-05:

hostnamectl set-hostname HDXX.sae.com.hk

注:“XX”部分是主机名称编号

2.2.3 关闭SELinux

In HD01-05:

getenforce

如果显示如下:

Enforcing

则执行:

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2.2.4 配置名称解析

In HD01-05:

echo '10.168.0.24 hd01.cmdschool.org' >> /etc/hosts
echo '10.168.0.25 hd02.cmdschool.org' >> /etc/hosts
echo '10.168.0.26 hd03.cmdschool.org' >> /etc/hosts
echo '10.168.0.27 hd04.cmdschool.org' >> /etc/hosts
echo '10.168.0.28 hd05.cmdschool.org' >> /etc/hosts

2.2.5 配置时区

In HD01-05:

rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.2.6 关闭防火墙并设置开机不启动

In HD01-05:

systemctl stop firewalld
systemctl disable firewalld

2.2.7 优化虚拟内存需求率

In HD01-05:

1)检查虚拟内存需求率

cat /proc/sys/vm/swappiness

显示如下:

30

2)临时降低虚拟内存需求率

sysctl vm.swappiness=0

3)永久降低虚拟内存需求率

echo 'vm.swappiness = 0' /etc/sysctl.d/swappiness.conf

并运行如下命令使生效

sysctl -p

2.2.8 解决透明大页面问题

In HD01-05:

1)检查透明大页面问题

cat /sys/kernel/mm/transparent_hugepage/defrag

如果显示为:

[always] madvise never

2)临时关闭透明大页面问题

echo never > /sys/kernel/mm/transparent_hugepage/defrag

确认配置生效:

cat /sys/kernel/mm/transparent_hugepage/defrag

应该显示为:

always madvise [never]

3)配置开机自动生效

echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
chmod +x /etc/rc.d/rc.local

2.2.9 安装JDK

In HD01-05:

1)查询是否存在yum安装的Java

rpm -qa | grep java

注意:存在yum安装的rpm包可能导致Sqoop无法启动

2)安装jdk1.8

mkdir /usr/java
cd /usr/java
wget http://download.Oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
tar -xf jdk-8u121-linux-x64.tar.gz

2)配置jdk变量环境

echo 'export JAVA_HOME=/usr/java/jdk1.8.0_121' >> /etc/profile
echo 'export JRE_HOME=${JAVA_HOME}/jre' >> /etc/profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> /etc/profile

3)导入java环境变量

source /etc/profile

4)测试jdk的配置

java -version

2.3 yum源的安装配置

In HD01-05:

2.3.1 yum源配置

1)增加yum源

curl https://archive.cloudera.com/cm5/RedHat/7/x86_64/cm/cloudera-manager.repo > /etc/yum.repos.d/cloudera-manager.repo
yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

注:此出隐含条件是有系统默认的yum源并可在线更新

2)开启5.6版的源

vim /etc/yum.repos.d/mysql-community.repo

开启5.6的源并修改如下:

[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

注:修改enabled选项等于1表示开启,0表示关闭(其他源都配置为0)

2.3.2 安装基本的工具

In HD02-05:

1)安装配置工具

yum install -y vim wget openssh-clients

2)安装Python

yum install -y python

3)安装ntpd

yum install -y chrony

2.3.3 Cloudera Manager端yum源配置

In HD01:

1)安装Cloudera Manager包

yum install -y cloudera-manager-daemons cloudera-manager-server

2)安装mysql

yum install -y mysql-community-server mysql-community-devel mysql-community-client mysql-community-libs mysql-community-common mysql-community-libs-compat

2.3.4 Cloudera Manager Agent端yum源配置

In HD01-05:

安装Cloudera Manager Agent包

yum install -y cloudera-manager-agent cloudera-manager-daemons

2.4 配置前的准备配置

2.4.1权限检查(单用户模式适用,可选)

In HD01-05:

检查以下目录cloudera-scm用户具有完全的权限

检查当前目录权限:

1
ls -ld /opt/cloudera/

显示如下:

drwxr-xr-x. 4 cloudera-scm cloudera-scm 36 Apr 15 19:35 /opt/cloudera/

检查子目录权限:

ls -lR /opt/cloudera/

显示如下

/opt/cloudera/:
total 0
drwxr-xr-x. 2 cloudera-scm cloudera-scm 6 Mar 19 23:26 csd
drwxr-xr-x. 2 cloudera-scm cloudera-scm 6 Mar 19 23:26 parcel-repo
  
/opt/cloudera/csd:
total 0
  
/opt/cloudera/parcel-repo:
total 0

同样,检查服务器或客户端目录权限

ls -ld /var/log/cloudera-scm-server/
ls -lR /var/log/cloudera-scm-server/
ls -ld /var/lib/cloudera-scm-agent/
ls -lR /var/lib/cloudera-scm-agent/

2.4.2 检查线程限制配置

In HD01-05:

vim /etc/security/limits.d/cloudera-scm.conf

修改配置如下:

#
# (c) Copyright 2014 Cloudera, Inc.
#
cloudera-scm    soft  nofile  32768
cloudera-scm    soft  nproc   65536
cloudera-scm    hard  nofile  1048576
cloudera-scm    hard  nproc   unlimited
cloudera-scm    hard  memlock unlimited
cloudera-scm    soft  memlock unlimited

2.4.3 指定运行单用户模式的用户名(单用户模式适用,不配置)

In HD01-05:

vim /etc/default/cloudera-scm-agent

并取消以下行的注释

USER="cloudera-scm"

2.4.4 创建压缩包存放目录

mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

2.4.5 配置无密码的sudo访问(非默认单用户模式适用,可选)

In HD01-05:

visudo

增加如下组:

%cloudera-scm ALL=(ALL) NOPASSWD: ALL

确认包含如下行:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

2.4.6 配置su的limit

In HD01-05:

vim /etc/pam.d/su

加入如下配置:

session         required        pam_limits.so

2.4.7 NTP的配置

In HD01-5:

1)确认包含如下配置:

cat /etc/chrony.conf

应该包含如下配置:

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

2)启动并配置ntpd服务自动启动

systemctl restart chronyd
systemctl enable chronyd

3)触发时间同步

chronyc sources

2.4.8 安装MySQL JDBC Driver

In HD01-05:

cd ~
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.39.tar.gz
tar zxvf mysql-connector-java-5.1.39.tar.gz
mkdir /usr/share/java/
cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar /usr/share/java/mysql-connector-java.jar

2.4.9 配置公钥认证

In HD01:

1)生成秘钥

ssh-keygen -t rsa

注:以上一路回车

2)复制公钥到各个被登录的服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.24
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.25
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.26
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.27
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.28

3)测试免密码登录

ssh 10.168.0.24
ssh 10.168.0.25
ssh 10.168.0.26
ssh 10.168.0.27
ssh 10.168.0.28

注:以上如果无需密码登记即成功

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2017-04/143095p2.htm

linux
相关资讯       CDH  Cloudera 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款