本帖最后由 J20_果农 于 2017-1-7 14:40 编辑
CDH5.7.5安装教程
第一部分:基础软件安装
1.1 环境配置
1.1.1配置主机hosts
操作系统Centos7
所有节点下:vi /etc/hosts 添加如下内容:
182.100.5.243 master
182.100.5.244 slave1
182.100.5.245 slave2
182.100.5.246 slave3
182.100.5.247 slave4
所有节点下配置主机名:
vi /etc/sysconfig/network 添加如下内容:
NETWORKING=yes
HOSTNAME=master (这里主机名跟上面IP对应分别为slave1,slave2,slave3,slave4)
1.1.2 关闭防火墙
CDH安装首先确保关闭所有主机的防火墙
查看防火墙状态:
[root@master ~]# firewall-cmd --state
not running
显示not running 说明已经关闭,如果显示running,需要执行命令关闭:
systemctl stop firewalld
1.1.3 配置免秘钥登录
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in/root/.ssh/id_rsa.
Your public key has been saved in/root/.ssh/id_rsa.pub.
The key fingerprint is:
98:e1:d9:9c:66:5a:0a:d2:e2:59:cd:00:62:ce:87:5broot@master
The key's randomart image is:
+--[ RSA 2048]----+
|... |
|+... |
| + E. . |
| +.= B . |
| .o + B S |
| . = . * |
| o o |
| |
| |
+-----------------+
[root@master .ssh]# cat id_rsa.pub >>authorized_keys
[root@master .ssh]# ll
total 12
-rw-r--r-- 1 root root 393 Jan 5 20:43 authorized_keys
-rw------- 1 root root 1679 Jan 5 20:39 id_rsa
-rw-r--r-- 1 root root 393 Jan 5 20:39 id_rsa.pub
[root@master .ssh]# chmod 600 authorized_keys
[root@master .ssh]#
分别将各个节点中id_rsa.pub 内容追加到文件authorized_keys 后面
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub >> authorized_keys
最终authorized_keys 内容如下:
到这步,各个节点间就可以相互免秘钥登录了。
1.1.4 节点间同步时间
# yum install ntpdate
然后在所有节点都设置定时任务 crontab –e 添加如下内容:
*/30 * * * * /usr/sbin/ntpdate 172.4.10.67
所有节点上执行:
/usr/sbin/ntpdate 172.4.10.67
这里我们以172.4.10.67 这台机器作为时间点来同步,这台机器的时间也是以网上的其他服务器时间为准的。具体配置这里就不讲了。
1.2 jdk安装配置
假设JDK安装包已经上传到各个节点,下面开始安装jdk
[root@master soft]# rpm -ivhjdk-8u65-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_65-2000:1.8.0_65-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...
配置JDK环境变量: vi /etc/profile 在文件后面追加如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_65
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
使环境变量生效:
[root@slave4 ~]# source /etc/profile
1.3 外部数据库安装与配置
外部数据库只需要安装在一个节点上即可,我们使用mysql,它的主要作用是用来存储元数据,如hive,oozie等。我们使用master来安装mysql。 创建scm用户,用户名:scm密码:123456, 创建CM外部数据库 ./scm_prepare_database.sh mysql -h master -uscm –p123456--scm-host master scm scm scm
1.4依赖软件安装
逐一检查一下以下的依赖包是否安装,如果没有,则进行安装
- bind-utils
- chkconfig
- cyrus-sasl-gssapi
- cyrus-sasl-plain
- fuse
- fuse-libs
- gcc
- httpd
- init-functions
- libxslt
- mod_ssl
- MySQL-python
- openssl
- openssl-devel
- openssl-devel
- perl
- portmap
- postgresql-server >= 8.4
- psmisc
- python >= 2.4.3-43
- python-devel >= 2.4.3-43
- python-psycopg2
- python-setuptools
- sed
- service
- sqlite
- swig
- useradd
- zlib
第二部分:Cloudera Manager 安装
下载文件cloudera-manager-centos7-cm5.7.5_x86_64.tar.gz
创建目录mkdir /opt/cloudera-manager
把cloudera-manager-centos7-cm5.7.5_x86_64.tar.gz 文件复制到该目录解压
tar -zxvf cloudera-manager-centos7-cm5.7.5_x86_64.tar.gz
useradd --system--home=/opt/cloudera-manager/cm-5.7.5/run/cloudera-scm-server --no-create-home--shell=/bin/false --comment "cloudera SCM User" cloudera-scm
[root@master cm-5.7.5]# mkdir/var/lib/cloudera-scm-server
[root@master cm-5.7.5]# chowncloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
在主节点创建:
mkdir -p /opt/cloudera/parcel-repo
在所有节点创建:
mkdir -p /opt/cloudera/parcels
/opt/cloudera-manager/cm-5.7.5/etc/init.d/cloudera-scm-server start
vi /opt/cloudera-manager/cm-5.7.5/etc/cloudera-scm-agent/config.ini
修改内容:#Hostname of the CM server.
server_host=master
启动代理
/opt/cloudera-manager/cm-5.7.5/etc/init.d/cloudera-scm-agent start
下一步我们开始安装CDH
第三部分:CDH 安装
3.1 下载CDH离线包
进入URL:http://archive.cloudera.com/cdh5/parcels/5.7.5/
下载以下三个文件:
CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel
CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel.sha1
将CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel.sha1
重命名为CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel.sha
3.2 将CDH离线包上传到parcel-repo目录
[root@master soft]# cpCDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel.shamanifest.json /opt/cloudera/parcel-repo/
[root@master soft]# cd/opt/cloudera/parcel-repo/
[root@master parcel-repo]# ll
total 1403732
-rwxr-xr-x 1 root root 1437363126 Jan 6 17:54 CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel
-rw-r--r-- 1 root root 41 Jan 6 17:54 CDH-5.7.5-1.cdh5.7.5.p0.3-el7.parcel.sha
-rwxr-xr-x 1 root root 49570 Jan 6 17:54 manifest.json
[root@master parcel-repo]#
3.3 通过CM管理界面开始安装CDH
CM有收费版和免费版,免费版已经满足我们日常需求,我们这里选免费版本.
选择集群中的主机,这里选择所有主机。
这步选择CDH安装包,进入这个页面是,系统自动识别本地parcel包了。如果不识别,则可以点击上面更多选择里面到对应的目录把正确的本地路径地址和远程url地址路径填上即可。
不识别情况下如下图,填写对应的版本号即可:
点击继续后,开始安装分发和安装 Parcel。
这步是选择集群中要安装的CDH服务,为了将来新增服务麻烦,我们这里选择所有服务。
其中有暂时用不到的服务,我们可以在界面中停止服务,这样可以节省内存资源。
Hive, oozie 元数据库配置,使用我们安装的mysql来存放元数据,其中数据库名,用户名和密码 需要预先创建好的。
这步我们按照默认值
启动集群
第四部分 Kafka安装
第五部分:常见错误
./cloudera-scm-server: line 109: pstree: command not found
Starting cloudera-scm-server: [ OK ]
主要因为没有安装pstree包
解决办法:
yum install epel-release (安装yum 源)
yum provides pstree (找到提供pstree命令的包)
yum install psmisc (安装对应的包)
./cloudera-scm-server restart
|