CDH5.11离线安装手册(贼详细)

安装环境

JDK版本:1.8

linux版本:CentOS7

CDH版本:5.11.1

CM下载点击这里CDH下载点击这里



集群

这里我使用虚拟机搭建了三台集群,一台Master,两台Slave

角色 IP
Master 192.168.17.200
Slave1 192.168.17.201
Slave2 192.168.17.202

步骤介绍

环境介绍完了,现在我们就开始安装CDH,安装步骤分为以下几步:

1.虚拟机配置

2.JDK安装与配置

3.MySQL安装

4.安装CM(Cloudera Manager)

5.Agent安装

6.向集群添加新主机

7.设置自启动服务


虚拟机配置

Linux CentOS7系统安装就跳过了,这个百度,要确保的以下几点:

1.三台主机防火墙关闭,并设置为开机不启动

2.三台主机可以进行免密访问

3.三台主机/etc/hosts配置映射

4.Master时间同步:

    执行:

yum install ntp -y
    进入配置文件:
vi /etc/ntp.conf
# 1. 先处理权限方面的问题,包括放行上层伺服器以及开放区网用户来源:

restrictdefault kod nomodify notrap nopeer noquery    <==拒绝 IPv4 的用户

restrict -6default kod nomodify notrap nopeer noquery <==拒绝 IPv6 的用户

restrict 220.130.158.71   <==放行 tock.stdtime.gov.tw 进入本 NTP 伺服器

restrict59.124.196.83    <==放行 tick.stdtime.gov.tw 进入本 NTP 伺服器

restrict59.124.196.84    <==放行 time.stdtime.gov.tw 进入本 NTP 伺服器

restrict127.0.0.1        <==底下两个是预设值,放行本机来源

restrict -6 ::1

restrict 192.168.100.0mask 255.255.255.0 nomodify <==放行区网来源

 

# 2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定註解掉:

server220.130.158.71 prefer  <==以这部主机为最优先

server59.124.196.83

server59.124.196.84

 

# 3.预设时间差异分析档案与暂不用到的 keys 等,不需要更动它:

driftfile/var/lib/ntp/drift

keys      /etc/ntp/keys

    可以直接把以上内容cv进去,除了中文以外。

    执行:

service ntpd start

    可以使用“Ntpstat”命令查看同步状态,但是第一次使用时,同步时间可能需要十分钟。

    当我们查看状态时出现以下情况,表示同步成功:


    到此为止,虚拟机基本配置就ojbk了。。。


JDK安装与配置

下载,解压,配置环境变量,为了方便复制:

echo 'export JAVA_HOME=/opt/jdk1.8.0_161' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile

MySQL安装

略。。。

开个玩笑,MySQL安装过程有点繁琐,我直接贴一个自动化安装脚本,修改一下就可以用了(Master必须安装,两台Slave就不用了):

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
groupadd mysql 
useradd -g mysql -M mysql
mkdir -p /wjy/mysql/data
chown -R mysql.mysql /wjy/mysql/data
yum install perl -y
yum install -y perl-Module-Install.noarch 
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/wjy/mysql/data --user=mysql
#修改配置文件
sed -i "s?# basedir = .....?basedir = /usr/local/mysql?g" /usr/local/mysql/my.cnf
sed -i "s?# datadir = .....?datadir = /wjy/mysql/data?g" /usr/local/mysql/my.cnf
sed -i "s?# port = .....?port = 3306?g" /usr/local/mysql/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld 
chkconfig mysqld on
mkdir /var/log/mariadb
/etc/init.d/mysqld start
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysqladmin -u root password '1234'
service mysqld restart
echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profile
echo 'export PATH=$PATH:$MYSQL_HOME/bin' >> /etc/profile
source /etc/profile
mysql -uroot -p1234 -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;FLUSH PRIVILEGES;"
#删除多于用户用于远程CDH在安装时密码不正确
mysql -uroot -p1234 -e "delete from mysql.user where host<>'%';"
service mysqld restart

切记修改解压目录以及你的mysql安装包的名字!!!


安装CM(Cloudera Manager)

可以,现在我们开始安装CM,一步一步来:

1.创建目录:

mkdir /opt/cloudera-manager

2.解压:

tar -zxvf cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz -C /opt/cloudera-manager/

3.创建cloudera-scm用户:

useradd --system --home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4.本地元数据存放目录:

mkdir /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /opt/cloudera-manager.

5.将本机作为一个客户端:

vi /opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini

6.创建仓库:

mkdir -p /opt/cloudera/parcel-repo
cp CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel /opt/cloudera/parcel-repo/
cp CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha /opt/cloudera/parcel-repo/
cp manifest.json /opt/cloudera/parcel-repo/

7.创建存放目录(因为我们本机需要一个agent,从服务器下载下来的一些组件,应该放在该目录下):

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

8.加入mysql包:

注意:这个mysql的包名字只能叫“mysql-connector-java.jar” *3(重要的事情说三遍)

mkdir -p /usr/share/java
cp mysql-connector-java.jar /usr/share/java/mysql-connector-java.jar

9.初始化MySQL:

/opt/cloudera-manager/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh mysql -hMaster -uroot -p1234 --scm-host Master scmdbn root 1234

这里叫你输入两次用户名密码的意思是,一个是连接用的,一个是操作数据库用的,如果你的这个数据库用户有最高权限,那两个地方就填同一个用户。

这一步最容易出错,原因有很多,大部分原因是因为你的数据库jar包没有正确的加入。

10.启动:

很强,如果以上步骤不出错,就可以启动了:

cd /opt/cloudera-manager/cm-5.11.1/etc/init.d
./cloudera-scm-server start 
./cloudera-scm-agent start

这里如果报了一个什么psmisc的错,就安装一下:

yum install -y psmisc
不安装也没有什么关系,不影响使用。


11.访问:

通过访问:http://192.167.17.200:7180,就可以进入到登陆界面,端口号可以在第5步的配置文件里配置。

用户名:admin,密码:admin

12.首次配置:

我就直接贴图了:






这里一定要选择你对应的版本。



两个警告,不要捉急:

echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

重新运行一下就可以了,当然,这两个警告也不影响使用。



虚拟机内存堪忧,就只安装一个HDFS吧。。。





到此,Server服务器就安装完毕了。


Agent安装

Slave安装贼简单。

1.虚拟机配置时间同步:

yum install ntp

进入etc/ntp.conf

ftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1

# 配置时间服务器为本地的时间服务器
server 192.168.17.200 #这里配置的是Master的IP

restrict 192.168.17.200 nomodify notrap noquery #这里同上

server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

输入地址进行测试:

ntpdate -u 192.167.17.200

重启:service ntpd start

2.安装agent,也是一步一步来:

mkdir /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz -C   /opt/cloudera-manager
useradd --system --home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
vi /opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

启动:

cd /opt/cloudera-manager/cm-5.11.1/etc/init.d
./cloudera-scm-agent start


向集群添加新主机


安装好Agent后,你就可以在集群上看见新主机:




这里的两个警告同Server一样。

点击继续,新主机就可以加入集群了。


设置自启动服务

1.将服务端设置为自启动:

cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
vi /etc/init.d/cloudera-scm-server 

在文件中查找:CMF_DEFAULTS,修改内容为:/opt/cloudera-manager/cm-5.11.1/etc/default

chkconfig cloudera-scm-server on
service cloudera-scm-server start

2.将客户端设置为自启动

cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
vi /etc/init.d/cloudera-scm-agent

在文件中查找:CMF_DEFAULTS,修改内容为:/opt/cloudera-manager/cm-5.11.1/etc/default

chkconfig cloudera-scm-agent on
service cloudera-scm-agent start





    最后,如果你安装好Agent后,CDH集群上找不到你的主机,那说明你的虚拟机是克隆过来的,需要修改它的mac地址,建议最好不要直接克隆。

    如果查询Host Monitor 时发生内部错误,

    删除:/var/lib/cloudera-host-monitor后,重启serveragent服务。


猜你喜欢

转载自blog.csdn.net/JerryWangJY/article/details/81018333