1. 程式人生 > >hadoop搭建筆記(一)

hadoop搭建筆記(一)

mkdir size 下載 jdk1.8 oop ont font agg ins

環境:mac/linux

hadoop版本:3.1.1

安裝特性:非HA

準備:

1. jdk8以上

2. ssh

3. 下載hadoop安裝包

配置文件,這裏都只有簡易配置:

1. core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop-3.1.1/tmp</value>
        <description>
A base for other temporary directories.</description> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>fs.defaultFS</name> <
value>hdfs://HxaMac:9000</value> </property> </configuration>

2. hdfs-site.xml

<configuration>
    <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:/Users/hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/Users/hadoop/hdfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>

3. yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>HxaMac:18040</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>HxaMac:18030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>0.0.0.0:8088</value>
         </property>
     <property>
           <name>yarn.resourcemanager.resource-tracker.address</name>
           <value>HxaMac:18025</value>
         </property>
     <property>
           <name>yarn.resourcemanager.admin.address</name>
           <value>HxaMac:18141</value>
         </property>
     <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
         </property>
     <property>
             <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
             <value>org.apache.hadoop.mapred.ShuffleHandler</value>
         </property>

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>864000</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-check-interval-seconds</name>
        <value>-1</value>
    </property>
</configuration>

4. mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>
            /opt/hadoop-3.1.1/etc/hadoop,
            /opt/hadoop-3.1.1/share/hadoop/common/*,
            /opt/hadoop-3.1.1/share/hadoop/common/lib/*,
            /opt/hadoop-3.1.1/share/hadoop/hdfs/*,
            /opt/hadoop-3.1.1/share/hadoop/hdfs/lib/*,
            /opt/hadoop-3.1.1/share/hadoop/mapreduce/*,
            /opt/hadoop-3.1.1/share/hadoop/mapreduce/lib/*,
            /opt/hadoop-3.1.1/share/hadoop/yarn/*,
            /opt/hadoop-3.1.1/share/hadoop/yarn/lib/*
        </value>
    </property>
    <property>
        <name>mapreduce.jobhistory.max-age-ms</name>
        <value>5184000000</value>
    </property>
</configuration>

5. hadoop-env.sh

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home

export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true

6. yarn-env.sh

一般不動。

7. worker

HxaMac

8.yarn-worker

HxaMac

步驟:

1. 完成jdk8、ssh的準備

2. 解壓hadoop,一般在/opt目錄下

3. 修改環境變量,如/etc/bash.bashrc

JAVA_HOME=jdk_dir

CLASSPATH=$JAVA_HOME/lib/
PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME CLASSPATH

alias hput=‘hadoop fs -put‘
alias hget=‘hadoop fs -get‘
alias hls=‘hadoop fs -ls‘
alias hrm=‘hadoop fs -rm -r‘
alias hcat=‘hadoop fs -cat‘

HADOOP_INSTALL=/opt/hadoop-3.1.1
PATH=$HADOOP_INSTALL/bin:$PATH
PATH=$HADOOP_INSTALL/sbin:$PATH

export HADOOP_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HDFS_DATANODE_USER=hadoop
export HDFS_DATANODE_SECURE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop
export HDFS_NAMENODE_USER=hadoop

4. hdfs namenode -format

5. start-dfs.sh

查看http://hxamac:50070/

6. start-yarn.sh

查看http://hxamac:8088

7. 測試hdfs: put一個小文件

hadoop fs -mkdir -p /user/hxa/
hadoop fs -put test.txt /user/hxa/

8. 測試mapreduce任務

hadoop jar hadoop-mapreduce-examples-3.1.1.jar pi 10 10

hadoop搭建筆記(一)