Linux下的如何快速安裝Hadoop

大傢都對大數據感興趣,但是大傢都沒有想去如何實踐到地方,如何落實去學習Hadoop,我們學習任何一門技術的時候,都不用想,上來肯定是去安裝,然後去實踐,不得不說,現在你去網上搜索,如何安裝Hadoop,那很多出來的都是從 Unbutu 系統下如何安裝,很多也都講解的不是很清楚,阿粉也比較想學習,所以就準備瞭如何安裝 Hadoop 的 Linux 的教程,大傢上手就能學習。阿粉就開始給大傢寫一個安裝 Hadoop 的教程。

準備工作

1.我們首先可以去阿裡雲或者華為雲去租用一臺服務器,畢竟一個初級版本的服務器,也沒有那麼貴,阿粉還是用的之前租用的那臺,我們選擇安裝 Linux8 的版本,如果是本機的話,你需要下載 CentOS8 的鏡像,然後通過虛擬機安裝到 VM 上就可以瞭,安裝完成我們就可以開始安裝 Hadoop 瞭

我們先說說 Hadoop 都能幹啥,以及人們經常對 Hadoop 誤解。

Hadoop主要是分佈式計算和存儲的框架,所以Hadoop工作過程主要依賴於HDFS(Hadoop Distributed File System)分佈式存儲系統和Mapreduce分佈式計算框架。

但是很多人就會對 Hadoop 產生一個誤解,有些非常捧 Hadoop 的人就會說,Hadoop 什麼東西都可以做,實際上不是的,每一項技術的出現,都是對應著解決不同的問題的,比如我們接下來要學習的 Hadoop 。Hadoop適合來做數據分析,但是絕對不是 BI ,傳統 BI 是屬於數據展現層(Data Presentation),Hadoop就是專註在半結構化、非結構化數據的數據載體,跟BI是不同層次的概念。

還有人說 Hadoop 就是 ETL ,就相當於數據處理,但是,Hadoop 並不是一個絕對意義上的 ETL 。

安裝 Hadoop 教程

1.安裝SSH

yum install openssh-server 

OpenSSH是Secure Shell的一個開源實現,OpenSSH Server安裝完成後在/etc/init.d目錄下應該會增加一個名為sshd的服務,一會我們就要把生成的密鑰放到指定位置,然後用來當作之後的身份驗證。

2.安裝 rsync

yum -y install rsync 

3.產生 SSH 密鑰之後繼續進行後續的身份驗證

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 

4.把產生的密鑰放入許可文件中

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

安裝Hadoop

安裝 Hadoop 之前我們要先把 JDK 安裝好,配置好環境變量,出現下面這個樣子,就說明 JDK 已經安裝完成瞭。

1.解壓Hadoop

我們先要把 Hadoop 放到我們的服務器上,就像阿粉這個樣子,

然後解壓 tar zxvf hadoop-3.3.1.tar.gz

2.修改bashrc文件

vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-DJava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

復制到文件中保存退出

3.生效文件

source ~/.bashrc

4.修改配置文件 etc/hadoop/core-site.xml

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
 <!-- 緩存存儲路徑 -->
 <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadooptemp</value>
    </property>

 5.修改 etc/hadoop/hdfs-site.xml

 <!-- 默認為3,由於是單機,所以配置1 -->
 <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
 <!-- 配置http訪問地址 -->
 <property>
   <name>dfs.http.address</name>
   <value>0.0.0.0:9870</value>
 </property>

6.修改 etc/hadoop/hadoop-env.sh

 

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 

 

7.修改etc/hadoop/yarn-env.sh文件

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 

8.修改sbin/stop-dfs.sh文件,在頂部增加

HDFS_NAMENODE_USER=root

HDFS_DATANODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

YARN_RESOURCEMANAGER_USER=root

YARN_NODEMANAGER_USER=root

9-1.修改start-yarn.sh 文件

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

9-2.修改stop-yarn.sh文件

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

上面的這些命令主要是用於當你啟動 Hadoop 的時候,會提示認證不通過。

10.格式化,進入hadoop的bin文件夾,執行下面的命令

./hdfs namenode -format

11.進入sbin文件夾,啟動hadoop

./start-dfs.sh 

也可以直接全部啟動 ./start-all.sh

然後直接訪問8088端口即可

12.防火墻開啟端口,如果用的雲服務器,請將9870端口加入安全組出入口

//添加9870端口到防火墻 firewall-cmd --zone=public --add-port=9870/tcp --permanent //重啟防火墻 firewall-cmd --reload 

13.輸入 jps 如果是如果是4個或者5個就配置成功,再繼續

通過web訪問hadoop,訪問地址:http://IP地址:9870

當我們看到這個的時候,說明我們已經安裝成功瞭。註意,Hadoop3.x 版本的看 Hadoop Web端的端口沒有變化,但是 HDFS 端 則由 50070 變成瞭 9870 這個需要註意一下呦,你學會瞭麼?

閱讀更多: