文章目錄
這裏是一段防爬蟲文本,請讀者忽略。
本文原創首發於CSDN,作者IDYS
博客首頁:https://blog.csdn.net/weixin_41633902/
本文鏈接:https://blog.csdn.net/weixin_41633902/article/details/105874991
寫在開頭的話
- 請記住:實踐是掌握知識的最快方法
- 如果你只是懷着看看的態度去快速瀏覽文章,而不去認認真真的把文章裏面講的任何一個知識點去實踐一遍,那麼你永遠也掌握不了它
- 生命不息,折騰不止!
前提環境準備
配置JAVA環境
將jdk安裝包傳輸至你的Linux宿主機中
- 將jdk安裝包傳輸到Linux當中
- 方法一:sftp方式(當然也可以用scp,或者是xshel的xftp,還有很多其它的sftp工具都可以)
- 在CRT裏面按住ALT+P即可進入sftp模式
- put 你的Windows下jdk安裝包的位置,如:
- put D:\Users\dayuanshuai\Desktop\jdk-8u212-linux-x64.tar.gz,現在即上傳文件到你的Linux當中
- 方法二:lrzsz工具安裝
- 在Linux中安裝lrzsz安裝包
- 執行rz(receive)從Linux中接收客戶端文件
- sz(send)就是從linux中發送文件到客戶端
[root@dayuanshuai java]# yum -y install lrzsz
[root@dayuanshuai java]# rz
- 方法三:安裝VMware工具,最後直接將jdk安裝包拖進去就ok了
- 掛載VMware-tool的ISO文件,然後將文件複製到/usr/local 下
- 解壓VMware壓縮包
- 直接vmware的腳本文件,不停回車即可安裝完vmware-tool
- 最後直接可以把jdk安裝包拖進虛擬機當中
- 方法四:建立VMware的磁盤映射,將jdk文件傳到VMware當中
- 這種方式即爲少見,我就不介紹了
操作jdk安裝包,然後配置java環境
- 將jdk安裝包移動到/usr/local/java下,並且解壓
mkdir /usr/local/java
mv jdk-8u212-linux-x64.tar.gz /usr/local/java/
tar -zxvf jdk-8u212-linux-x64.tar.gz
- 編輯/etc/profile文件
JAVA_HOME=/usr/local/java/jdk1.8.0_212
JRE_HOME=/usr/local/java/jdk1.8.0_212/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
# 以上路徑均爲你jdk包存放的路徑
- 重新執行profile文件
source /etc/source
- 查看java是否安裝成功
[root@dayuanshuai ~]# java -version
java version "1.8.0_212"
[root@dayuanshuai ~]# java
用法: java [-options] class [args...]
(執行類)
或 java [-options] -jar jarfile [args...]
(執行 jar 文件)
....... #省略
[root@dayuanshuai ~]# javac
用法: javac <options> <source files>
其中, 可能的選項包括:
..... #省略
- 到此java安裝成功
配置ssh免密登錄
- 生成一對密鑰對,執行
ssh-keygen -t rsa -b 2048
命令,這時你的家目錄的.ssh目錄下就有一對rsa密鑰
- 關於
ssh-keygen
命令的參數解釋-t
指定加密類型-b
指定密碼長度
- 執行
ssh-copy-id 用戶名@主機名
命令,然後輸入對應的用戶名密碼,這時你就能實現免密登錄某臺主機對應的用戶
#最開始登錄自己主機對應的用戶是需要輸入密碼的
[root@dayuanshuai ~]# ssh [email protected]
[email protected]'s password:
Last login: Mon Apr 27 00:19:40 2020 from 192.168.200.1
your UID=0 your home=/root
# 生成密鑰對
[root@dayuanshuai ~]# ssh-keygen -t rsa -b 2048
# 複製自己的公鑰到主機對應用戶的~/.ssh/authorized_keys裏面
[root@dayuanshuai ~]# ssh-copy-id [email protected]
#輸入主機對應用戶的密碼
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
# 這時再次登錄,可以不用輸入主機名對應用戶的密碼了,直接免密登錄
[root@dayuanshuai ~]# ssh [email protected]
Last login: Mon Apr 27 00:33:39 2020 from dayuanshuai
your UID=0 your home=/root
安裝Hadoop,及其hadoop配置
- 在
/usr/local/
下創建目錄,然後再將Hadoop安裝包複製到該目錄下,之後再解壓
#在/usr/local下創建bigdata_software目錄
mkdir /usr/local/bigdata_software
# 移動hadoop安裝包到/usr/local/bigdata_software/ 下
mv hadoop-2.4.1.tar.gz /usr/local/bigdata_software/
#解壓Hadoop安裝包
tar -zxvf hadoop-2.4.1.tar.gz
- 在
/etc/profile
下配置Hadoop環境
# 編輯/etc/profile文件
vim /etc/profile
HADOOP_HOME=/usr/local/bigdata_software/hadoop-2.4.1
# 前面PATH下前面的是java的配置,後面纔是Hadoop的環境配置
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 環境變量導入
export JAVA_HOME JRE_HOME CLASS_PATH HADOOP_HOME PATH
- 編輯Hadoop的配置文件,文件包括:
core-site.xml
;hdfs-site.xml
;mapred-site.xml
;yarn-site.xml
hdfs-site.xml
的配置
# 配置分佈式文件系統裏面副本的備份個數,因爲此爲單機分佈式,所以配置value值爲1即可
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
core-site.xml
的配置
<configuration>
# fs.defaultFS配置uri,用戶唯一資源標識符
<property>
<name>fs.defaultFS</name>
<value>hdfs://dayuanshuai:9000/</value>
</property>
# hadoop.tmp.dir即可配置Hadoop裏hdfs生成的文件的存儲目錄
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/bigdata_software/hadoop-2.4.1/tmp</value>
</property>
</configuration>
mapred-site.xml
配置
# 首先完成改名,hadoop只會識別mapred-site.xml而是不mapred-site.xml.template
cp mapred-site.xml.template mapred-site.xml
# 編輯文件
vim mapred-site.xml
<configuration>
# 配置mapreduce的資源調度框架是基於誰的
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
配置
<property>
# 資源調度的主機名,此處填寫你的主機名,或者localhost都可以,dayuanshuai是我的主機名
<name>yarn.resourcemanager.hostname</name>
<value>dayuanshuai</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 添加Hadoop用戶,並將Hadoop目錄及其目錄下所有的子目錄文件的所屬主和所屬組全部分配給Hadoop
# 添加Hadoop組
useradd hadoop
# 分配所屬主和所屬組
chown -R hadoop:hadoop hadoop-2.4.1
- 跳轉到hadoop用戶下,格式化namenode
su - Hadoop
hadoop namenode -format
- 運行Hadoop
[hadoop@dayuanshuai ~]$ start-dfs.sh
[hadoop@dayuanshuai ~]$ start-yarn.sh
- 查看運行狀態
[hadoop@dayuanshuai hadoo_tmp]$ jps
6630 DataNode
6535 NameNode
6810 SecondaryNameNode
7370 Jps
7054 NodeManager #yarn開啓
- 查看開啓端口數量
[hadoop@dayuanshuai hadoo_tmp]$ netstat -lntp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 6630/java
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 6630/java
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 6630/java
tcp 0 0 192.168.200.135:9000 0.0.0.0:* LISTEN 6535/java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 6810/java
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 6535/java
.... 省略
你可以通過瀏覽器進入Hadoop的50070端口查看Hadoop的使用情況
- 訪問連接
http://192.168.200.135:50070/
;ip地址爲你的Hadoop的IP地址
關於安裝過程中的報錯及其解決辦法
提示信息:
WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 其實就是無法加載Hadoop的本地庫文件,因爲本地庫爲32位,而我的機器,系統,包括安裝包都是64位
解決辦法:
- 升級依賴庫文件
yum -y update glibc
- 編輯
/etc/profile
文件,添加如下配置
HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
export HADOOP_COMMON_LIB_NATIVE_DIR HADOOP_OPTS
- 編輯
hadoop-env.sh
文件,在末尾處添加如下文本
HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
export HADOOP_COMMON_LIB_NATIVE_DIR HADOOP_OPTS
- 編輯
yarn-env.sh
文件,在末尾添加如下文本
HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
export HADOOP_COMMON_LIB_NATIVE_DIR HADOOP_OPTS
- 上傳
hadoop-native-64-2.4.0.tar
文件,將其解壓到$HADOOP_HOME/lib/native/
和$HADOOP_HOME/lib/
下
tar -xvf hadoop-native-64-2.4.0.tar -C hadoop-2.4.1/lib/native/
tar -xvf hadoop-native-64-2.4.0.tar -C hadoop-2.4.1/lib/
- 關於
hadoop-native-64-2.4.0.tar
文件的下載,鏈接如下:
- 重新讀取
/etc/profile
文件,讓配置的環境變量生效
source /etc/profile
至此Hadoop單機僞分佈式已經全部安裝完成
寫在最後的話:
- 無論每個知識點的難易程度如何,我都會盡力將它描繪得足夠細緻
- 歡迎關注我的CSDN博客,IDYS’BLOG
- 持續更新內容:
linux基礎 | 數據通信(路由交換,WLAN) | Python基礎 | 雲計算 - 如果你有什麼疑問,或者是難題。歡迎評論或者私信我。你若留言,我必回覆!
- 雖然我現在還很渺小,但我會做好每一篇內容。謝謝關注!