Hadoop伪分布式环境搭建
一.配置虚拟机静态IP
-
安装好虚拟后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子网掩码和网关,后面修改静态IP会用到。
-
检查宿主机VM8 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框。
配置后,虚拟机测试能否ping通www.baidu.com
要是不能,需要配置resolv.conf文件
cd ~
vim /etc/resolv.conf
3.虚拟机配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33添加如下配置
BOOTPROTO=static #改为static
IPADDR=192.168.6.3~253 #自己设的IP
NETMASK=255.255.255.0
GATEWAY=192.168.6.2
ONBOOT=yes #设置开机启动
4.免密登陆与关闭防火墙
免密登陆
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
二.安装Hadoop
1.将下载的Hadoop压缩包解压到 /usr/local 目录下(我用的是root用户)
tar -zxvf hadoop-3.2.0.tar.gz -C /usr/local/
2.重命名(不改也行)
cd /usr/local
mv hadoop-3.2.0 hadoop
3.配置环境变量
vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:${JAVA_HOME}/bin
export CLASS_PATH=.:${JAVA_HOME}/lib
使环境生效:
source ~/.bashrc
4.测试是否安装成功
三.配置伪分布式集群文件
所有配置文件都在这/usr/local/hadoop/etc/hadoop
1. hadoop-env.sh
文件中添加:
export JAVA_HOME=/usr/local/jdk1.8 #安装jdk的路径
2.配置:core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.10.15:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
3.配置:hdfs-site.xml
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
4.配置yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
5.配置mapred-site.xml(没有的话,对mapred-site.xml.template重新命名)
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
6.格式化NameNode
hdfs namenode -format
7.启动报错如下
1.在start-dfs.sh和stop-dfs.sh的顶部添加如下代码
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2.在start-yarn.sh和stop-yarn.sh顶部添加如下代码
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3.在次启动