1. 程式人生 > >阿里雲搭建大資料平臺(3):安裝JDK和Hadoop偽分佈環境

阿里雲搭建大資料平臺(3):安裝JDK和Hadoop偽分佈環境

一、安裝jdk

1.解除安裝Linux自帶的JDK

rpm -qa|grep jdk   #查詢原始JDK
yum -y remove  <舊JDK>

2.解壓縮

tar -zxvf /opt/softwares/jdk-8u151-linux-x64.tar.gz -C /opt/modules/

3.將Java新增至環境變數

vi /etc/profile

新增

export JAVA_HOME=/opt/modules/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin

4.重新整理配置

source /etc/profile

5.檢測

jps

二、環境配置準備

1.關閉防火牆CentOS7.4

(1)關閉:           

systemctl stop firewalld
(啟動:systemctl start firewalld)    

(2)開機禁用  :

systemctl disable firewalld
(開機啟用  : systemctl enable firewalld)

(3)檢視狀態:

systemctl status firewalld

            結果:
            ● firewalld.service
           Loaded: masked (/dev/null; bad)
           Active: inactive (dead)

2.修改hostname

 (1)臨時修改hostname

hostname hadoop

(2)永久修改hostname
修改配置檔案 /etc/sysconfig/network。

NETWORKING=yes  #使用網路
HOSTNAME=hadoop  #設定主機名

(3)立即生效主機名

hostnamectl set-hostname hadoop

3.修改對映關係

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.19.199.187 hadoop

注意:172.19.199.187是私網ip!

4.建立使用者hadoop
(1)建立使用者

adduser hadoop

(2)修改密碼

passwd hadoop

(3)給hadoop使用者root許可權

vi /etc/sudoers
新增一行
hadoop ALL=(root) NOPASSWD:ALL

5.設定ssh

(1)生成金鑰

ssh-keygen -t rsa -P ""

(2)將金鑰寫入ssh中,這樣在本地啟動時,就可以避免輸入密碼
root使用者:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

hadoop使用者:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

三、Hadoop偽分散式環境搭建

1、解壓Hadoop到指定目錄下

tar -zxvf /opt/softwares/hadoop-2.6.0-cdh5.15.0.tar.gz -C /opt/modules/

2、修改檔案許可權

sudo chown -R hadoop:hadoop ./hadoop-2.6.0-cdh5.15.0/

3、清理Hadoop的目錄,將hadoop-2.6.0-cdh5.15.0.tar.gz/share/doc目錄刪除,節省磁碟空間,通過這個命令檢視df -h

rm -rf doc

4、修改三個.sh檔案

   修改etc/hadoop/hadoop-env.sh檔案
   修改etc/hadoop/mapred-env.sh檔案
   修改etc/hadoop/yarn-env.sh檔案
   指定Java安裝路徑

  export JAVA_HOME=/opt/modules/jdk1.8.0_151

5、修改hadoop/etc/hadoop/core-site.xml檔案

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://172.19.199.187:8020</value>
</property>
<property>
      <name>hadoop.tmp.dir</name>
      <value>/opt/modules/hadoop-2.6.0-cdh5.15.0/data/tmp</value>
</property>

 備註:172.19.199.187是私有ip!

6、重新自定義系統生成的檔案路徑,保證資料檔案安全性

(1)建立/opt/modules/hadoop-2.6.0-cdh5.15.0/data/tmp目錄
(2)修改許可權
        sudo chmod -R 777 /opt/modules/hadoop-2.6.0-cdh5.15.0/
               

7、修改etc/hadoop/hdfs-site.xml檔案
    指定HDFS檔案儲存的副本數個數,預設是3個,這裡是單臺機器就設定為1,這個數字要小於datanode的節點數

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

8、修改etc/hadoop/slaves檔案
指定從節點的機器位置,新增主機名即可,注意私網:172.19.199.187

172.19.199.187

9、格式化namenode

sudo bin/hdfs namenode -format

10、啟動命令

sudo sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

除錯日誌資訊:

    namenode
    tail -100 /opt/modules/hadoop-2.6.0-cdh5.15.0/logs/hadoop-hadoop-namenode-hadoop.log
    datanode
    tail -100 /opt/modules/hadoop-2.6.0-cdh5.15.0/logs/hadoop-hadoop-datanode-hadoop.log

11、檢視HDFS外部UI介面(阿里雲)

(1)開啟伺服器外網訪問埠

 網路和安全-》安全組-》配置規則

(2)新增安全組規則-》新增埠50070

(3)訪問web埠

http://公網ip:50070/explorer.html#/
 

12、測試HDFS環境
    建立資料夾,HDFS中有使用者主目錄的概念,和Linux一樣

bin/hdfs dfs -mkdir -p /hadoop/test
bin/hdfs dfs -mkdir -p hadoop/test上傳到hdfs的/user下面的目錄下

13、檢視檔案

bin/hdfs dfs -ls /
結果:
[[email protected] hadoop-2.6.0-cdh5.15.0]$ bin/hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2018-10-30 07:46 /hadoop
drwxr-xr-x   - hadoop supergroup          0 2018-10-30 07:50 /user

14、上傳檔案到HDFS

bin/hdfs dfs -put etc/hadoop/core-site.xml hadoop/

15、讀取HDFS的檔案

bin/hdfs dfs -text hadoop/core-site.xml

16、下載檔案到本地(指定下載到哪裡,同時可以重新命名成get-site.xml)

bin/hdfs dfs -get hadoop/core-site.xml /home/hadoop/get-site.xml

17、刪除hdfs上檔案

bin/hdfs dfs -rm -R /hadoop

(大功告成~)