一、准備工作
1.申請機器
1)修改配置:
申請虛擬機下來了,通過xshell連接進入,
主機名還是默認的,修改下,不然看着不習慣
>hostname 查看主機名
>vim /etc/sysconfig/network
按i、 I 、a、 A其中一個,進入輸入模式
HOSTNAME=master 改成自己想要的名字
按Esc退出輸入模式
:wq 保存並退出
要想改的名字生效,執行reboot,這個過程可能需要幾分鍾,然后再xshell連接
2、准備軟件
1)安裝java 1.8
java -version 發現有了,不用安裝了,此步省略
2)python 也有了,不用安裝了
3)上傳文件
rz命令上傳文件
bash: rz: command not found
發現rz命令不能用,需要安裝
>rpm -qa lrzsz 查看安裝版本,發現是空的,沒安裝
>yum -y install lrzsz 安裝上傳下載命令工具
>mkdir soft 新建存在文件目錄
>cd soft
>rz 命令,執行文件上傳,選擇要上傳的文件 hadoop-2.8.4.tar.gz
>tar -xvf hadoop-2.8.4.tar.gz 解壓hadoop文件
在根目錄創建hadoop目錄,
將解壓的hadoop文件夾移動到創建的hadoop目錄
>mv hadoop-2.8.4 /hadoop
二、安裝配置
1.java環境變量配置
>vim /etc/profile
JAVA_HOME=/opt/java/jdk1.8.0_181
JRE_HOME=/opt/java/jdk1.8.0_181/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=.:$JAVA_HOME/bin:$PATH
>source /etc/profile 使配置生效
2.hadoop環境變量配置
>vim /etc/profile
export HADOOP_HOME=/hadoop/hadoop-2.8.4
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
>source /etc/profile 使配置生效
3.hadoop配置文件修改
在修改配置文件之前,創建hadoop臨時目錄
[root@master ~]# mkdir /root/hadoop
[root@master ~]# mkdir /root/hadoop/tmp
[root@master ~]# mkdir /root/hadoop/var
[root@master ~]# mkdir /root/hadoop/dfs
[root@master ~]# mkdir /root/hadoop/dfs/name
[root@master ~]# mkdir /root/hadoop/dfs/data
>cd /hadoop/hadoop-2.8.4/etc/hadoop 切換到hadoop配置文件目錄
1)修改core-site.xml文件
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/tmp</value> <description>hadoop tmp dir</description> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> </configuration>
2)修改 hadoop-env.sh
>vi hadoop-env.sh
將export JAVA_HOME=${JAVA_HOME}中${JAVA_HOME}修改成java具體安裝目錄
export JAVA_HOME=/opt/java/jdk1.8.0_181
3)修改hdfs-site.xml
>vi hdfs-site.xml
<property> <name>dfs.name.dir</name> <value>/root/hadoop/dfs/name</value> <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description> </property> <property> <name>dfs.data.dir</name> <value>/root/hadoop/dfs/data</value> <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions</name> <value>true</value> <description>need not permissions</description> </property>
dfs.permissions配置為false后,可以允許不要檢查權限就生成dfs上的文件,方便倒是方便了,但是你需要防止誤刪除,請將它設置為true,或者直接將該property節點刪除,因為默認就是true
4)修改mapred-site.xml
<property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> <property> <name>mapred.local.dir</name> <value>/root/hadoop/var</value> </property> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
配置文件配置完成。
三、啟動hadoop
1.首次啟動,需要初始化(格式化)
>cd /hadoop/hadoop-2.8.4/bin 切換到安裝bin目錄
>./hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
提示方法過時了,但不影響
conf.Configuration: error parsing conf mapred-site.xml
org.xml.sax.SAXParseException; systemId: file:/hadoop/hadoop-2.8.4/etc/hadoop/mapred-site.xml; lineNumber: 5; columnNumber: 2; The markup in the document following the root element must be well-formed.
報錯了,看報錯信息是mapred-site.xml文件沒配置好,去看下發現沒配置<configuration></configuration>根標簽,加上根標簽,去bin目錄,重新執行
>./hadoop namenode -format
沒報錯就是格式化好了。
初始化成功后,可以在/root/hadoop/dfs/name 目錄下(該路徑在hdfs-site.xml文件中進行了相應配置,並新建了該文件夾)新增了一個current 目錄以及一些文件。
2.啟動hadoop:主要是啟動HDFS和YARN
切換到sbin目錄
>cd /hadoop/hadoop-2.8.4/sbin/
>start-dfs.sh 啟動HDFS
Are you sure you want to continue connecting (yes/no)?
yes
root@master's password: ******
啟動過程中,可以看到,先啟動namenode服務,再啟動datanode服務,最后啟動secondarynamenode服務
HDFS啟動成功了。
啟動YARN
>start-yarn.sh
從打印日志中,可以看到啟動yarn實際是啟動yarn的daemons守護進程,再啟動nodemanager節點管理器
通過 jps命令查看hadoop服務是否啟動成功:
在瀏覽器中可以訪問:
http://192.168.1.1**:8088/cluster
到此部署成功了。
http://192.168.1.1**:50070