hadoop集群安装与配置
硬件
- 五台服务器,一台master,三台slave,一台集群client
- 网络设置
机器名 |
IP |
备注 |
Hadoop.mater |
ip1 |
Master,Namenode |
Hadoop.slave1 |
ip2 |
Slave |
Hadoop.slave2 |
ip3 |
Slave |
Hadoop.slave3 |
ip4 |
slave |
Hadoop.client |
ip5 |
集群client,thrift服务承载 |
系统设置
- 安装操作系统centOS6.4版本
- 每台机器均配置/etc/hosts文件,将除client以外的机器全部按照网络设置解析
- 安装sun公司的Java-jdk,要求版本至少1.6以上,安装路径:/usr/java/default
- 每台机器配置/etc/profile文件,添加内容如下:
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- 每台机器添加用户组hadoopgroup,命令如下:
groupadd hadoopgroup
- 每台机器添加用户hadoopuser
useradd –G hadoopgroup
passwd hadoopuser
- 设置ssh本地无密码登录验证
(1) 每台机器修改/etc/ssh/sshd_config
(2) 找到以下内容,并去掉注释符"#"
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
(3) 修改文件authorized_keys的权限
(4) chmod 600 /home/用户名/.ssh/authorized_keys
(5) 生成用户密钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
(6) 追加本地登录授权
Cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
(7) 验证面密码登录本机:
ssh localhost
出现下面的语句就表示成功了
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
在询问时回答yes注意区分大小写
- 设置集群无密码ssh登录
.ssh文件夹下生成的id_dsa.pub文件复制到所有机器上,并追加到目标机器授权
- scp ~/.ssh/id_dsa.pub hadoopuser@目标机器ip:~/
- ssh 目标机器ip
- cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
- exit
在每台需要无密码登录的服务器循环授权一遍
hadoop集群安装与配置
- 下载hadoop-1.1.2.tar.gz,hive-0.10.0.tar.gz,sqoop-1.4.3.bin_hadoop-1.0.0.tar.gz
- 将hadoop安装在/home/hadoopuser下
- 共同配置,修改conf/hadoop-env.sh的如下内容:
export JAVA_HOME=/usr/java/default
4.在根目录下创建/data/hadooptemp作为数据临时文件夹:
mkdir /data/hadooptemp
5.基础配置
(1) conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://masterIP:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/temp</value>
</property>
</configuration>
(2) conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3) conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>masterIP:9001</value>
</property>
</configuration>
6.conf/master
masterIP1
masterIP2
masterIP3
……
7. conf/slave
slaveIP1
slaveIP2
slaveIP3
…….