Hadoop有三種環境:單機模式、僞分佈式、完全分佈式。由於資源有限,所以這裏搭建一個僞分佈式環境。
不多說直接上手:
1 SSH建立等效用戶
Hadoop本是建立在分佈式環境下的,不同的節點之間相互通信是要建立SSH等效用戶的。雖然在這裏搭建的是僞分佈式環境,但是Hadoop環境也要求建立ssh等效用戶。
通過命令ps -e|grep ssh可以查看是否有ssh進程在運行。
命令ssh-keygen -t rsa和ssh-keygen -t dsa生成密鑰對
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys和cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys將本機的公鑰添加到authorized_keys中去,這樣允許本機用過ssh的形式免密碼登錄。
命令:ssh localhost驗證是否配置成功,如下:
2 jdk安裝
2.1 卸載jdk
命令java -version可以查看本機是否安裝jdk,由於我這裏本機已經安裝了jdk,但是我想安裝一個更高級的版本,所以這裏會刪除掉之前的jdk。
終端輸入rpm -qa|grep gcj
我們卸載java開頭的文件,使用rpm -e javaXXXXXX
如果有依賴關係使用rpm -e –nodeps javaXXXXXX即可
終端輸入命令rpm -qa|grep jdk
使用同上的方法卸載掉java開頭的文件
然後輸入命令: java -version,可以發現沒有jdk了
2.2 安裝jdk
使用軟件WinSCP將JDK上傳到/home/jdk目錄下
使用命令: tar -zxvf jdk-8u20-linux-x64.gz解壓jdk
重命名解壓後的文件包:mv jdk1.8.0_20 jdk
編輯vim /etc/profile,在其最後一行添加:
JAVA_HOME=/home/jdk/jdk
CLASSPATH=.:
export JAVA_HOME CLASSPATH PATH
是配置生效:source /etc/profile,同時查看jdk是否安裝成功:java -version
3 配置hadoop
使用WinSCP上傳hadoop-1.0.0-bin.tar.gz到/home/hadoop目錄文件夾下
解壓縮: tar -zxvf hadoop-1.0.0-bin.tar.gz
重命名解壓縮文件: mv hadoop-1.0.0 hadoop
3.1 配置文件hadoop-env.sh
在/home/hadoop/hadoop/conf中找到hadoop-env.sh,並在hadoop-env.sh文件的最後一行添加export JAVA_HOME=/home/jdk/jdk
3.2 配置文件core-site.xml
在/home/hadoop/hadoop/conf中找到core-site.xml,並添加如下內容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.205.110:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmp</value>
</property>
</configuration>
注意上面的主機名要修改爲你自己的主機名
3.3 配置文件hdfs-site.xml
在/home/hadoop/hadoop/conf中找到hdfs-site.xml,並添加如下內容:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.4 配置文件mapred-site.xml
在/home/hadoop/hadoop/conf中找到mapred-site.xml,並添加如下內容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.205.110:9001</value>
</property>
</configuration>
注意修改上面的IP
3.5 配置masters和slaves文件
在/home/hadoop/hadoop/conf中找到masters文件和slaves文件,寫入本機的IP地址:
3.6 編輯主機名
命令vim /etc/hosts,添加上master和slave的ip
3.7 創建上面被編輯文件中的目錄
[root@centos hadoop]# mkdir -p /home/hadoop/hadooptmp
[root@centos hadoop]# mkdir -p /home/hadoop/hdfs/name
[root@centos hadoop]# mkdir -p /home/hadoop/hdfs/data
4 啓動Hadoop並驗證
4.1 對Hadoop中namenode文件進行格式化
進入/home/hadoop/hadoop/bin目錄,執行如下命令:
[root@centos bin]# ./hadoop namenode -format
4.2 啓動hadoop所有進程
執行命令
[root@centos bin]# ./start-all.sh
和
[root@centos bin]# jps
可以看到有六個進程在運行
4.3 查看集羣狀態
命令如下:
[root@centos bin]# ./hadoop dfsadmin -report