hadoop伪分布安装
第一我们先配置环境
jdk_env hadoop_env 简单的环境配置
export JAVA_HOME=/export/servers/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=//export/servers/hadoop-2.7.1
export PATH=$HADOOP_HOME/bin:$PATH
验证是否已经配置了ssh登录
ssh localhost
基本是都是要输入密码进行验证的所以我们接下来配置免密登录
ssh-keygen -r rsa #生成密钥
ssh-copy-id localhost #复制密钥到指定的主机名上
配置core-site.xml 文件
<configuration>
<property>
#指定集群的文件系统存放位置
<name>fs.defaultFS</name>
<value>hdfs://node01:8020</value>
</property>
<property>
#hadoop文件存放的临时目录
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-2.7.1/hadoopDatas/tempDatas</value>
</property>
<property>
#hadoop缓冲区的大小
<name>io.dile.buffer.size</name>
<value>4096</value>
</property>
<property>
#开启hdfs的垃圾桶机制,删除的可以从这里面回收 单位是分钟
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
配置hdfs-site.xml 文件
<configuration>
<property>
<!-- 设置文件切片的副本个数 -->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<!-- 指定namenode的访问地址和端口 -->
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
<property>
<!-- 指定namenode的访问地址和端口 -->
<name>dfs.namenode.http-address</name>
<value>node01:50070</value>
</property>
<property>
<!-- 指定namenode的源文件存放位置 -->
<name>dfs.namenode.name.dir</name>
<value>file:///export/servers/hadoop-2.7.1/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.1/hadoopDatas/namenodeDatas2</value>
</property>
<property>
<!-- 指定datanode的源文件存放位置 -->
<name>dfs.datanode.data.dir</name>
<value>file:///export/servers/hadoop-2.7.1/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.1/hadoopDatas/datanodeDatas2</value>
</property>
<property>
<!-- 指定namenode的日志文件存放位置 -->
<name>dfs.namenode.edits.dir</name>
<value>file:///export/servers/hadoop-2.7.1/hadoopDatas/nn/edits</value>
</property>
<property>
<!-- 设置文件权限 -->
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<!-- 设置文件切片的大小:128M -->
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
</configuration>
将 mapred-site.xml.template 重新命名为
mapred-site.xml
<configuration>
<!-- 开启mapreduce的小任务模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>/export/servers/hadoop-2.7.1
/share/hadoop/mapreduce/*:/export/servers/hadoop-2.7.1
/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
配置yarn-site.xml 文件
<configuration>
<property>
#指定辅助服务名称
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
#指定yarn的resourcemanager地址
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
</configuration>
配置yarn-site.xml 文件
<configuration>
<property>
#指定辅助服务名称
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--指定yarn的主节点地址-->
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
</configuration>
配置mapred-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_162
配置yarn-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_162
创建文件
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/namenodeDatas2
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/datanodeDatas
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/datanodeDatas2
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/nn/edits
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/snn/name
mkdir -p /export/servers/hadoop-2.7.1/hadoopDatas/dfs/snn/edits
格式化namenode
bin/hdfs namenode -format
启动hdfs
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/start-all.sh
Hadoop配置后没有NameNode进程是怎么回事?
网上查了一种解决方法:
1、先运行stop-all.sh
2、格式化namdenode,不过在这之前要先删除原目录,即core-site.xml下配置的hadoop.tmp.dir所指向的目录,删除后切记要重新建立配置的空目录,然后运行hadoop namenode -format
3、运行start-all.sh
已经解决~