Linux CDH5.XX 集群安装,配置

为什么选择CDH

CDHcloudera 公司的产品(各种组件的各个版本比较兼容的安装包),提供Hadoop 生态系统各个工具的统一安装和管理Cloudera Manager,同时还有一家对应的公司是hortonworks,对应的提供Ambari安装包和对应的管理工具。

关于这两种产品选择的详细对比,我会选择单独的博客来说明,现在这里的选择就是随机选一个了。

安装前说明

  1. 这里是列表文本安装前,当然是考虑需要多大的集群,安装哪些服务,等。
  2. 这里主要是安装,Hdfs, Yarn, Zookeeper, Flume, Solr, Hive .
  3. Cloudera 提供三种安装方式,这Choose B for production。也就是选择用Cloudera Manager 进行安装,然后在安装过程中 使用 Package而没有使用 Parcel进行安装, 也就是最后在设置仓库的时候选择custom repository

主机和网络规划

我这里以五台机子做的一个集群规划,如果大家资源足够,可以考虑5台以上

# network for hadoop
10.47.66.71 sc-hadoop-1.example.com sc-hadoop-1
10.46.66.51 sc-hadoop-2.example.com sc-hadoop-2
10.46.68.89 sc-hadoop-3.example.com sc-hadoop-3
10.46.68.85 sc-hadoop-3.example.com sc-hadoop-4
10.46.68.84 sc-hadoop-3.example.com sc-hadoop-5
配置IP

配置文件位置:vim /etc/sysconfig/network-scripts/ifcfg-ethx【x 代表网卡号 0、1...】 配置完成后重启 network 生效:service network restart 外网的示例配置代码如下:

DEVICE=eth0【网卡号】
HWADDR=e8:9a:8f:3b:98:5a【机器上默认值】
TYPE=Ethernet
UUID=9f41812a-aa48-4441-88c0-a59636210780【机器上默认值】
ONBOOT=yes【设置成 yes 否则 SSH 连接出错】
NM_CONTROLLED=yes
BOOTPROTO=static【IP 静态和自动获取方式】
IPV6INIT=no【不使用 IP6】
IPADDR=10.239.44.161【Ip 地址】
NETMASK=255.255.255.0【子网掩码】
GATEWAY=10.239.44.241【网关,也可在/etc/sysconfig/network 设置】

//注:如果没有申请外网 IP 地址,改成自动获取:BOOTPROTO=dhcp,删除 IPADDR 属性。

内网的示例配置代码如下:

DEVICE=eth1
HWADDR=E8:9A:8F:3B:98:5B
TYPE=Ethernet
UUID=75660d31-caa9-417c-98e0-c26e1010b7e1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPV6INIT=no
IPADDR=172.18.0.17
NETMASK=255.255.255.0
GATEWAY=172.18.0.255
配置DNS

配置文件位置:vim /etc/resolv.conf 添加如下内容:

search sh.example.com
search ddi.example.com
nameserver 10.248.2.1
nameserver 10.239.27.228

配置网络代理

配置文件位置:vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=sc-hadoop-1【主机名,必须正确,否则后面机器会出错】
GATEWAY=10.239.44.241【网关配置,也可在 1.1 的 ifcfg-ethx 中配置】

配置主节点代理上网

配置文件位置:vim /etc/profile 添加如下内容:

export http_proxy=http://child-prc.intel.com:911
#export http_proxy=http://proxy-socks.jf.intel.com:1080
#export http_proxy=http://proxy01.pd.intel.com:1080
#export http_proxy=http://proxy-prc.intel.com:911

以上代理选择其中一个就行。 配置文件生效:source /etc/profile 测试网络是否通:curl www.baidu.com

配置hosts

配置文件位置:vim /etc/hosts,示例配置代码如下

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 localhost

# network for hadoop
10.47.66.71 sc-hadoop-1.example.com sc-hadoop-1
10.46.66.51 sc-hadoop-2.example.com sc-hadoop-2
10.46.68.89 sc-hadoop-3.example.com sc-hadoop-3
10.46.68.85 sc-hadoop-3.example.com sc-hadoop-4
10.46.68.84 sc-hadoop-3.example.com sc-hadoop-5

系统配置及准备

配置 SSH 无密码登录

多台服务器之间免密登陆,和两台服务器之间免密登陆是一样的,把需要互相访问的主机互相上传即可

1.生成密钥对

//-P 不设置密码
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  1. 拷贝 authorized_keys 到另外兩台主机 (可以从master ssh slave)
scp /home/your_name/.ssh/authorized_keys sc-hadoop-2.example.com:/home/your_name/.ssh/authorized_keys
scp /home/your_name/.ssh/authorized_keys sc-hadoop-3.example.com:/home/your_name/.ssh/authorized_keys

或者用

ssh-copy-id -i ~/.ssh/id_rsa.pub sc-hadoop-2.example.com
配置免密使用sudo

在安装Cloudera Manager 的过程中需要用到sudo 用户,或者直接使用root进行安装。

这里选择的是使用sudo 用户进行操作,所以需要配置免密使用sudo

//编辑下面的文件
sudo visudo -f /etc/sudoers.d/newfile

