【Hadoop】偽分佈式安裝
- 2020 年 10 月 6 日
- 筆記
創建hadoop用戶
創建用戶命令:
sudo useradd -m hadoop -s /bin/bash
創建好後需要更改hadoop
用戶的密碼,命令如下:
sudo passwd hadoop
然後給予hadoop
用戶sudo權限,方便配置部署。
這裡使用編輯/etc/sudoers
文件的方式,來賦權。在文件中添加一行hadoop ALL=(ALL) ALL
,保存後完成賦值。
Java安裝
安裝Java的命令如下:
sudo yum install -y java-1.8.0-openjdk-devel
測試Java是否安裝成功的命令:
java -version
結果如圖所示:
此方法的JAVA_HOME
環境變量為:
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
SSH登入權限設置
首先需要安裝SSH server,命令如下:
sudo yum install -y openssh-server
測試安裝成功的命令:
ssh localhost
此時是需要密碼登入的。
免密SSH登入
在hadoop
用戶下,輸入如下命令:
ssh-keygen -t rsa # 會有提示,都按回車就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授權
再次ssh local
則不需要密碼了。
Hadoop偽分佈式安裝
下載並解壓
下載Hadoop,這裡下載的版本是2.7.1。
將hadoop-2.7.1.tar.gz
解壓到/usr/local
目錄下。並修改文件名,修改文件權限。
tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop
sudo chown -R hadoop ./hadoop
檢查Hadoop是否可用,在hadoop
目錄下輸入下面命令:
./bin/hadoop version
結果如下:
偽分佈式配置
Hadoop的配置文件位於/usr/local/hadoop/etc/hadoop/
中,切換到此目錄下,修改兩個配置文件core-site.xml
和hdfs-site.xml
core-size.xml文件的配置
修改為如下
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml文件的配置
修改為如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
名稱節點格式化
配置完成後執行NameNode的格式化
cd /usr/local/hadoop
./bin/hdfs namenode -format
結果如下:
啟動Hadoop
./sbin/start-all.sh
使用jps
指令來檢查是否啟動成功
Word Count
在hdfs中創建/user/hadoop/input
目錄,命令如下:
./bin/hdfs dfs -mkdir -p /user/hadoop/input
文本file.txt:
Hello world! Hello Java! Hello Hadoop! Hello BigData!
將被計數的文本拷貝到hdfs的剛創建目錄下,命令為:
./bin/hdfs dfs -put ./input/file.txt /user/hadoop/input
啟動wordcount
實例進行計數:
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output
查看結果
./bin/hdfs dfs -cat output/part-r-00000