--------------------------------------------------
一、单节点的安装
1.伪分布式的安装
1.1 修改ip
(1)打开VMWare或者VirtualBox的虚拟网卡
(2)在VMWare或者VirtualBox设置网络连接方式为host-only
(3)在linux中,修改ip。有上角的图标,右键,选择Edit Connections....
****ip必须与windows下虚拟网卡的ip在同一个网段,网关必须是存在的。
(4)重启网卡,执行命令service network restart
****报错,如no suitable adapter错误,
(5)验证:执行命令ifconfig
1.2 关闭防火墙
(1)执行命令service iptables stop 关闭防火墙
(2)验证:执行命令service iptables status
1.3 关闭防火墙的自动开启
(1)执行命令chkconfig iptables off
(2)验证:执行命令chkconfig --list|grep iptables
1.4 修改hostname
(1)执行命令hostname cloud4 修改会话中的hostname
(2)验证:执行命令hostname
(3)执行命令vi /etc/sysconfig/network 修改文件中的hostname
(4)验证:执行命令reboot -h now 重启机器
1.5 设置ip与hostname绑定
(1)执行命令vi /etc/hosts
在文本最后增加一行192.168.80.100 cloud4
(2)验证:ping cloud4
1.6 ssh免密码登陆
(1)执行命令ssh-keygen -t rsa 产生秘钥位于/root/.ssh/
(2)执行命令cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 产生授权文件
(3)验证:ssh localhost
1.7 安装jdk
(1)使用winscp把jdk、hadoop复制到linux的/root/Downloads
(2)cp /root/Downloads/* /usr/local
(3)cd /usr/local
赋予执行权限 chmod u+x jdk-6u24-linux-i586.bin
(4)./jdk-6u24-linux-i586.bin
(5)重命名 mv jdk1.6.0_24 jdk
(6)执行命令 vi /etc/profile 设置环境变量
增加两行
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile
(7)验证:执行命令java -version
1.8 安装hadoop
(1)执行命令 tar -zxvf hadoop-1.1.2.tar.gz 解压缩
(2)执行命令 mv hadoop-1.1.2 hadoop
(3)执行命令 vi /etc/profile 设置环境变量
增加一行
export HADOOP_HOME=/usr/local/hadoop
修改一行
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile
(4)验证:执行命令 hadoop
(5)修改位于conf/的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
<1>文件hadoop-env.sh的第9行
export JAVA_HOME=/usr/local/jdk/
<2>文件core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://cloud4:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
<3>文件hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
<4>文件mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>cloud4:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
(6)执行命令 hadoop namenode -format 进行格式化
(7)执行命令 start-all.sh 启动hadoop
(8)验证:
<1>执行命令jps 查看java进程,发现5个进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker
<2>通过浏览器查看http://master:50070 和 http://master:50030
*****修改windows的C:/Windows/system32/drivers/etc/目录下的hosts文件
二、多节点的搭建
1.hadoop集群搭建
1.1 hadoop集群式多台机器物理分布的,每一台物理机器都是承担不同的角色(NameNode\DataNode\SecondarynaemNode\JobTracker\TaskTracker)。
搭建三个节点的hadoop集群:hadoop0(NameNode、JobTracker、SecondarynaemNode),hadoop1和hadoop2(DataNode、TaskTracker)。
1.2 集群的各个节点通常都是物理机器,但是也可以包含虚拟机。
1.3 在VMWare中复制出两个节点,删除这两个节点中的.ssh配置信息和/usr/local/目录下的所有内容
1.4 设置这两个新节点的ip(分别是192.168.80.101和192.168.80.102)和hostname(hadoop1和hadoop2)。
1.5 把所有的ip和hostname的映射信息配置在每一个节点的/etc/hosts中。
1.6 集群的各个节点之间SSH免密码登陆
(1)在两个新节点中产生ssh秘钥文件
(2)ssh-copy-id -i hadoop0
1.7 把hadoop0上原来的/usr/local/hadoop/logs和/usr/local/hadoop/tmp目录删除
1.8 把hadoop0上的jdk目录和hadoop目录复制到其他节点
scp -r /usr/local/jdk hadoop1:/usr/local
scp -r /usr/local/hadoop hadoop1:/usr/local
1.9 在hadoop0节点上配置主从关系,修改$HADOOP_HOME/conf/slaves文件,删除原有内容,修改为hadoop1和hadoop2.
1.10 在hadoop0上格式化文件系统 hadoop namenode -format
1.11 在hadoop0上执行命令 start-all.sh
2.动态增加hadoop的从节点
2.1 假设hadoop0是将要被新增的从节点
2.2 修改主节点hadoop0的slaves文件,增加hadoop0
2.3 在从节点hadoop0上手工启动DataNode和TaskTracker进程
hadoop-daemon.sh start datanode|tasktracker
2.4 让主节点加载新的从节点信息
hadoop dfsadmin -refreshNodes
3.动态修改副本数
hadoop fs -setrep 2 /core-site.xml