環境說明:
m是datanode
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