ubuntu上hadoop的安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 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都启动完成

猜你喜欢

转载自blog.csdn.net/qq_27868061/article/details/82284392