Linux下如何快速安裝Hadoop
本文轉載自微信公眾號「Java極客技術」,作者鴨血粉絲。轉載本文請聯系Java極客技術公眾號。
大家都對大數據感興趣,但是大家都沒有想去如何實踐到地方,如何落實去學習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.修改sbin/start-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 這個需要注意一下呦,你學會了么?






















