1. 程式人生 > >[大資料]hadoop 環境配置(1)

[大資料]hadoop 環境配置(1)

1 基礎環境搭建

Centos 6.4 環境 hadoop 環境搭建

1 使用者新增

sodo adduser kfk

2 hostname 更改

sudo vi /etc/sysconfig/network

3 hosts 更改

sudo vi /etc/hosts

4 關閉防火牆

sudo vi /etc/sysconfig/selinux

SELINUX = disabled

5 解除安裝系統自帶的jdk版本

1 查詢有多少版本

rpm -qa |grep java

2 將查詢到的版本都給解除安裝 jdk程序名稱就是上一步查詢的資訊

rpm -e --nodeps [jdk程序名稱1
][jdk 程序名稱2]...

6 root使用者下設定無密碼使用者切換 kfk 可以換成你自己的使用者名稱

vi /etc/sudoers

加一行

kfk ALL = (root) NOPASSWD:ALL

2 進階配置

1 建立要使用的各個目錄

[kfk@bigdata01 ~]$ sudo mkdir /opt/softwares

[kfk@bigdata01 ~]$ sudo mkdir /opt/modules

[kfk@bigdata01 ~]$ sudo mkdir /opt/tools

[kfk@bigdata01 ~]$ sudo mkdir /opt/datas

2 將root 使用者目錄變成kfk使用者的所屬組

sudo chown -R kfk:kfk /opt/*

3 將jdk 1.7 傳到 /opt/softwares 目錄中

4 更改檔案的執行許可權

chmod u+x /opt/softwares/*

5 解壓JDK

tar -zxf jdk-7u67.tar.gz -C /opt/modules/

6 安裝jdk 配置

sudo vi /etc/profile 檔案末尾加上

##JAVA_HOME
export JAVA_HOME = /opt/modules/jdk1.7.0_67
export PATH = $PATH:$JAVA_HOME/bin

7 克隆映象

克隆 映象bigdata02 bigdata 並且配置好hosts 對映和hostname

8 shh 免密登入

主節點清空.ssh目錄

rm -rf ~/.ssh

生成公鑰和私鑰

ssh-keygen -t rsa

拷貝到各個機器

ssh-copy-id bigdata01.com
ssh-copy-id bigdata02.com
ssh-copy-id bigdata03.com

測試

ssh bigdata01.com

9 設定叢集機器時間同步 ntp

#在主節點啟動ntpd服務
sudo service ntpd start

3 Hadoop環境安裝

1 解壓hadoop 2.5.0

下載地址 hadoop下載地址

tar -zxf hadoop-2.5.0.tar.gz  -C /opt/modules/

2 修改配置檔案

配置檔案都在 ${hadoop_path}/etc/hadoop 資料夾下

  1. vi hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
  1. vi core-site.xml (加入以下配置)
    <property>
        <name>fs.defaultFS</nam>
        <value>hdfs://bigdata01.com:9000</value>#主節點的埠
    </property>


    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>kfk</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
    </property>
  1. vi hdfs-site.xml
    <property>
        <name>dfs.replication</name>
        <value>2</value>#副本數
    </property>
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
  1. vi slaves
bigdata01.com
bigdata02.com
bigdata03.com
  1. vi mapred-site.xml 重新命名
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>bigdata01.com:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>bigdata01.com:19888</value>
    </property>
</configuration>

6 vi yarn-site.xml

<configuration>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>bigdata01.com</value> 
    </property>

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value> 
    </property>

    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>10000</value> 
    </property>

</configuration>

3 啟動

0 分發到其他機器

scp -r /opt/modules/hadoop bigdata02.com:/opt/modules/
scp -r /opt/modules/hadoop bigdata03.com:/opt/modules/

1 格式化namenode

bin/hdfs namenode -format

2 啟動namenode

sbin/hadoop-daemon.sh start namenode

3 啟動datanode

sbin/hadoop-daemon.sh start datanode

4完成後可開啟 namenode_ip:50070 檢視叢集資訊

5 在另外兩個datanode機器上執行

sbin/hadoop-daemon.sh start datanode

6 測試

建立目錄

bin/hdfs dfs -mkdir -p /user/kfk/data

上傳檔案

bin/hdfs dfs -put /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml /user/kfk/data

7 啟動yarn

#節點1 bigdata01.com
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
#節點2 bigdata02.com
sbin/yarn-daemon.sh start nodemanager
#節點3 bigdata03.com
sbin/yarn-daemon.sh start nodemanager

8測試

#wc.input 是hdfs 輸入路徑  output/1 是hdfs的輸出路徑
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/kfk/data/wc.input /user/kfk/data/output/1