赞
踩
搭建Hadoop伪分布式环境是在单台机器上模拟完整的Hadoop分布式系统,使得所有的Hadoop守护进程(如NameNode、DataNode、ResourceManager、NodeManager等)都在同一台机器上运行。这样可以在一台机器上体验Hadoop的分布式特性,适合学习、测试和开发。以下是搭建Hadoop伪分布式环境的详细步骤:
硬件要求:
软件要求:
JAVA_HOME
环境变量。下载Hadoop:
/opt
或 /usr/local/src
)。配置环境变量:
~/.bashrc
、~/.bash_profile
或 /etc/profile
)中添加如下环境变量:- vim /etc/profile
- #在结尾添加下面内容
-
- export HADOOP_HOME=/usr/local/src/hadoop
- export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
- vim /etc/profile
- #在结尾添加下面内容
- export JAVA_HOME=/usr/local/src/jdk
- export PATH=$PATH:$JAVA_HOME/bin
编辑核心配置文件:
core-site.xml
:设置Hadoop全局属性,如HDFS的默认FS URI(fs.defaultFS
)应指向本地的伪分布式模式,例如 hdfs://localhost:9000
;临时文件目录(hadoop.tmp.dir
)设置为一个可用的本地路径,如 /usr/local/src/hadoop/tmp
。
hdfs-site.xml
:配置HDFS特定属性,如副本数(dfs.replication
)在伪分布式模式下通常设为1,表示数据只有一个本地副本;开启短路读写(dfs.client.use.datanode.hostname
、dfs.datanode.hostname
)以优化本地访问性能。
yarn-site.xml
:设置YARN相关参数,如ResourceManager地址(yarn.resourcemanager.hostname
)设为 localhost
;调度器策略等。
mapred-site.xml
(或mapred-site.xml.template
改名后):配置MapReduce框架属性,如作业提交方式(mapreduce.framework.name
设为yarn
)。
- vim /etc/hosts
- #在结尾添加下面内容
- 192.168.10.10 master
core-site.xml
- cd /usr/local/src/hadoop/etc/hadoop/
- vim core-site.xml
-
- #添加下面内容
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value> #填写自己的主机名
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/usr/local/src/hadoop/bin/tmp</value>
- </property>
- </configuration>
- cd /usr/local/src/hadoop/etc/hadoop/
- vim hdfs-site.xml
- #添加如下内容
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/usr/local/src/hadoop/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/usr/local/src/hadoop/dfs/data</value>
- </property>
- </configuration>
yarn-site.xml
- cd /usr/local/src/hadoop/etc/hadoop/
- vim yarn-site.xml
- #添加下面内容
- <configuration>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
- <value>org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- </configuration>
mapred-site.xml
- cd /usr/local/src/hadoop/etc/hadoop/
- vim mapred-site.xml
- #添加下面内容
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
- cd /usr/local/src/hadoop/etc/hadoop/
- vim masters
- 192.168.10.10 #主机ip
- mkdir /usr/local/src/hadoop/tmp
- mkdir /usr/local/src/hadoop/dfs/name -p
- mkdir /usr/local/src/hadoop/dfs/data -p
虽然在伪分布式环境中SSH无密码登录不是必须的,但如果希望使用某些依赖SSH的功能(如DistCp、Hadoop fs -get/-put等),可以配置SSH公钥认证以实现本地无密码登录:
- [root@master ~]# vim /etc/ssh/sshd_config
- PubkeyAuthentication yes #找到此行,并把#号注释删除。
生成密钥
[root@master ~]# ssh-keygen -t rsa
查看密钥是否生成
- [root@master ~]# ls ~/.ssh
- id_rsa id_rsa.pub
将 id_rsa.pub 追加到授权 key 文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
查看是否成功
- [root@master ~]# ls ~/.ssh/
- authorized_keys id_rsa id_rsa.pub
设置权限
chmod 600 ~/.ssh/authorized_keys
- cd /usr/local/src/hadoop/
- bin/hdfs namenode -format
- start-dfs.sh
- start-yarn.sh
- start-all.sh
- jps
- 6128 SecondaryNameNode
- 9316 NodeManager
- 6038 NameNode
- 9036 ResourceManager
- 9868 Jps
- 8733 DataNode
打开浏览器输入http://localhost:50070
打开浏览器输入http://localhost:50090
打开浏览器输入http://localhost:8088
到此你的Hadoop伪分布式就搭建完成了
去Spark官网自行下载安装包,进行解压,这里不做演示
- cd /sur/local/src/spark/conf
- cp spark-env.sh.template spark-env.sh
-
- #编辑配置文件
- export JAVA_HOME=/usr/local/src/jdk
- export SPARK_MASTER_IP=master
- export HADOOP_CONF_DIR=/usr/local/src/hadoop/etc/hadoop
- export SPARK_LOCAL_IP=master
- cd /usr/local/src/spark/sbin/
- ./start-all.sh
- cd /usr/local/src/spark/
- ./bin/spark-shell
打开浏览器输入http://localhost:8080
自行下载安装包,并加压到相关路径,这里不做演示
- vim /etc/profile/
- #在结尾添加下面内容
- export SCALA_HOME=/usr/local/src/scala
- export PATH=$PATH:$SCALA_HOME/bin
- scala
- Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152).
- Type in expressions for evaluation. Or try :help.
-
- scala>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。