1.先下载hadoop包,这里使用hadoop-2.7.3.tar.gz
2.配置hadoop环境变量:修改/etc/profile文件 :vi /etc/profile
HADOOP_HOME=/soft/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME PATH
3. source /etc/profile让其生效
4.新建3个文件夹,用来存放hadoop操作时的数据等内容
此处新建 /hadoop/tmp /hadoop/dfs/data /hadoop/dfs/name
5.配置core-site.xml(位置hadoop/etc/hadoop/core-site.xml):
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.72.100:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> </property> </configuration>
6.配置hdfs-site.xml(和core-site.xml位于同一目录)
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> </configuration>
(这里使用了第四步创建的文件夹)
7. 使用命令对namenode进行格式化:hdfs namenode -format
8.启动hadoop:在hadoop的sbin目录下执行:./start-all.sh ./stop-all.sh
9.使用jps查看hadoop进程是否启动
10.这时候我们访问ip:50070端口,如果可以成功验证说明hdfs配置没有问题
11.我们使用hdfs dfs -mkdir 文件夹 命令来创建文件夹,hdfs中的好多操作和linux 系统中很相 似,创建成功以后可以在utilities中看到我们创建的文件夹
12.在系统中创建一个文件,写入一些内容
13.hdfs dfs -put 文件 文件夹 将文件放到hdfs中
至此,hadoop伪分布式安装完成。
14.发现hdfs启动不成功,并提示 JAVA_HOME is not set and could not be found
那么需要在hadoop配置jdk环境变量:
在hadoop/etc/hadoop-env.sh 中输入export JAVA_HOME=/soft/jdk
15.重新format namenode后,datanode无法正常启动
执行hdfs namenode -format后,current目录会删除并重新生成,其中VERSION文件中的 clusterID也会随之变化,而datanode的VERSION文件中的clusterID保持不变,造成两个 clusterID不一致。
所以为了避免这种情况,可以再执行的namenode格式化之后,删除datanode的current文件夹, 或者修改datanode的VERSION文件中出clusterID与namenode的VERSION文件中的clusterID一 样,然后重新启动datanode。