由于逐渐面临高频数据的问题,所以计划正式启用hadoop分布式计算,
去年10月份研究过一段时间hadoop的部署情况,确定使用CDH版本的hadoop(最新5.4.0),
主要是考虑维度是减少运维难度以及快速部署上线(当然如果想更好的学习hadoop,还是建议从hadoop原生态版本部署入手)。
好脑子不如烂笔头,也就半年时间,但是研究的细节已经完全不在记忆中了,为了方便以后查阅问题,还是记录下来吧。。。
CDH的下载地址:这里
以下采用的是:使用cloudera-manager来部署和安装
CDH安装前的准备
1. SSH配置
因为manager需要通过SSH访问集群中的机器,包括安装,升级等操作,所以需要使用无密码登录机制
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3(集群目标机器)
2. IPv6 must be disabled.
centos6.5(以下所有关于OS的操作除有说明外,其他默认在centos6.5下执行) 在 /etc/sysctl.conf里增加如下内容:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
如果需要disable运行系统下的ipv6,可以进行以下操作
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
or
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
3. 设置DNS
/etc/hosts里设置
127.0.0.1 localhost.localdomain localhost 192.168.1.1 cluster-01.example.com cluster-01 192.168.1.2 cluster-02.example.com cluster-02 192.168.1.3 cluster-03.example.com cluster-03
4. 关闭Selinux
vim /etc/selinux/config
SELINUX=disabled
5. 方便起见,整体关闭iptables
6. 由于带宽等问题,考虑在本地局域网内制作repo来方便安装
manager相关的repo参看:这里
7. CDH安装建议降低swap的使用率
查看 swap的当前值 cat /proc/sys/vm/swappiness
0为最大化使用内存
sudo sysctl vm.swappiness=2
要该配置永久有效,
则修改配置文件/etc/sysctl.conf,在其底部添加一行
vm.swappiness = 2
注意:直接更改swappiness的文件值是会出现权限问题,即使是root管理员
8. 安装 /usr/share/java/mysql-connector-java.jar 否则会导致JDBC无法连接的错误
9. 各个机器安装ntpd,否则导致时钟差异错误
10. 修改CDH的JDK版本,查看官方文档:这里