1. 程式人生 > >Centos7+hadoop2.7.3+jdk1.8

Centos7+hadoop2.7.3+jdk1.8

測試 master dfs- dfs con ssp 必須 加載 lib

修改主機名

1. 修改主機名 vi /etc/sysconfig/network ,改為 master , slave1 , slave2

2. source /etc/sysconfig/network 讓剛才的設置生效

3. 如果不行需要 reboot

4. master主機上輸入命令:vi /etc/hosts,添加ip地址和主機名

技術分享

設置host

5. 將修改後的host文件發送到其他主機,進行遠程拷貝

scp /etc/hosts [email protected]:/etc

6. 設置免密碼登錄

  a) ssh-keygen

生成密匙對

  b) ssh-copy-id 其他主機(例如:ssh-copy-id slave1)

  i. master-->slave1,slave2,master

   ii. slave1-->slave1,slave2,master

   iii. slave2-->slave1,slave2,master

安裝jdk

1. 查看之間是否安裝jdk

  a) rpm –qa | grep jdk

2.

輸入 rpm -e –nodeps 要卸載的軟件

3. 安裝包如下 /opt/software/java 下進行解壓 tar -xvf

4. 配置環境變量 /etc/profile

#set java environment
export JAVA_HOME=/opt/software/java/jdk1.8.0_141
export JRE_HOME=/opt/software/java/jdk1.8.0_141/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

技術分享

5. 重新加載配置文件source /etc/profile

6. 測試 java -version javac -version

安裝hadoop

1. /opt/software/hadoop 目錄下解壓tar -xvf *** 安裝包如下

2. 重命名 mv hadoop-2.7.3 hadoop

3. hadoop目錄下創建目錄tmp,logs,hdfs,hdfs/data,hdfs/name

技術分享

4. 修改配置文件 etc/hadoop/hadoop-env.sh 文件中

技術分享

etc/hadoop/yarn-env.sh

技術分享

5. etc/hadoop/slaves文件下刪除原來的內容,加上從節點的名字

技術分享

6. 配置 etc/hadoop/core-site.xml

<configuration>
<property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/opt/software/hadoop/hadoop/tmp</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131702</value>
        </property>
<property>  
  <name>hadoop.proxyuser.root.hosts</name>  
  <value>*</value>  
</property>  
<property>  
  <name>hadoop.proxyuser.root.groups</name>  
  <value>*</value>  
</property> 
</configuration>

配置 etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<!--namenode節點數據存儲目錄-->

<value>file:/opt/software/hadoop/hadoop/hdfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<!--datanode數據存儲目錄-->

<value>file:/opt/software/hadoop/hadoop/hdfs/data</value>

</property>

<property>

<!--指定DataNode存儲block的副本數量,不大於DataNode的個數就行-->

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<!--指定master的http地址-->

<name>dfs.namenode.secondary.http-address</name>

<value>master:50090</value>

</property>

<property>

<!--指定master的https地址-->

<name>dfs.namenode.secondary.https-address</name>

<value>master:50091</value>

</property>

<property>

<!--必須設置為true,否則就不能通過web

訪問hdfs上的文件信息-->

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

     <name>dfs.datanode.max.xcievers</name>

     <value>4096</value>

</property>

</configuration>

配置 etc/hadoop/yarn-site.xml 文件

<configuration>

<property>

<!--NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,才可運行MapReduce程序-->

<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>

<!--ResourceManager 對客戶端暴露的地址。客戶端通過該地址向RM提交應用程序,殺死應用程序等。-->

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<!--ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等。-->

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<!--ResourceManager 對NodeManager暴露的地址.。NodeManager通過該地址向RM匯報心跳,領取任務等。-->

<name>yarn.resourcemanager.resourcetracker.address</name>

<value>master:8031</value>

</property>

<property>

<!--ResourceManager 對管理員暴露的訪問地址。管理員通過該地址向RM發送管理命令等。-->

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<!--用戶可通過該地址在瀏覽器中查看集群各類信息。-->

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

<property>

<!--NodeManager總的可用物理內存。註意,該參數是不可修改的,一旦設置,整個運行過程中不可動態修改。另外,該參數的默認值是8192MB,因此,這個值通過一定要配置。不過,Apache已經正在嘗試將該參數做成可動態修改的。-->

<name>yarn.nodemanager.resource.memory-mb</name>

<value>3072</value>

</property>

</configuration>

首先修改mapred-site.xml.defaultmapred-site.xml

配置 etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

</configuration>

7. 遠程將master上的 /opt/SoftWare 的內容拷貝到子節點, -r 表示遞歸 scp -r /opt/SoftWare root@slave1:/opt/ scp -r /opt/SoftWare root@slave2:/opt/

8. 配置環境變量

export HADOOP_HOME=/opt/software/hadoop/hadoop

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

export YARN_LOG_DIR=$HADOOP_LOG_DIR

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

技術分享

9. 遠程將master上的 /etc/profile 的內容拷貝到子節點

  scp -r /etc/profile root@slave1:/etc/

  scp -r /etc/profile root@slave2:/etc/

10. 執行全部的source source /etc/profile

11. 同步系統時間

  a) 安裝ntpdate工具 yum -y install ntp ntpdate

  b) 設置與網絡時間同步ntpdate cn.pool.ntp.org

  c) 系統時間寫入硬件時間hwclock -systohc

12. 關閉防火墻

  a) systemctl stop firewalld

  b) 永久關閉(開機不自啟)systemctl disable firewalld

13. 在主節點hadoop下格式化 bin/hdfs namenode -format

技術分享

14. 啟動集群 start-all.sh

技術分享

Centos7+hadoop2.7.3+jdk1.8