Hadoop集群安装设置

公司一个项目涉及到云计算,通过学习了解计划采用Hadoop,在网上找文章学习,开始做Hadoop集群安装。
安装3个虚拟机,安装Ubuntu Linux 11.10版本,设置为单CPU,512M内存,20GB硬盘,ip:分别为192.168.1.16、17、22,16做NameNode和JobTracker,17、22做DataNode。
1.建立pc01用户,密码为6个1。
2.恢复root用户和密码,并修改主机名和对应的hosts文件,停止防火墙
恢复root

[plain]  view plain copy
  1. sudo passwd root  

修改主机名,运行

[plain]  view plain copy
  1. sudo gedit /etc/hostname  
比如16改为UbuntuHM1,17改为UbuntuHS1,22改为UbuntuHS2,,
修改对应hosts文件
[plain]  view plain copy
  1. sudo gedit /etc/hosts  
改为
[plain]  view plain copy
  1. 127.0.0.1   localhost  
  2. 192.168.1.16    UbuntuHM1  
  3. 192.168.1.17    UbuntuHS1  
  4. 192.168.1.22    UbuntuHS2  
改好后重启机器,运行
[plain]  view plain copy
  1. hostname  

看是否修改成功。
停止防火墙

[plain]  view plain copy
  1. sudo ufw disable  

3.去 Java官网 下载JDK1.7.03 Linux版本jdk-7u3-linux-i586.tar.gz

4.解压JDK
[plain]  view plain copy
  1. sudo tar xvzf jdk-7u3-linux-i586.tar.gz /usr/local/lib  
5.运行
[plain]  view plain copy
  1. sudo gedit /etc/profile  
在文件最后添加
[plain]  view plain copy
  1. #set JAVA environment  
  2. export JAVA_HOME=/usr/local/lib/jdk1.7.0_03  
  3. export CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH"  
  4. export PATH="$JAVA_HOME/bin:$PATH"  
6.重启机器运行
[plain]  view plain copy
  1. java -version  
会提示如下信息:
[plain]  view plain copy
  1. java version "1.7.0_03"  
  2. Java(TM) SE Runtime Environment (build 1.7.0_03-b04)  
  3. Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)  
7.下载ssh
[plain]  view plain copy
  1. sudo apt-get install ssh  
8.下载rsync
[plain]  view plain copy
  1. sudo apt-get install rsync  
7.去Hadoop官网下载Hadoop Common 1.0.1 hadoop-1.0.1.tar.gz,放到/home/pc01目录下
8.执行
[plain]  view plain copy
  1. sudo tar xvzf hadoop-1.0.1.tar.gz  
将解压出hadoop-1.0.1目录
9.运行
[plain]  view plain copy
  1. sudo chmod 777 hadoop-1.0.1 -R  
 将hadoop-1.0.1目录更改权限
10.参照文章介绍,在本地生成空密码的公钥和私钥,运行
[plain]  view plain copy
  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa    
11.配置本地访问不需要密码,运行
[plain]  view plain copy
  1. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
12. 测试本地访问
[plain]  view plain copy
  1. ssh localhost   
没有使用过ssh连接localhost, 那么会有提示添加localhost到knowhosts中去,然后要求输入密码,记得运行exit,退出ssh。
13.将192.168.1.16机器上的公有key拷贝到其它两台机器,分别执行
[plain]  view plain copy
  1. scp ~/.ssh/id_dsa.pub pc01@192.168.1.17:/home/pc01/.ssh/16_dsa.pub  
[plain]  view plain copy
  1. scp ~/.ssh/id_dsa.pub pc01@192.168.1.22:/home/pc01/.ssh/16_dsa.pub  
14.在192.168.1.17和22的机器上将公有key加入,执行
[plain]  view plain copy
  1. cat ~/.ssh/16_dsa.pub >> authorized_keys    
15.在192.168.1.16机器上执行
[plain]  view plain copy
  1. ssh 192.168.1.17  
同样第一次连接的话会询问是否添加机器以及要求输入密码,第二次就不用了,记得执行exit退出ssh,同理执行
[plain]  view plain copy
  1. ssh 192.168.1.22  
