这几天准备开始学习hadoop,网上很多教程说的是用虚拟机搭建分布式、伪分布式hadoop集群,整了几天也没弄好。上次偶遇一位高人,指点迷津说你为啥不搭一个单机版的hadoop。遂茅塞顿开,一个小时不到就搞定了。
首先,由于hadoop是用java写的,所以在安装hadoop之前呢,需要先把jdk环境装好。
jdk的安装在此就不赘述了,无非就是先下载,解压,环境变量配置啥的~
1.png
2.png
在这个页面,选择你喜欢的版本Binary download,反正我选的是2.9.2。
3.png
复制这个地址,这是hadoop建议你下载的地址。
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
vim /etc/profile
以下是我的环境变量配置文件:
JAVA_HOME=/usr/java/jdk1.8.0_161
MAVEN_HOME=/usr/local/apache-maven-3.6.0
HADOOP_HOME=/my/hadoop/hadoop-2.9.2
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
路径需要按照你自己配置的路径去修改。
source /etc/profile
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
cd /my/hadoop/hadoop-2.9.2/etc/hadoop/
<property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://your ip:9000</value> </property> </configuration>
* 修改 hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}
修改为
export JAVA_HOME=/usr/java/jdk1.8.0_161
* 修改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>false</value>
<description>need not permissions</description>
</property>
* 修改mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>test1: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>
如果没有这个文件的话,把mapred-site.xml.template复制一份改个名字。
* 启动Hadoop
* 第一次启动需要初始化一下,在hadoop的`bin`目录下执行命令:
`./hadoop namenode -format`
* 启动命令:
`./start-dfs.sh`
在这之后会需要你多次输入密码,然后输入yes
* 启动YARN:
`./start-yarn.sh`
浏览器中输入地址:[http://your](http://your) ip:8088/cluster
至此单机版hadoop安装完成。