centos6.4用cloudera manager安装hadoop2.0.0-cdh4.3.0集群(一)
cloudera发行的hadoop安装有4种方式,其中使用cloudera manager安装是最简单的。缺点是你不清楚hadoop安装时的配置以及具体流程,而且cloudera manager的商业版是收费的,有免费版但是只支持最多50个节点。虽然官方极力推荐此种方法,但是个人认为若需要对hadoop源码熟悉的较快,可以选择手动安装。下面简单介绍一下cloudera安装方式的流程。
一、前期准备
1、操作系统选择。
centos、red hat、ubuntu均是可以的,但是和要安装的hadoop版本有区别。根据要安装的hadoop选择操作系统,一般选centos6以上版本。
2、jdk安装配置
选择jdk1.7以上版本,集群安装最好所有节点版本一致,路径一致。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
将已下载的java包移动到你想要的目录,比如:
cd /usr
mkdir java
mv 'java源包路径' 、/usr/java
rpm -ivh /usr/java/java1.7.....
安装完成后,需要配置环境变量:
export JAVA_HOME=<jdk-install-dir>
sudo env | grep JAVA_HOME
编辑/etc/sudoers文件:
vim /etc/sudoers
按i编辑,添加:
Defaults env_keep+=JAVA_HOME
esc退出编辑,输入‘:wq!’保存退出。
3、关闭selinux
vim /etc/selinux/config
修改SELINUX=disabled
注:重启后生效,可以在配置完其他步骤后再重启。
4、关闭防火墙
service iptables stop ---临时关闭
chkconfig iptables stop ---永久关闭
不同系统有细微区别,建议每次开机都临时关闭防火墙,永久关闭命令不一定有效。
5、配置代理以及修改timeout
vim /etc/yum.conf
添加:
http_proxy=http://server:port/
timeout=55555
此处timeout若不添加可能会在后续cdh4安装时因为网络问题下载安装失败。
6、安装内置数据库postgresql
yum install postgresql
service postgresql initdb ---此处数据库初始化注意必须在操作系统中添加有PostgreSQL
chkconfig postgresql on ---开机启动
vim /var/lib/pgsql/data/postgresql.conf ---配置参数
修改
#listen_addresses = '127.0.0.1' # what IPaddress(es) to listen on;
# comma-separatedlist of addresses;
#defaults to 'localhost', '*' = all
#port = 5432
修改后:
listen_addresses= '*' #what IP address(es) to listen on;
# comma-separated listof addresses;
# defaults to'localhost', '*' = all
port= 5432
保存退出。
service postgresql restart ---重启数据库服务
上述前期配置均已完成后可重启计算机。所有集群节点均做相同操作。
二、部署cdh4集群
1、修改主机名
比如在master节点上:
hostname master
vim /etc/sysconfig/network
修改
HOSTNAME=master
其他slave节点做类似操作,重启计算机。
2、修改hosts
vim /etc/hosts
添加:
192.168.xxx.xxx master
192.168.xxx.xxx slave01
192.168.xxx.xxx slave02
..
..
所有集群电脑做上述相同配置。
3、配置ssh
在Master上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到所有的Slave上;
当Master通过SSH连接Slaver时,Slave会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master;
Master收到加密后用私钥进行解密,并将解密数回送给Slave,Slave确认解密数无误后允许Master不输入密码就可以进行连接。
在master电脑上:
ssh-keygen -t rsa -p ''
一路默认,按enter结束。若之前已有公钥私钥,会出现是否覆盖,y确定覆盖。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
vim /etc/ssh/sshd_config
修改
#RSAAuthentication yes # 启用RSA 认证
#PubkeyAuthentication yes # 启用公钥私钥配对认证方式
# AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
修改后:
RSAAuthenticationyes # 启用RSA 认证
PubkeyAuthenticationyes # 启用公钥私钥配对认证方式
AuthorizedKeysFile.ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)