Hadoop 2.4 完全分布式环境安装与配置(3)

Hadoop 测试
 
HDFS
 
格式化NameNode
 
执行命令:hadoop namenode -format,可以格式化NameNode。
 
l 可能错误:出现未知的主机名问题。
 
java.net.UnknownHostException: localhost.localdomain: localhost.localdomain 
 
        at java.net.InetAddress.getLocalHost(InetAddress.java:1353) 
 
        at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:91) 
 
        at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:80) 
 
        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.initialize(FSDirectory.java:73) 
 
        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.<init>(FSDirectory.java:68) 
 
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:370) 
 
        at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:853) 
 
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:947) 
 
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:964) 
 
/************************************************************ 
 
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: localhost.localdomain: localhost.localdomain 
 
************************************************************/ 
 
使用hostname命令,可以发现当前的主机名为hadoop_master(Ubuntu系统下在/etc/hostname,CentOS系统在 /etc/sysconfig/network文件中设置),而hosts文件中信息如下:
 
127.0.0.1 localhost
 
127.0.1.1 ubuntu
 
192.168.198.133 Master
 
192.168.198.134 Slave1
 
即无法解析hadoop_master的信息,将hosts文件信息改为如下:
 
127.0.0.1 hadoop_master
 
127.0.1.1 ubuntu
 
192.168.198.133 Master
 
192.168.198.134 Slave1
 


Hadoop集群
 
启动集群
 

~/sbin/start-all.sh 启动Hadoop集群,最好使用~/sbin/start-dfs.sh与~/sbin/start-yarn.sh来代替。
 
若正常启动:
 
NameNode上使用jps查询会显示如下:
 
 
 
DataNode上使用jps查询会显示如下:
 
 
 
.1 64位平台不兼容错误
 
Starting namenodes on [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/hadoop/source/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
 
在/etc/profile 或者 ~/.bash_profile中添加:
 
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_DEV_HOME}/lib/native
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_DEV_HOME/lib"
 
 
 
Command Lines
 
Hadoop
 
* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
 
* stop-all.sh 停止所有的Hadoop
 
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack
 
* stop-mapred.sh 停止Map/Reduce守护
 
* start-dfs.sh 启动Hadoop DFS守护Namenode和Datanode
 
* stop-dfs.sh 停止DFS守护
 
HDFS
 
1. 查看文件列表
 
查看hdfs中/user/admin/hdfs目录下的文件。
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs -ls /user/admin/hdfs
 
查看hdfs中/user/admin/hdfs目录下的所有文件(包括子目录下的文件)。
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs -lsr /user/admin/hdfs
 
2. 创建文件目录
 
查看hdfs中/user/admin/hdfs目录下再新建一个叫做newDir的新目录。
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs -mkdir /user/admin/hdfs/newDir
 
3. 删除文件
 
删除hdfs中/user/admin/hdfs目录下一个名叫needDelete的文件
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs -rm /user/admin/hdfs/needDelete
 
删除hdfs中/user/admin/hdfs目录以及该目录下的所有文件
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs -rmr /user/admin/hdfs
 
4. 上传文件
 
上传一个本机/home/admin/newFile的文件到hdfs中/user/admin/hdfs目录下
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs–put /home/admin/newFile /user/admin/hdfs/
 
5. 下载文件
 
下载hdfs中/user/admin/hdfs目录下的newFile文件到本机/home/admin/newFile中
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs –get /user/admin/hdfs/newFile /home/admin/newFile
 
6. 查看文件内容
 
查看hdfs中/user/admin/hdfs目录下的newFile文件
 
a. 进入HADOOP_HOME目录。
 
b. 执行sh bin/hadoop fs–cat /home/admin/newFile

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e641387930473fe7458583b07e2fb621.html