hadoop部署全程手册
Hadoop安装手册
Hadoop-namenode:172.16.172.210
Hadoop-node1:172.16.172.212
Node2: 213
Node3 214
Node4 216
1.创建虚拟机(多个虚拟机可以安装在同一个磁盘上
2.选择iso文件.
选中刚创建的虚拟机,右键---->编辑设置
如图
然后开启虚拟机电源
3.安装
注意一:刚进入安装时,会有磁盘检查,skip就行,不然很慢。
注意二:如下图,选择‘是,忽略所有数据’
注意三:选择使用所有空间
注意四:当鼠标指针进入虚拟机时,同时按住ctrl+shift即可出来
4.配置网络
打开 /etc/sysconfig/network-scripts/ifcfg-eth0文件
添加如下选项:IPADDR=172.16.172.210(范围是从210~220)
NETMASK=255.255.255.0
GATEWAY=172.16.172.1
DNS1=202.102.134.68
DNS2=202.102.128.68
将 BOOTPROTO修改为”static” ONBOOT修改为”yes”
然后重启网络服务 :service network restart
可以通过ifconfig命令来查看是否配置正确。
版本不同,配置不太一样,有的版本如下:
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=srv211
GATEWAY=172.16.201.1
配置/etc/hosts文件,添加如下(每个节点都要配置):
172.16.172.210 namenode
172.16.172.212 node1
172.16.172.213 node2
172.16.172.214 node3
172.16.172.216 node4
5.克隆(或从模版部署虚拟机)
如果有模版的话,最好选用模版部署。
用模版:选中模版,右键--->”从该模版部署虚拟机” ,然后更改”名称”
下一步
下面忽略即可。
下一步
选择存储位置
下一步
下面的默认即可。
用户名和密码和模版的一样
(克隆和上述步骤相同)
6.配置克隆的操作系统
克隆完成后service network restart 会失败,出现如下错误:
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
解决方法:
打开 /etc/udev/rules.d/70-persistent-net.rules
记下 eth1(非零的)的mac
打开etc/sysconfig/network-scripts/ifcfg-eth0
修改相应选项和上面对应即可
Service network restart 启动成功
7安装jdk
本例jdk放在了/tmp目录下。
1.Jdk***.bin是一个自解压的文件,在linux上安装如下:
进入/tmp目录,执行 sh jdk**.bin(如果在ubuntu下,执 行./jdk.bin)
一路yes下去
2.jdk***.rpm.bin也是一个自解压文件,不过解压出来是rpm包,执行rpm命令安装 即可。如下:
Sh jdk.bin
Rpm -ivh jdk**-rpm
3.配置
打开 /etc/profile文件,添加如下信息:
export JAVA_HOME=/tmp/jdk1.6.0_31
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
执行如下命令,使配置文件生效:
source /etc/profile
输入 java -version 查看版本信息即可。
8.配置ssh无密码登录
(就是从一个节点连接另一个节点时,不用输密码了,这样以后 hadoop启动不用每次都输各个节点的密码)
在此之前,确保ssh和rsync已安装。可以通过如下命令查看是否安装:
rpm –qa | grep openssh
rpm –qa | grep rsync
若什么都没出现,则表示没有安装。通过如下命令进行安装:
yum install ssh #安装SSH协议
yum install rsync #(rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)
service sshd restart #启动服务
然后便可设置无密码登录,步骤如下:
1.在Master(名称节点)上操作
先进入home目录
cd
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub
在此处复制下~/.ssh/id_dsa.pub文件产生的内容,为方便示例用content代替。
通过刚才的命令的内容就能看到主机名称在~/.ssh/id_dsa.pub中,这也是为什么要配置hosts文件的原因。
2.在Slave0(数据节点)上操作
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将先前复制下的~/.ssh/id_dsa.pub文件产生的内容追加到Slave0的~/.ssh/authorized_keys中
echo 'content' >> ~/.ssh/authorized_keys
其它数据节点和上面的数据节点操作完全一样,下面省略。
9安装hadoop
下载hadoop压缩包,本例放在了/tmp目录下.
解压 :tar -zxvf hadoop-***.tar.gz
修改/etc/profile文件,添加如下:
export HADOOP_HOME=/tmp/hadoop-1.0.3
export PATH=$PATH:$HADOOP_HOME/bin
打开 /hadoop-1.0.3/conf文件夹
修改hadoop-env.sh 如下:
export JAVA_HOME=/tmp/jdk1.6.0_31
修改core-site.xml 如下:
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://172.16.172.210:9000</value>
</property>
修改hdfs-site.xml 如下:
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
修改mapred-site.xml 如下:
<property>
<name>mapred.job.tracker</name>
<value>http://172.16.172.210:9001</value>
</property>
修改masters 如下
172.16.172.210
修改slaves(master节点所特有) 如下:
172.16.172.212
172.16.172.213
172.16.172.214
172.16.172.216 Intelmanager
现在剩下的工作就是配置slave节点了。将上面的hadoop-1.0.3整个文件夹全部复制到各个slave节点上。分别修改各个的/etc/profile文件,和上面一样
删除slaves文件
启动及验证
(1)在启动之前要先格式化
进入/hadoop-1.0.3/bin目录下,执行如下命令:
Hadoop namenode -format
(2)关闭所有节点的防火墙:
Service iptables stop
(3)启动,在bin目录下,执行如下命令
Sh start-all.sh
(4)验证
1,分别在master和slave上用”jps”命令查看进程.如下
Slave master
2,查看web页
在浏览器中输入 172.16.172.210:50070
172.16.172.210:50030
备注
1如何把window上的文件上传到linux上
下载PSCP.EXE(http://www.putty.org):putty.zip,拷贝PSCP.EXE到E盘目录下;
在运行里输入cmd,进入E盘,输入下面的命令:
E:\>pscp.exe l:/intel.gz root@172.16.172.210:/tmp/
建议将PSCP.EXE放到C:\WINDOWS\system32下面,这样就可以在任何地方调用了
2,如何把文件从一个节点复制到另一个节点。执行如下命令
Scp filename root@172.16.172.212:/tmp
根据自己需要进行修改