集群发布试验后,后续要转向hadoop开发,所以下面要进行伪分布式发布和eclipse结合的实践。
hadoop伪分布式发布
第一步 规划
主机: 192.168.136.155, hostname master
主机操作系统; centos6.5 (虚拟机)
(注: 我尝试设置主机hostname为 localhost,不成功,总是启动后,一开始为localhost,过了1分钟左右,就变成localhost.localdomain,如果有人
知道原因,望告知,先谢过!)
ssh无密钥登录参考之前的内容
第二步 hadoop 配置
1) 下载hadoop并传送到主机155上,解压,并授权给hadoop用户。
2) 设置系统环境变量
root用户下, 修改 /etc/profile文件,在最后部分增加如下内容
export JAVA_HOME=/usr/java/jdk1.7.0_80
export JAVA_BIN=/usr/java/jdk1.7.0_80/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
export HADOOP_HOME=/opt/hadoop/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
3) 切换到hadoop用户,进入hadoop的安装目录 ,
cd etc/hadoop 找到hadoop-env.sh文件 vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.6.4/etc/hadoop
export HADOOP_PREFIX=/opt/hadoop/hadoop-2.6.4
确保上面环境变量设置好
上面设置好后,通过hadoop version命令进行测试,测试返回如下:
[hadoop@master hadoop]$ hadoop version
Hadoop 2.6.4
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 5082c73637530b0b7e115f9625ed7fac69f937e6
Compiled by jenkins on 2016-02-12T09:45Z
Compiled with protoc 2.5.0
From source with checksum 8dee2286ecdbbbc930a6c87b65cbc010
This command was run using /opt/hadoop/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar
[hadoop@master hadoop]$
4) 配置core-site.xml 文件
5) 配置 hdfs-site.xml
配置后,手工要建立这些目录,注意权限也要赋给 hadoop用户
6) 配置 mapred-site.xml
7) 配置yarn-site.xml
8) 修改slaves文件
[hadoop@master hadoop]$ cat slaves
master
伪分布式发布,所以slaves也用155主机的host
9)格式化
执行 hdfs namenode -format 命令
[hadoop@master ~]$ hdfs namenode -format
16/06/13 15:48:27 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = master/192.168.136.155
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.6.4
。。。。。
16/06/13 15:48:32 INFO common.Storage: Storage directory /usr/hadoop/dfs/name has been successfully formatted.
16/06/13 15:48:32 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
16/06/13 15:48:32 INFO util.ExitUtil: Exiting with status 0
16/06/13 15:48:32 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.136.155
************************************************************/
[hadoop@master ~]$
最后出现状态 status 0就成功了
10) 启动全部进程
start-all.sh
启动后,如果没有报错,输入jps命令查看进程
[hadoop@master mydata]$ jps
7236 NameNode
7508 SecondaryNameNode
8284 Jps
7352 DataNode
7750 NodeManager
7659 ResourceManager
11) 创建dfs的目录
$ hdfs dfs -mkdir /user
$ hdfs dfs -mkdir /user/hadoop
这个创建后,需要网址http://192.168.136.155:50070/dfshealth.html#tab-overview 打开后,通过工具-》查看文件系统可以看到
12) 下载例子数据:天气数据
http://download.csdn.net/download/s060403072/6535733 可以从这里下载 :)
上传到主机155上
[hadoop@master mydata]$ pwd
/opt/hadoop/mydata
[hadoop@master mydata]$
[hadoop@master mydata]$ ls -ltr
total 4408
-rw-rw-r-- 1 hadoop hadoop 2253120 Oct 7 2010 stations-fixed-width.txt
-rw-rw-r-- 1 hadoop hadoop 2253738 Oct 7 2010 ish-history.txt
[hadoop@master mydata]$
13) 导入到dfs中
[hadoop@master mydata]$ hdfs dfs -put /opt/hadoop/mydata input
[hadoop@master mydata]$
没有报错,就说明正常,否则会屏幕打印。
14) 导入成功后,就可以在前面的网址里面查看。
端口8088显示: 注意2.6.4没有 50030端口,改为8088了
50070端口显示: