歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Hadoop搭建

Hadoop搭建

日期:2017/3/3 14:13:37   编辑:Linux技術
一直想動手搭建一個Hadoop

環境

RHEL 6.5 x64環境

安裝JDK

上官網下載JDK 8,tar.gz版本,直接解壓,指定好路徑。
之後修改環境變量:
linux改環境變量是這樣的:
在/etc/profile中加入:
[code]export JAVA_HOME=/opt/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.7.2

之後執行
[code]. /etc/profile 或者 souce /etc/profile

安裝Hadoop

安裝沒啥可說的,linux到安裝,其實就是解壓到一個目錄。
我下載的是Hadoop-2.7.2,解壓路徑是
/home/hadoop/hadoop-2.7.2

配置Hadoop

我參照到是網上的配置,Hadoop2.7.1安裝與配置
注意,hadoop-2.7.2的配置文件在
{HADOOP_HOME}/etc/hadoop
下,老版本是在
{HADOOP_HOME}/conf
下的。
修改core-site.xml,在configuration中加入:
[code]    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://s204:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/hadoop-2.7.2/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>

修改hdfs-site.xml,在configuration中加入:
[code]<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/hadoop-2.7.2/dfs/name</value>
</property>

<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/hadoop-2.7.2/dfs/data</value>
</property>

<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>s204:9001</value>
</property>

<property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>

修改mapred-site.xml,在configuration中加入:
[code]    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>s204:10020</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>s204:19888</value>
    </property>

修改yarn-site.xml,在configuration中加入:
[code]    <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.resourcemanager.address</name>
        <value>s204:8032</value>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>s204:8030</value>
    </property>

    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>s204:8031</value>
    </property>

    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>s204:8033</value>
    </property>

    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>s204:8088</value>
    </property>

    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>768</value>
    </property>

修改hadoop-env.sh,yarn-env.sh的JAVA_HOME,JAVA_HOME改成本地的,否則會報錯:
[code] export JAVA_HOME=/opt/java
 export JAVA_HOME=/opt/java/

修改/home/hadoop/hadoop-2.7.2/etc/hadoop目錄下slaves:
[code]#localhost
s205

啟動Hadoop

[code]主服務器上執行bin/hdfs namenode -format

進行初始化

sbin目錄下執行 ./start-all.sh 

可以使用jps查看信息

停止的話,輸入命令,sbin/stop-all.sh

運行效果

現在只看到頁面了:

中間遇到的問題

需要修改/etc/hosts:
[code]127.0.0.1 master
127.0.0.1 slave1
127.0.0.1 slave2
127.0.0.1 s204
127.0.0.1 s205
127.0.0.1 zly

不造為啥還有個zly,如果沒有就報錯。這個配置需要檢查了。

學習到的linux命令

1、/etc/passwd
這是一個文件:
每一行用戶記錄的各個數據段用“:”分隔,分別定義了用戶的各方面屬性。
各個字段的順序和含義如下:
[code]注冊名:口令:用戶標識號:組標識號:用戶名:用戶主目錄:命令解釋程序

2、useradd 選項 用戶名
[code]語義:
  -c comment            指定一段注釋性描述。
  -d 目錄                   指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
  -g 用戶組               指定用戶所屬的用戶組。
  -G 用戶組 用戶組   指定用戶所屬的附加組。
  -s Shell文件            指定用戶的登錄Shell。
  -u 用戶號               指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
  用戶名                   指定新用戶的登錄名

3、groupadd
增加組,groupadd + 組名,沒啥可說的
linux添加用戶並賦予root權限
4、vim 查找替換
從第n行開始到結束,替換全部yyy為sss:
[code]n,$s/yyy/sss/g

Vi/Vim查找替換使用方法
5、 linux 命令不起作用時怎麼辦(PATH路徑改錯後如何補救)
[code] /usr/bin/vi ~/.bashrc

用/usr/bin/vi或者/usr/bin/vim可以修改文件,但是再次執行可能不生效,因為path錯誤命令已經找不到了。
我們需要重新開一個終端,使得path生效。
Copyright © Linux教程網 All Rights Reserved