一.系统环境
1. os: Ububtu 18.04 LTS 64bit
2. jdk:1.8.0_241
3. hadoop: 3.2.1
配置时我自己使用的用户名为suger,下文用到用户名的时候请改成自己的用户名。
二、安装步骤
1. 安装配置ssh
1.1.安装ssh
1. 安装命令:$:sudo apt-get install openssh-server
2. 登录:$: ssh localhost (首次登录会有提示,输入yes,然后输入当前电脑的登录密码)
1.2.ssh无密码登录
1.$: exit #退出上一步登录的ssh localhost
2.$: cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
3.$: ssh-keygen -t rsa #会出现一些提示,不懂的直接敲回车就好
4.$: cat id_rsa.pub >> ~/.ssh/authorized_keys #进行授权
5.这次在用 $: ssh localhost 登录时就不需要密码了
2.安装配置java
2.1 安装
到java官方下载 jdk-8u241-linux-x64.tar.gz,然后将其解压到/usr/local/目录下:
1. $: cd ~/下载
2. $: sudo tar -xzf jdk-8u241-linux-x64.tar.gz -C /usr/local
3. $: cd /usr/local
4. $: sudo mv jdk1.8.0_241/ java
2.2 配置
使用 $:vim ~/.bashrc ,在这个文件开头添加一下内容:
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
使用 $: source ~/.bashrc #使环境生效。使用 java -version 检查是否正确,如果正确的话可以看到下图情况:
3.hadoop的安装配置
3.1hadoop下载与安装
去hadoop官网国内镜像下载hadoop-3.2.1.tar.gz,使用以下命令安装到/usr/local/目录下:
$ sudo tar -xzf hadoop-3.2.1.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-3.2.1/ hadoop
$ sudo chown -R suger ./hadoop #前一个suger为用户名,更改为自己的用户名即可
添加环境变量 vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
1.使用 $: source ~/.bashrc 使环境变量生效
2.使用 $:hadoop version 检查环境变量,成功会显示如图情况:
3.2 hadoop 单机配置
安装后默认为单机配置,可直接运行。
运行hadoop自带的单词统计实例:
$ cd /usr/local/hadoop
$ mkdir ./input
$ cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
$ cat ./output/* # 查看运行结果
运行结果如下图:
3.3 hadoop 伪分布配置
hadoop的配置文件存放在/usr/local/hadoop/etc/hadoop下,要修改该目录下的文件core-site.xml和hdfs-site.xml来达到实现伪分布式配置。
修改core-site.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>
配置完成后在 /usr/local/hadoop 目录下使用$ ./bin/hdfs namenode -format 实现namenode 的格式化,成功后会出现如下图情况:
接着使用 $: sbin/start-dfs.sh来开启namenode和datanode,开启后使用命令jps查看是否开启成功,如下图:
3.4配置yarn(不一定要做)
在/usr/local/hadoop下操作:
$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml #这一步是在将xml模板文件转化成/hadoop/mapred-site.xml,如果已有此文件则忽略本步骤
然后修改etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动资源管理器
$ ./sbin/start-yarn.sh
$ ./sbin/mr-jobhistory-daemon.sh start historyserver #查看历史任务
启动成功后可以在http://localhost:8088/cluster访问集群资源管理器。
此时使用jps可以看到:
关闭资源管理器
$ ./sbin/stop-yarn.sh
$ ./sbin/mr-jobhistory-daemon.sh stop historyserver
三、参考
- http://dblab.xmu.edu.cn/blog/install-hadoop/
- https://sjq597.github.io/2016/07/19/Ubuntu-16-04-Hadoop%E6%9C%AC%E5%9C%B0%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/
- https://www.cnblogs.com/sench/p/8542175.html