环境说明:
m是datanode
hodoop1是datanode
hodoop2是datanode
hodoop3是datanode
注意:hadoop分布式集群一般是在伪分布式的基础上配置
1、创建ssh
hadoop启动了需要访问各个datanode,所以要在本机和其他datanode建立免密码登陆ssh
ssh-copy-id -i slavenode //slavenode 格式为 hadoop@s1
2、静态ip
修改文件 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:E3:12:5D"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR="192.168.40.138"
NETMASK="255.255.255.0"
NETWORK="192.168.40.2"
3、关闭防火墙
- service iptables stop
- service iptables status //查看状态
- 关闭防火墙的自动运行
执行命令 chkconfig iptables off //搭建集群很重要
验证: chkconfig --list | grep iptables - 执行命令 service network restart //重启网络
4、安装jdk
技巧:将 jdk复制到其他节点
scp -rq source destination
解压 tar -zxvf jdk-7u51-linux-x64.tar.gz
配置环境变量
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
5、安装hadoop
解压 tar -zxvf hadoop.tar.gz
环境变量设置
export JAVA_HOME= / opt/jdkexport HADOOP_HOME=/opt/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
修改配置文件
1.修改conf/hadoop-env.sh
export JAVA_HOME=/opt/jdk保存退出
2.配置conf/core-site.xml,增加以下内容
<property><name>fs.default.name</name>
<value>hdfs://m:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
3.配置conf/hdfs-site.xml
<property><name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/conf/excludes</value>
</property>
4.配置conf/mapred-site.xml
<property><name>mapred.job.tracker</name>
<value>hdfs://m:9001/</value>
</property>
配置conf/masters
m配置conf/slaves
hadoop1hadoop2
hadoop3
把hadoop0的hadoop目录、jdk目录、/etc/hosts、/etc/profile复制到hadoop1,hadoop2、hadoop3节点
#cd $HADOOP_HOME/..#scp -r hadoop hadoop1:/home
#scp -r hadoop hadoop2:/home
#scp -r hadoop hadoop3:/home
在hadoop0上
第一次启动Hadoop,必须先格式化namenode
#cd $HADOOP_HOME /bin#hadoop namenode –format
启动Hadoop
#cd $HADOOP_HOME/bin
#./start-all.sh
如果启动过程,报错safemode相关的Exception
执行命令
# hadoop dfsadmin -safemode leave
然后再启动Hadoop
停止Hadoop
cd $HADOOP_HOME/bin
#./stop-all.sh