服务器配置:hadoop1 hadoop2 haddop3 hadoop4四台服务器
1.设置静态ip
在CentOS桌面右上角的图标,右键修改
重启网卡,执行servicenetwork restart(/etc/rc.d/init.d/network restart)
验证:执行命令ifconfig
2.修改主机名
1.修改会话中的主机名,执行命令hostname hadoop
2.修改配置文件中主机名,vi/etc/sysconfig/network 设置HOSTNAME=hadoop
验证:重启机器(hostname)
3.把hostname和ip绑定
执行命令 vi/etc/hosts,增加一行内容:192.168.80.10 hadoop1 192.168.80.20 hadoop2,192.168.80.30 hadoop3保存退出
验证:ping hadoop1 ping hadoop2 ping hadoop3
4.关闭防火墙
执行命令service iptables stop
验证:serviceiptables status
5.关闭防火墙的自动运行
执行命令chkconfig iptables off
chkconfig(查看服务chkconfig --list chkconfig --list |grep iptables)
验证:chkconfig--list | grep iptables
6.SSH(Secure Shell)免密码登录
1.执行命令:ssh-keygen-t rsa 产生密钥,位于~/.ssh文件夹中
2.执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
(多台电脑免密码登录(不能用root账户登录) scp/home/guozhaoyang/.ssh/id_rsa.pubguozhaoyang@192.168.80.30:/home/guozhaoyang/.ssh/authorized_keys)
authorized_keys应该包含集群所有的id_rsa.pub
验证:ssh hadoop1
7.安装jdk
1.在hadoop用户目录下创建文件夹 mkdir/home/hadoop/soft
2.使用winscp把jdk文件复制到/home/hadoop/soft/
3.执行命令 chmodu+x jdk-6u45-linux-x64.bin 赋予可执行权限
4.执行命令 ./jdk-6u45-linux-x64.bin 解压缩操作
5.执行命令 mvjdk-6u45-linux-x64.bin jdk 重命名
6.设置环境变量 vi /home/hadoop/.bash_profile增加两行内容 export JAVA_HOME=/home/hadoop/soft/jdk export PATH=.:$JAVA_HOME/bin:$PATH
执行命令source /home/hadoop/.bash_profile 让设置立即生效
验证:java -version
8.安装Hadoop
1.执行命令 tar-zxvf hadoop-1.1.2.tar.gz 进行解压缩
2.执行命令 mv hadoop-1.1.2 hadoop 重命名
3.设置环境变量vi/home/hadoop/.bash_profile 增加一行内容 export HADOOP_HOME=/home/hadoop/soft/hadoop
修改一行内容 export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
执行命令source/home/hadoop/.bash_profile 让设置立即生效
4.修改hadoop的配置文件,位于$HADOOP_HOME/conf目录下,修改四个配置文件:hadoop-env.sh core-site.xml、hdfs-site.xml、mapred-site.xml
a.hadoop-env.sh
exportJAVA_HOME=/home/hadoop/soft/jdk/
b.core-site.xml (fs.default.namehdfs://hadoop1:9000 决定了namenode运行的服务器名称)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:9000</value>
<description>changeyour own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/soft/hadoop/tmp</value>
</property>
</configuration>
c.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
d.mapred-site.xml (mapred.job.tracker hadoop1:9001 决定了JobTracker运行的服务器名称)
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop1:9001</value>
<description>changeyour own hostname</description>
</property>
</configuration>
e.masters hadoop1(配置主节点,masters中只需要配置SecondaryNameNode的名字,不需要记录NameNode JobTracker的名字)
f.slaves hadoop2
hadoop3
hadoop3(配置从节点)
5.复制到其他节点
scp -r /home/hadoop/soft/hadoop hadoop@hadoop2:/home/hadoop/soft/
scp -r /home/hadoop/soft/hadoop hadoop@hadoop3:/home/hadoop/soft/
6.执行命令 hadoop namenode -format 对hadoop进行格式化
7.start-all.sh 启动hadoop(jps 显示当前所有java进程pid)
验证:a.执行命令jps,发现5个java进程 NameNode DataNode SecondaryNameNode TaskTrackerJobTracker
b.通过Linux浏览器 http://hadoop:50070 (NameNode) http://hadoop:50030 (TaskTracker)
c.通过Window系统下的浏览器 (修改C:\Windows\System32\drivers\etc\hosts 添加192.168.80.10 hadoop1)
NameNode进程没有启动成功?
1.没有格式化 2.配置文件只copy,没有修改 3.hostname与ip没有绑定 4.SSH的免密码登录没有配置成功
多次格式化Hadoop也是错误的,方法:删除/home/hadoop/soft/hadoop/tmp文件夹,重新格式化