环境准备
1.VMware虚拟机(Linux操作系统)
2.Windows10~11
3.JDK
4.Hadoop
5.Xshell 7(用于连接虚拟机与Windows)
6.Xftp 7(用于虚拟机与Windows之间传输文件)
家庭/学校免费 - NetSarang Websitehttps://www.xshell.com/zh/free-for-home-school/
一、虚拟机下Hadoop环境搭建
1、创建hadoop用户(注:创建后需切换用户)
①如果你安装Ubuntu时不是用的"hadoop"用户,那么需要增加一个名为hadoop的用户。首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户;
sudo useradd -m hadoop -s /bin/bash
②设置密码;
sudo passwd hadoop
③为hadoop用户增加管理员权限,方便部署;
sudo adduser hadoop sudo
2、更新apt和安装vim(注:可以在【软件和更新】中更改软件源)
①sudo apt-get update
②sudo apt-get install vim
3、安装SSH、配置SSH无密码登陆
①集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server;
sudo apt-get install openssh-server
②安装后,可以使用如下命令登陆本机;
ssh localhost
③配置SSH无密码登陆;
exit #退出刚才的ssh localhost
cd ~/.ssh/ #若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa #会有提示,都按回车即可
ssh-copy-id -i ~/.ssh/id_rsa.pub jwd #此处jwd需修改为用户个人虚拟机计算机名
cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh jwd #登陆SSH
4、安装Java环境
Java Downloads | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/#java8-linux①在Linux命令行界面中,执行如下Shell命令(注:当前登录用户名是hadoop);
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd 下载
#将下载好的JDK文件解压到/usr/lib/jvm目录下
sudo tar -zxvf ./jdk-8u411-linux-x64.tar.gz -C /usr/lib/jvm
②配置环境变量
cd ~
vim ~/.bashrc
使用vim编辑器打开hadoop用户的环境变量配置文件,并在这个文件的开头位置,添加如下几行内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_411
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc #使.bashrc文件配置立即生效
java -version #查看是否安装成功
5、安装Hadoop2.10.2
Index of /apache/hadoop/common/hadoop-2.10.2 (tsinghua.edu.cn)https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.2/sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local #解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.10.2/ ./hadoop #将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop #修改文件权限
cd /usr/local/hadoop
./bin/hadoop version #检查Hadoop是否可用,成功则会显示Hadoop版本信息
6、Hadoop单机配置(非分布式)
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input #将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* #查看运行结果
rm -r ./output #Hadoop默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将./output删除。
7、Hadoop伪分布式配置
cd /usr/local/hadoop/etc/hadoop
①sudo vim core-site.xml #修改配置文件core-site.xml
将其中的:<configuration> </configuration>
修改为下面配置:(注:file后是每人hadoop安装的位置,jwd为个人虚拟机用户计算机名)
<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://jwd:9000</value>
</property>
</configuration>
②sudo vim hdfs-site.xml #修改配置文件hdfs-site.xml
将其中的:<configuration> </configuration>
修改为下面配置:
<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>
③sudo vim mapred-site.xml #修改配置文件mapred-site.xml
将其中的:<configuration> </configuration>
修改为下面配置:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>jwd:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>jwd:19888</value>
</property>
</configuration>
④sudo vim yarn-site.xml #修改配置文件yarn-site.xml
将其中的:<configuration> </configuration>
修改为下面配置:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>jwd</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
⑤sudo vim hadoop-env.sh
#文件修改(将${JAVA_HOME}修改为/usr/lib/jvm/jdk1.8.0_411)
⑥使用vim编辑器修改hadoop用户的环境变量配置文件,将文件开头位置的四行代码修改为下列几行内容;
cd ~
vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_411
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export PATH=${JAVA_HOME}/bin:$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native
source ~/.bashrc
⑦配置完成后,执行NameNode的格式化;
cd /usr/local/hadoop
./bin/hdfs namenode -format #执行NameNode的格式化
./sbin/start-all.sh #启动Hadoop
jps #验证Hadoop伪分布式配置是否成功
注:若是DataNode没有启动,可尝试如下的方法(注意这会删HDFS中原有的所有数据,如果原有的数据很重要请不要这样做);
cd /usr/local/hadoop
./sbin/stop-all.sh #关闭Hadoop
rm -r ./tmp #删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format #重新格式化 NameNode
./sbin/start-all.sh #重启Hadoop
二、Windows上hadoop的配置
在Windows上配置hadoop
①hadoop环境变量配置;
path添加%HADOOP_HOME%bin
②下载windows专用二进制文件和工具类依赖库: hadoop在windows上运行需要winutils支持和hadoop.dll等文件;
https://github.com/steveloughran/winutilshttps://links.jianshu.com/go?to=https://github.com/steveloughran/winutils
将下载好的hadoop.dll和winutils.exe复制到hadoop-2.10.2\bin目录中;
③配置好环境变量后,win+R输入cmd打开命令提示符,然后输入hadoop version,按回车,如果出现如图所示版本号,则说明配置成功;
标签:lib,sudo,Hadoop,hadoop,集群,usr,HOME,安装 From: https://blog.csdn.net/2301_81921110/article/details/139362063