your-name ALL=(ALL) NOPASSWD:ALL

关闭 SELinux 配置
SELinux 支持三种模式,分别如下:
enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;
permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type
的存取。这种模式可以运来作为 SELinux 的 debug 之用;
disabled:关闭:SELinux 并没有实际运作。
查看 SELinux 的模式: getenforce
查看 SELinux 政策:sestatus
设置 SELinux 模式:setenforce 0
选项与参数如下,
0 :转成 permissive 宽容模式;
1 :转成 Enforcing 强制模式
如果需要关闭 SELinux 成 disabled 必须重启机器才能生效:
文件配置位置:vim /etc/selinux/config
设置 SELINUX 值:SELINUX= disabled
集群仅做实验不涉及到安全问题,建议直接关闭 SELINUX,设置成 permissive 在安装 cloudera-
manager-installer.bin 有时也会出错
开启 httpd 服务

查看 http:service httpd status

停止 http:service httpd stop

打开 http:service httpd start

安装 cdh5 时,保持各个机器的 httpd 是打开状态。

如果没有安装:

sudo apt-get update &&
sudo apt-get install apache2 &&
sudo /etc/init.d/apache2 restart
关闭防火墙配置

查看:service iptables status 打开:service iptables start 关闭:service iptables stop 安装 cdh5 时,保持各个机器的 iptables 是关闭状态。

配置源

ubuntu 下操作:

构建repo,使用官方源。

文档地址

sudo vim /etc/apt/sources.list.d/cloudera-manager.list
sudo apt-get update

安装CDH

安装JAVA

在安装Java 的时候注意目录配置,这里是从一个主机,进行批量脚本安装

注意一点就是 目录一定是要 /usr/java/jdk1.8.0_131 ,这个路径,还有JDK的版本32位,64

安装数据库

数据库是为Cloudera Manger准备的,会存储大量关于服务器的信息,生产环境需要安装单独的数据库,这里为了快速安装,使用自带的数据库,这里使用PostgreSQL 安装自定义数据库

安装在 Cloudera Manger Server 这个节点上即可
sudo apt-get install cloudera-manager-server-db-2

Setting up postgresql-9.3 (9.3.17-0ubuntu0.14.04) ...
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with

pg_createcluster 9.3 main --start

or a similar command (see 'man pg_createcluster').

安装 Cloudera Manager Server Packages

建议单独规划一个主机来安装 Cloudera Manager Server

如果使用上一步操(自带的数据库), Cloudera Manager Server Packages 已经安装好了

sudo apt-get install cloudera-manager-daemons cloudera-manager-server

启动
sudo service cloudera-scm-server start
安装服务

访问: http://localhost:7180 ( Cloudera Manager Serve 安装的地址)

你会看到:

产品选择

这里选择Express 产品, 这里有具体的介绍Express and Enterprise

主机可以通过通配符来检索

因为安装过程中需要下载cdh, parcel ,经常网络出错, 所以自己构建一个本地仓库, 让clouder manager 使用本地仓库,文档-怎样构建自己的仓库

  1. 构建好仓库 http://localhost/chd5.11/
  2. 将仓库加到自己unbuntu中的源 , vim /etc/apt/sources.list.d/my-private-cloudera-repo.list
  3. 在使用Cloudera Manager新增节点的时候,add cluster - custom own repostory
example:
deb [arch=amd64] https://localhost/chd5.11/cm trusty-cm5.11.0 contrib

输入图片说明

这一步是选择安装包的位置填写:http://localhost/cloudera/RPMS/其中 localhost 也可以改成 172.18.0.17 地址。但下面 Custom GPG Key URL 无法识别主机名,需要写成 ip 地址。

输入图片说明

后面的就是选择要安装的主机和服务,一切顺利,那你就可以测试集群了。

必读

开始使用之前,或这安装前,或者配置前,一定要了解下面的内容。

how-does-cloudera-manager-work

https://blog.cloudera.com/blog/2013/07/how-does-cloudera-manager-work/

Q&A

  • 安装中断,请查看日志

host acquiring installation lock forever

【solution】 https://community.cloudera.com/t5/Cloudera-Manager-Installation/host-acquiring-installation-lock-forever/td-p/15292

you can remove /tmp/.scm_prepare_node.lock

ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open

sudo rm /tmp/.scm_prepare_node.lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

  • JDK版本 的问题

exec /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/hadoop-hdfs/bin/hdfs --config /run/cloudera-scm-agent/process/12-hdfs-DATANODE datanode Java HotSpot(TM) Server VM warning: You have loaded library /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/hadoop/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

这个错误的原因是: http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/NativeLibraries.html#Native_Hadoop_Library

解决方案,请检查JDK位数对不对,下面是64位的输出,64

java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

  • 无法访问 hue web ui

https://stackoverflow.com/questions/17990952/hue-web-ui-not-loading-in-browser

  • Installation failed. Failed to receive heartbeat from agent

输入图片说明

  1. 检查host name 对不对, 不支持下划线
  2. sudo kill -9 $(pgrep -f supervisord) kill 这个进程

转载于:https://my.oschina.net/tigerlene/blog/1212800

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值