CentOS僞分佈式部署Hadoop

    在CentOS7.3上單機部署Hadoop 2.8.5。

1、基礎環境配置

配置好JDK環境,關閉防火牆,關閉selinux

[root@centos]vim /etc/selinux/config
#bled This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

計算機重命名:

查看主機名

[root@centos /]# hostnamectl status

修改主機名

[root@centos /]# hostnamectl set-hostname hadoop.master

修改hosts

[root@centos hadoop /]#vim /etc/hosts

在最後加上一行:ip 和主機名的映射,如192.168.2.5 hadoop.master

2、SSH免密碼登錄

通過$:ssh localhost命令查看是否需要密碼,如果需要執行以下命令:

[root@centos hadoop]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@centos hadoop]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@centos hadoop]# chmod 0600 ~/.ssh/authorized_keys

[root@centos hadoop]# cd /root
[root@centos ~]# ssh-keygen -t rsa
[root@centos ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys

如果是root用戶,在root目錄下生成.ssh文件夾,可將.ssh文件夾拷貝到其他機器同,完成局域網多機器互信訪問。

3、解壓縮Hadoop

[root@centos hadoop]tar –zxvf hadoop-2.8.5.tar.gz -C /usr/hadoop/

配置hadoop環境變量。

[root@centos hadoop]vim /etc/profile
#set hadoop environment
export HADOOP_HOME=/usr/hadoop/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

讓環境變量生效,命令行執行:source /etc/profile

主要配置slaves,hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml等6個配置文件。

4、編輯slaves

刪除缺省的localhost,將slave機器的hostname添加到其中,如hadoop.master。

[root@centos hadoop-2.8.5]# vim etc/hadoop/slaves

5、配置hadoop運行環境文件hadoop-env.sh

[root@centos hadoop-2.8.5]# vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151

6、配置集羣文件core-site.xml 

進入/usr/hadoop/hadoop-2.8.5/etc/hadoop目錄:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.master:9000</value>
        <description>指定HDFS(namenode)的訪問地址</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
        <description>hdfs臨時文件存儲路徑</description>
    </property>
</configuration>

7、配置HDFS文件hdfs-site.xml 

進入/usr/hadoop/hadoop-2.8.5/etc/hadoop目錄:

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/dfs/name</value>
        <description>hdfs元數據的物理存儲位置 </description>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/dfs/data</value>
        <description>hdfs數據的物理存儲位置</description>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>設置hdfs副本數量,默認爲3</description>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>67108864</value>
        <description>block默認128兆(134217728),這裏設置爲64兆(67108864)</description>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
        <description>是否啓用hdfs權限</description>
    </property>
</configuration>

8、啓動停止HDFS

第一次啓動hdfs需要格式化,之後啓動就不需要的:

[root@centos]# cd /usr/hadoop/hadoop-2.8.5
[root@centos hadoop-2.8.5]# ./bin/hdfs namenode -format

啓動命令:

[root@centos hadoop-2.8.5]# ./sbin/start-dfs.sh

啓動NameNode、SecondaryNameNode和DataNode,啓動後,瀏覽器輸入網址:http://192.168.2.5:50070,打開hadoop的dfs頁面。

用jps命令查看啓動進程:

[root@centos hadoop-2.8.5]# jps
3969 NameNode
4275 SecondaryNameNode
4389 Jps
4071 DataNode

測試hdfs,創建一個test文件夾:

[root@centos hadoop-2.8.5]# ./bin/hdfs dfs -mkdir /test

停止命令:

[root@centos hadoop-2.8.5]# ./sbin/stop-dfs.sh

9.配置yarn(mapred-site.xml)

         Apache Hadoop YARN (Yet Another Resource Negotiator,另一種資源協調者)是一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可爲上層應用提供統一的資源管理和調度,它的引入爲集羣在利用率、資源統一管理和數據共享等方面帶來了巨大好處。

        配置mapred-site.xml。注意,hadoop裏面默認是mapred-site.xml.template 文件,如果配置yarn,把mapred-site.xml.template   重命名爲mapred-site.xml 。如果不啓動yarn,把重命名還原。

[root@centos hadoop]# mv mapred-site.xml.template mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>啓用yarn作爲資源管理框架</description>
    </property>
</configuration>

          配置yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        <description>配置MapReduce的Shuffle</description>
    </property>
</configuration>

10、啓動停止yarn

啓動yarn,啓動了resourcemanager和nodemanager

[root@centos hadoop-2.8.5]# ./sbin/start-yarn.sh  
starting yarn daemons
starting resourcemanager, logging to /usr/hadoop/hadoop-2.8.5/logs/yarn-root-resourcemanager-centos.hbase.out
localhost: starting nodemanager, logging to /usr/hadoop/hadoop-2.8.5/logs/yarn-root-nodemanager-centos.hadoop1.out

瀏覽器輸入:http://192.168.2.5:8088/  (8088是默認端口,如果端口占用,先把佔用的端口殺掉 netstat -ano),打開Hadoop集羣頁面。

用jps命令查看啓動進程:

[root@centos hadoop-2.8.5]# jps
9985 NodeManager
10404 Jps
9861 ResourceManager

停止yarn:

[root@centos hadoop-2.8.5]# ./sbin/stop-yarn.sh

11、啓動停止Hadoop(YARN、HDFS、MapReduce)

[root@centos hadoop-2.8.5]# ./sbin/start-all.sh
[root@centos hadoop-2.8.5]# ./sbin/stop-all.sh

用jps命令查看啓動進程:

[root@centos hadoop-2.8.5]# jps
11666 ResourceManager
11414 SecondaryNameNode
10888 NameNode
11789 NodeManager
12317 Jps
11102 DataNode

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章