三種分佈式介紹
1,僞分佈式
在一臺服務器上,啓動多個進程,分別表示各個角色
2,完全分佈式
在多臺服務器上,每臺服務器啓動不同角色的進程,使用多臺服務器組成HDFS集羣
node01:namenode
node02:secondarynamenode datanode
node03:datanode
node04:datanoode
3,高可用性的完全分佈式
node01:namenode
node02:secondarynamenode datanode
node03:datanode namenode
node04:datanode
僞分佈式的搭建
免密登錄
node01->node01
ssh-keygen -t rsa //生成公鑰
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01 //將公鑰添加到node01
配置JDK(和window相似)
①rz安裝命令(上傳文件)
yum -y install lrzsz
rz //上傳文件
②解壓縮,找合適的文件位置存放
tar -zxvf jdk-8u151-linux-x64.tar.gz /usr/local
③配置環境變量
#接着需要配置JAVA環境變量.
vim ~/.bashrc
# 在文件最後添加
export JAVA_HOME=/usr/local/jdk-9.0.1-1
export PATH=$JAVA_HOME/bin:$PATH
# 接下來需要使用source命令是環境變量生效.
source ~/.bashrc
④檢驗jdk是否安裝成功
java -version
安裝hadoop
sudo tar -zxvf hadoop-2.8.2.tar.gz -C /usr/local
# 將hadoop解壓到/usr/local
sudo mv hadoop-2.8.2 hadoop
# 將文件夾重命名爲hadoop(可選,方便後續添加環境變量)
hadoop相關文件配置
①配置環境變量
vim ~/.bashrc
# 在文件最後添加:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
# 保存推出 :wq
# 使用source命令,是環境變量生效.
source ~/.bashrc
②修改hdfs-site.xml配置文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
③修改core-site.xml配置文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/local</value>
</property>
④修改slaves配置文件
node01
格式化NameNode
hdfs namenode -format
啓動HDFS
start-dfs.sh
操作HDFS文件系統
①創建目錄
hdfs dfs -mkdir -p /user/root
②上傳文件
hdfs dfs -D dfs.blocksize=1048576 -put /home/node02/hello.txt /user
安裝過程中遇到的問題
①java異常,找不到指定的address
解決:更改hadoop安裝包中的配置文件hadoop-env.sh
把圖中的JAVA_HOME=${JAVA_HOME}更改成jdk安裝的絕對路徑
②java異常 ,找不到node01節點
解決:更改配置文件hosts
vi /etc/hosts
把第一個localhost改成node01