【二】hadoop伪分布式配置

环境:ubuntu16.04

请先确定已成功安装hadoop单机版

如果没有请参考:【一】hadoop单机版安装及运行wordcount

这里的伪分布式是namenode,datanode全在同一个节点上,读取HDFS上的文件。

1.修改配置文件core-site.xml

cd /app/hadoop/hadoop-2.9.0/etc/hadoop

vi core-site.xml

<configuration>
</configuration>

修改为:

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/app/hadoop/hadoop-2.9.0/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>

2.修改配置文件hdfs-site.xml

vi hdfs-site.xml

<configuration>
</configuration>

修改为:

<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/app/hadoop/hadoop-2.9.0/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/app/hadoop/hadoop-2.9.0/tmp/dfs/data</value>
        </property>
</configuration>

3.格式化namenode

cd /app/hadoop/hadoop-2.9.0

./bin/hdfs namenode -format


4.开启namenode、datanode进程

cd /app/hadoop/hadoop-2.9.0

./sbin/start-dfs.sh


也到这种输入yes就行


报错:JAVA_HOME is not set and could not be found.

说明JAVA没有安装好或者JAVA的环境变量没有配置好

如果JAVA安装好了,环境变量也配好了,还是出现这种问题,修改hadoop-env.sh文件

vi /app/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh

把export JAVA_HOME=${JAVA_HOME}

改成绝对路径export JAVA_HOME=/app/java/jdk1.8.0_161

然后重新启动namenode、datanode的进程

5.输入jps查看是否成功启动


6.成功后通过网站查看节点信息

http://192.168.199.128:50070


7.在伪分布式中运行wordcount实例

之前单机模式是从本地读取的输入文件,现在伪分布式模式从HDFS上读取输入文件。

HDFS创建文件路径

cd /app/hadoop/hadoop-2.9.0

./bin/hdfs dfs -mkdir -p /user/root

  HDFS创建的用户目录是ROOT,现在使用的用户也是ROOT,所以可以数据相对路径

./bin/hdfs dfs -mkdir input  

 将文件上传到HDFS的 /user/root/input中

./bin/hdfs dfs -put ./etc/hadoop/core-site.xml input   

查看HDFS文件列表

./bin/hdfs dfs -ls input  



或者可以在http://192.168.199.128:50070上看HDFS的文件列表

运行wordcount实例

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output 

  查看运行结果

./bin/hdfs dfs -cat output/*


8.关闭hadoop

cd cd /app/hadoop/hadoop-2.9.0

./sbin/stop-dfs.sh

9.启动yarn

yarn是复制资源管理和任务调度的,提供高可用,搞扩展

cd /app/hadoop/hadoop-2.9.0

修改配置文件mapred-site.xml

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

vi ./etc/hadoop/mapred-site.xml


修改为:

<configuration>
        <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
        </property>
</configuration>

修改配置文件yarn-site.xml


vi ./etc/hadoop/yarn-site.xml


修改为

        <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
        </property>

启动yarn(先启动hadoop)

./sbin/start-dfs.sh

./sbin/start-yarn.sh

./sbin/mr-jobhistory-daemon.sh start historyserver 开启历史服务器后可以在网页中查看任务运行

启动用输入jps


这时就有了resourceManager和nodeManager还有jobhistoryserver

在网页中查看任务情况http://192.168.199.128:8088


10.关闭yarn

cd /app/hadoop/hadoop-2.9.0

./sbin/stop-yarn.sh

11.配置HADOOP_HOME环境变量

vi ~/.bashrc

export PATH=$PATH:/app/hadoop/hadoop-2.9.0/sbin:/app/hadoop/hadoop-2.9.0/bin

保存后重新加载这个文件

source ~/.bashrc

现在可以直接输入stop-dfs.sh来关闭hadoop了。

也可以直接用hdfs dfs -ls input来查看文件列表了

猜你喜欢

转载自blog.csdn.net/jy02268879/article/details/79670510