版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27868061/article/details/82284392
下载hadoop:
http://hadoop.apache.org/releases.html
这里下载3.1.1版本
配置文件,所有配置文件在./etc/hadoop下面
core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/dev/hadoop-3.1.1/temp/</value>
</property>
</configuration>
主要配置了hadoop访问文件的路径,hadoop存储文件的路径,这个temp目录会在格式化时自动生成
hadoop.env.sh
export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/dev/hadoop-3.1.1
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# Under certain conditions, Java on OS X will throw SCDynamicStore errors
# in the system logs.
# See HADOOP-8719 for more information. If one needs Kerberos
# support on OS X, one will want to change/remove this extra bit.
case ${HADOOP_OS_TYPE} in
Darwin*)
export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= "
export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.kdc= "
export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf= "
;;
esac
主要配置了一些环境变量.因为hadoop很可能不识别全局环境,还配置了使用的用户,这里为了方便直接使用root用户
hdfs.site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/dev/hadoop-3.1.1/temp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/dev/hadoop-3.1.1/temp/dfs/data</value>
</property>
</configuration>
配置了hadoop文件系统的信息,有数据块的数量.命名节点,数据节点的目录,都在前面配置的临时目录下,其中命名节点的目录会在hdfs文件系统格式化时生成,而数据节点的目录会在第一次启动hdfs时生成
mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
主要配置了mapreduce使用的框架,为yarn,可不是与npm并列的yarn,所以启动mapreduce的命令是start-yarn.sh
yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置yarn
所有配置完毕,进入root,初始化命名节点
hadoop namenode -format
执行完毕后,temp目录下就存在命名节点目录了
启动hdfs文件系统
start-hdfs.sh
这个命令会启动命名节点,数据节点等
启动mapreduce
start-yarn.sh
其实就是启动它的实现框架yarn
查看所有java服务
桌面 # jps
23664 Jps
10161 DataNode
13109 ResourceManager
1291 Main
10923 SecondaryNameNode
13549 NodeManager
9949 NameNode
启动NodeManager与ResourceManager是属于mapreduce的,DataNode,SecondaryNameNode,NameNode都是属于hdfs的
至此,hadoop的两大基础组件hdfs与mapreduce都启动完成