hadoop伪分布式环境搭建
来源:互联网 发布:益云网络 编辑:程序博客网 时间:2024/06/05 18:11
简介
本文主要介绍在centos的环境下搭建hadoop的伪分布式环境。
前期准备
centos虚拟机环境
hadoop安装软件
环境配置
创建hadoop用户
sudo useradd -m hadoop -s /bin/bashsudo passwd hadoopsudo adduser hadoop sudo #为 hadoop 用户增加管理员权限,方便部署
配置网络连接
虚拟机选择host-only模式
验证:宿主机能够ping通虚拟机,虚拟机ping不通主机,只能ping通192.168.83.1(说明:如果ping不通,请不必主机的防火墙)。
主机名和网络连接
可以使用centos7中的nmtui文本工具来设置主机名和网络连接。
验证
hostnamectl status
ip addr
ip与hostname绑定
vi /etc/hostsip 主机名
验证
ping 主机名
关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙,并且自动运行。
systemctl start firewalld.service#启动firewallsystemctl stop firewalld.service#停止firewallsystemctl disable firewalld.service#禁止firewall开机启动
验证
systemctl status firewalld.service
ssh免密码登陆
ssh-keygen -t rsa #生成密钥
cp id_rsa.pub authorized_keys
验证
ssh localhost
安装jdk
利用rpm安装;先检验系统原版本:java -version;进一步查看JDK信息:rpm -qa | grep java;
卸载OpenJDK,执行以下操作:
rpm -e --nodeps tzdata-java-2014i-1.el7.noarchrpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64
安装命令(JDK默认安装在/usr/java中,如果要安装到/usr/local/,请到该目录下执行此命令,本例采用默认安装方式):
rpm -ivh jdk-8u25-linux-x64.rpmcd /usr/javals
验证
java -version
安装hadoop
cp /home/hadoop/Downloads/hadoop-2.7.1.tar.gz /usr/local/tar zxvf hadoop-2.7.1.tar.gzchmod -R 777 hadoop-2.7.1 #更改hadoop-2.7.1文件夹权限
修改配置文件
etc/hadoop/hadoop-env.sh
# The java implementation to use.#export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/usr/java/jdk1.8.0_60
etc/hadoop/yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.7.0/export JAVA_HOME=/usr/java/jdk1.8.0_60
etc/hadoop/core-site.xml 添加如下内容:
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/user/local/hadoop-2.7.1/tmp</value> <description>namenode上本地的hadoop临时文件夹</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value><description>HDFS的URI,文件系统://namenode标识:端口号</description> </property></configuration>
etc/hadoop/hdfs-site.xml 添加如下内容:
<configuration> <property> <name>dfs.replication</name> <value>1</value><description>副本个数,配置默认是3,应小于datanode机器数量</description> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/user/local/hadoop-2.7.1/tmp/dfs/name</value><description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/user/local/hadoop-2.7.1/tmp/dfs/data</value><description>datanode上数据块的物理存储位置</description> </property></configuration>
补充:由于系统重启后,找不到namenode进程,这是因为系统在重启后被删除,所以加入下面配置
etc/hadoop/mapred-site.xml
将mapred-site.xml.templat重命名成mapred-site.xml,添加:
<configuration><property> <name>mapreduce.framework.name</name> <value>yarn</value></property></configuration>
解释:相比于Hadoop1.0,用户无需再配置mapred.job.tracker,这是因为JobTracker已变成客户端的一个库,他可能被随机调度到任何一个slave上,也就是它的位置是动态生成的。需要注意的是,在该配置文件中需用mapreduce.framework.name指定采用的框架名称,默认是将作业提交到MRv1的JobTracker端。
etc/hadoop/yarn-site.xml 添加如下内容:
<configuration><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property></configuration>
解释:为了能够运行MapReduce程序,需要让各个NodeManager在启动时加载shuffle server,shuffle server实际上是Jetty/Netty Server,Reduce Task通过该server从各个NodeManager上远程拷贝Map Task产生的中间结果。上面增加的两个配置均用于指定shuffle serve。如果YARN集群有多个节点,你还要配置yarn.resourcemanager.address等参数
配置环境变量
#> vi /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_60export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport HADOOP_HOME=/usr/local/hadoop-2.7.1export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH#> source /etc/profile
验证
java -version hadoop version
hadoop启动
格式化namenode
hdfs namenode –format
启动namenode 和 datanode 守护进程
start-dfs.sh
启动resourcemanager 和 nodemanager 守护进程
start-yarn.sh
验证
jps
查看集群信息
http://192.168.83.100:8088
查看dfs信息
http://localhost:50070
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- 伪分布式hadoop环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- 自定义控件之快速索引QuickIndexBar
- String固定起始位置字符串反转,去除前后或所有空格
- window下装kafka
- 跨时钟域时序的数据同步设计
- HDU5920 Ugly Problem(高精度)
- hadoop伪分布式环境搭建
- Python读取excel数据进行SUMO仿真
- vector
- Android NDK 开发(三)JNI 调用Java属性和方法
- 高级语言中各种数据结构在内存中是如何存储的?
- 第七周项目5-排队看病模拟
- 能让你少写1000行代码的20个正则表达式
- Web基础(1)-HTTP
- PAT乙级1010