Hadoop1.0.4集群安装
来源:互联网 发布:2017人工智能大会 编辑:程序博客网 时间:2024/05/18 01:28
2013年4月14日 星期日
Hadoop集群的安装
一 安装计划
虚拟机:VMware9.0
操作系统:CentOS5.8
Hadoop:Hadoop1.0.4
网段为:192.168.201.1
三个节点分别为:
Master:192.168.201.11
Slave1: 192.168.201.12
Slave2:192.168.201.13
Java:jdk7u
工具:SecureCRT
二 虚拟机的安装及配置
2.1 虚拟机的安装就不详述了
三 CentOS的安装及配置
3.1 安装也不详述
3.2 配置
3.2.1 首先将虚拟机的网卡设置为host-only,
物理机器的虚拟网卡VMnet1的IP设置为192.168.201.1,以后建立的虚拟集群都在这个网段
3.2.2 启动系统,进入root用户
3.2.3 CentOS刚安装完毕,要进行初始化设置,使得一些基本命令可以直接使用,不用再输入绝对路径
⑴ 配置/etc/profile文件,
在文件末加入以下语句:
PATH=$PATH:/sbin #在PATH变量后追加/sbin目录
export PATH=$PATH:/sbin#设置变量为全局的
⑵ 配置/home/user/.bash_profile文件,
在PATH后面添加/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin这几个路径。
3.2.4 编辑/etc/sudoers文件,使得普通用户可以以root权限执行命令,就是命令前可以使用“sudo”
⑴ 添加文件的写权限。chmod u+w /etc/sudoers
⑵ 编辑/etc/sudoers文件。在"root ALL=(ALL) ALL"下面添加"user ALL=(ALL) ALL"(这里的user是用户名),退出
⑶ 注释掉:Defaults requiretty所在的行。即:#Defaults requiretty
⑷ 撤销文件的写权限。chmod u-w /etc/sudoers。
3.2.5 编辑/etc/sysconfig/network-scripts/ifcfg-eth0,设置网卡的为静态获取IP,并设置IP地址
注:这个我在安装CentOS时已经配置为静态IP,如果同学安装的时候没有配置为静态的,可以配置此
文件配置,具体不在详述
3.2.6 编辑/etc/sysconfig/network和/etc/hosts设置机器名
⑴ hostname=master
⑵ 修改为
127.0.0.1 localhost
192.168.201.11 master
192.168.201.12 slave1
192.168.201.13 slave2
3.2.7 重启虚拟机
3.2.8 可以看到sudo已经可以使用了,ifconfig也可以直接用了,主机名也已经改了
四 JDK安装
4.1 SecureCRT的使用
4.1.1 启动SecureCRT(安装不详述)
4.1.2 连接192.168.201.11
4.1.3 打开SecureFX,将JDK复制到虚拟机中
4.2 将压缩包解压
4.3 编辑/etc/profile文件,加入以下几行 --注jdk的具体安装位置和版本自行修改
export JAVA_HOME=/home/elvis/jdk1.7.0_17
export JRE_HOME=/home/elvis/jdk1.7.0_17/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
4.4 source /etc/profile --使配置生效
4.5 java -version
可以看到java的版本信息,安装成功
五 虚拟集群架设流程
5.1 连接到虚拟机master(192.168.201.11)
5.2 查看一下开机自动启动的服务,关闭其中一些不必要的,可以加快开机速度并减少内存占用
有很多服务没必要开启
chkconfig --list
需要关闭的服务有如下几个:
echo "123456" | sudo -S 这个前缀可以使得普通用户不必在使用root权限
的时候再输入密码了
echo "123456" | sudo -S chkconfig sendmail off
echo "123456" | sudo -S chkconfig bluetooth off
echo "123456" | sudo -S chkconfig NetworkManager off
echo "123456" | sudo -S chkconfig acpid off
echo "123456" | sudo -S chkconfig apmd off
echo "123456" | sudo -S chkconfig dund off
echo "123456" | sudo -S chkconfig pand off
echo "123456" | sudo -S chkconfig capi off
echo "123456" | sudo -S chkconfig cups off
echo "123456" | sudo -S chkconfig iptables off
echo "123456" | sudo -S chkconfig ip6tables off
echo "123456" | sudo -S chkconfig irda off
echo "123456" | sudo -S chkconfig isdn off
echo "123456" | sudo -S chkconfig kudzu off
echo "123456" | sudo -S chkconfig lm_sensors off
echo "123456" | sudo -S chkconfig mdmonitor off
echo "123456" | sudo -S chkconfig pcscd off
5.3 通过SecureFX将一些必要的软件copy到虚拟机里 --这里主要是hadoop软件
5.4 关闭虚拟机
5.5 将虚拟机的镜像文件copy成2个副本,一共3个虚拟机
注意:如果你的本本硬盘空间和物理内存都比较充裕的话可以多建立一些节点
5.6 一个虚拟机副本copy完并启动之后,vmware会重新给其网卡分配一个mac地址,所以需要修改mac地址,IP也要改
5.6.1 ifconfig 查看本机eth0网卡的IP和mac地址
5.6.2 编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改mac地址和IP地址
5.7 重启网卡
sudo service network restart
5.8 编辑/etc/sysconfig/network机器名
5.9 重启
注:其他节点也类似就不一一详述
六 hadoop1.0.4部署流程
6.1 启动集群master,slave1,slave2
6.2 实现SSH无密码登陆
6.2.1 实现无密码本机登录master
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
直接回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。这两个是成对出现,类似钥匙和锁。
再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_key s文件 ) :
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
实验:ssh localhost hostname
还是要输入密码,一般这种情况都是因为目录或文件的权限问题,看看系统日志,确实是权限问题,
.ssh下的authorized_keys权限为600,其父目录和祖父目录应为755,
查看系统日志:sudo tail /var/log/secure -n 20
解决方法为:chmod 755 .
chmod 755 .ssh
chmod 600 .ssh/authorized_keys
在其他机器上同样操作
6.2.2 实现无密码登录其他机器
把 slave1和slave2里的id_dsa.pub都追加到授权 key 里面
ssh slave1 cat /home/elvis/.ssh/id_dsa.pub >> .ssh/authorized_keys
将各节点authorized_keys文件合并并覆盖至每个节点
scp authorized_keys slave1:/home/elvis/.ssh/authorized_keys
做技术就是谨慎,还是在全面检验一遍:ssh 192.168.201.12 hostname
(每个节点上都需要验证)
6.3 修改/usr/local目录的权限,命令:sudo chmod 777 /usr/local/
将hadoop的tar包copy到/usr/local/下
(master节点)copy到这个目录下并且解压
6.4 查看 cat /etc/hosts
192.168.201.11 master
192.168.201.12 slave1
192.168.201.13 slave2
6.5 配置 conf/masters 和 conf/slaves
在hadoop文件目录里
conf/masters
192.168.201.11
conf/slaves
192.168.201.12
192.168.201.13
6.6 配置 conf/hadoop-env.sh
加入
export JAVA_HOME=/home/elvis/soft/jdk1.7.0_17
6.7 配置 conf/core-site.xml
加入
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.201.11:9000</value>
</property>
6.8 配置 conf/hdfs-site.xml
加入
<property>
<name>dfs.http.address</name>
<value>192.168.201.11:50070</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
6.9 配置conf/mapred-site.xml
加入
<property>
<name>mapred.job.tracker</name>
<value>192.168.201.11:8012</value>
</property>
6.10 建立相关的目录
/usr/local/hadoop/ //hadoop数据和namenode目录
6.11 建立相关的目录其他的几个节点也是同样
6.12 将hadoop文件远程copy到其他节点(这样前面的配置就都映射到了其他节点上),
命令为:scp -r hadoop-x.xx.x 192.168.201.22:/usr/local/
6.13 格式化Active master(192.168.201.11)
命令:bin/hadoop namenode -format
6.14 启动集群 ./start-all.sh
6.15 现在集群启动起来了,看一下,命令:bin/hadoop dfsadmin -report
2个datanode,打开web看一下
浏览器输入:192.168.201.11:50070
命令:jps
6.16集群安装完成!
- Hadoop1.0.4集群安装
- Hadoop1.0.4集群安装
- Hadoop1.x集群安装
- Hadoop1.2.1集群安装二
- Hadoop1.2.1集群安装三
- 安装hadoop1.2.1集群环境
- 安装hadoop1.2集群环境
- 安装hadoop1.2.1集群环境
- Hadoop1.0的集群安装
- 安装hadoop1.2.1集群环境
- hadoop1.2.0真实集群安装
- hadoop1.0.4+zookeeper-3.4.5+hbase-0.94.1集群安装
- Hadoop1.2.1集群安装配置笔记
- centos7安装hadoop1.2.1分布式集群
- 十六、Hadoop1.0伪集群安装(上)
- 十七、Hadoop1.0伪集群安装(下)
- Hadoop1.0.4伪分布式安装
- Ubuntu12.04安装hadoop1.0.4
- 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方
- hdu 4544 湫湫系列故事——消灭兔子(优先队列+贪心)
- OpenMP: 程序for循环并行效率优化
- [算法] poj 1274 The Perfect Stall (匈牙利)
- 你的搜索其实很糟糕?
- Hadoop1.0.4集群安装
- Android基于box2d开发弹弓类游戏[0]
- 符号链接与硬链接的区别
- 查看seesion 信息
- java中的反射一(Class类的认识)
- NSIS 如果让插件调用回调
- ubuntu12.04 取消主目录下文件在桌面上面的图形显示
- 打印出杨辉三角形(要求打印出10行)
- Android 基于Socket的聊天室