16.在192.168.1.16机器上修改hadoop配置文件,修改hadoop目录下conf目录下的hadoop-env.sh,添加
[plain]  view plain copy
  1. export JAVA_HOME=/usr/local/lib/jdk1.7.0_03  

17.在192.168.1.16机器上修改hadoop配置文件,修改hadoop目录下conf目录下的core-site.xml、hdfs-site.xml,更改文件
core-site.xml

[html]  view plain copy
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3. <configuration>  
  4.     <property>  
  5.       <name>fs.default.name</name>  
  6.       <value>hdfs://192.168.1.16:54310</value>  
  7.     </property>  
  8.     <property>  
  9.       <name>hadoop.tmp.dir</name>  
  10.       <value>/home/pc01/hadoop-1.0.1/tmp</value>  
  11.     </property>  
  12. </configuration>  
hdfs-site.xml

[html]  view plain copy
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3. <configuration>  
  4.     <property>  
  5.       <name>dfs.replication</name>  
  6.       <value>2</value>  
  7.     </property>  
  8. </configuration>  
18.在192.168.1.16机器上修改hadoop配置文件,修改hadoop目录下conf目录下的mapred-site.xml,更改文件为
[html]  view plain copy
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3. <configuration>  
  4.   <property>  
  5.     <name>mapred.job.tracker</name>  
  6.     <value>hdfs://192.168.1.16:54311</value>  
  7.   </property>  
  8.   <property>  
  9.     <name>mapred.child.java.opts</name>  
  10.     <value>-Xmx512m</value>  
  11.   </property>  
  12. </configuration>  
19.在192.168.1.16机器上修改hadoop配置文件,修改hadoop目录下conf目录下??/span>masters文件,添加
[plain]  view plain copy
  1. 192.168.1.16  
20.在192.168.1.16机器上修改hadoop配置文件,修改hadoop目录下conf目录下的slaves文件,添加
[plain]  view plain copy
  1. 192.168.1.17  
  2. 192.168.1.22  
21.将192.168.1.16机器上hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves文件更换17、22机器上hadoop对应目录的同名文件
[plain]  view plain copy
  1. scp -rp ~/hadoop-1.0.1/conf pc01@192.168.1.17/home/pc01/hadoop-1.0.1/  
22.在192.168.1.16机器上格式化命名空间,执行
[html]  view plain copy
  1. ./hadoop namenode -format  
23.在192.168.1.16机器上启动hadoop,执行
[plain]  view plain copy
  1. ./start-all.sh  
24.检查hadoop是否执行成功,在192.168.1.16机器上执行
[plain]  view plain copy
  1. ./hadoop dfs -ls  
如果没有错误提示或者出现文件列表,那么Hadoop成功启动了

25.通过访问http://192.168.1.16:50070来查看hdfs的状态,访问http://192.168.1.16:50030来查看map/reduce的状态。如果出现错误,或Hadoop集群未启动,可以查看$HADOOP_HOME/logs/下的日志文件。
26.停止Hadoop,运行

[plain]  view plain copy
  1. ./stop-all.sh  
27.如果运行出错,可以将所有机器的 hadoop.tmp.dir指定的配置路径下文件清除,主要清除掉dfs.data.dir指定目录下内容,一般缺省设置在hadoop.tmp.dir下,再重新运行
[plain]  view plain copy
  1. ./hadoop namenode -format  
28.运行出现org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=SED-ITS-HP, access=WRITE, inode="user":pc01:supergroup:rwxr-xr-x类似错误,简单的做法是修改hdfs-site.xml,添加如下内容
[plain]  view plain copy
  1. <property>  
  2.   <name>dfs.permissions</name>  
  3.   <value>false</value>  
  4. </property>  
还可以直接往dfs的/user/pc01目录下写,当然要修改pc01目录权限
[plain]  view plain copy
  1. ./hadoop dfs -chmod 777 /user/pc01  
  2. 或  
  3. ./hadoop fs -chmod 777 /user/pc01  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值