Hadoop安装与部署
1. 创建Hadoop用户
sudo useradd -m hadoop -s /bin/bash
1.1 设置密码
sudo passwd hadoop
输入两遍密码
1.2 用户增加管理员权限
sudo adduser hadoop sudo
1.3 切换到hadoop用户
2. 安装SSH、配置SSH无密码登陆
sudo apt install openssh-server
ssh localhost #尝试本地登陆
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost #再无需密码
~的含义:代表的是用户的主文件夹,即/home
3. 安装JDK
3.1安装openJDK
sudo apt install openjdk-8-jdk
3.2 配置JAVA_HOME环境变量
#找到JDK的安装路径:示例:/usr/lib/jvm/java-8-openjdk-amd64
vim ~/.bashrc
export JAVA_HOME=JDK的安装路径 #在文件的最上面单独添加一行
source ~/.bashrc #使配置生效
echo $JAVA_HOME #检验变量值
java -version
4. 安装Hadoop3.x
4.1下载Hadoop-3.2.1
wget http://mirror.bit.edu.cn/apache/hadoop/common/stable2/hadoop-3.2.1.tar.gz
4.2 解压Hadoop至/usr/local
sudo tar -zxf hadoop-3.2.1.tar.gz -C /usr/local #解压到local中
cd /usr/local
sudo chown -R hadoop:hadoop hadoop-3.2.1/ #修改文件夹的权限
cd hadoop-3.2.1/
./bin/hadoop version #测试是否可用
4.3 添加Hadoop到环境变量
#找到Hadoop的目录:/usr/local/hadoop-3.2.1
vim ~/.bashrc
export JAVA_HOME=JDK的安装路径
export HADOOP_HOME=/usr/local/hadoop-3.2.1
export HADOOP_conF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
wq! #保存并退出
source ~/.bashrc #使配置生效
hadoop -version #测试
5.Hadoop伪分布式配置
rm 文件名
rm -r 非空目录
rm -d 空目录
5.1 修改配置文件core-site.xml
vim /usr/local/hadoop-3.2.1/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-3.2.1/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
5.2 修改配置文件hdfs-site.xml
vim /usr/local/hadoop-3.2.1/etc/hadoop/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-3.2.1/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-3.2.1/tmp/dfs/data</value>
</property>
</configuration>
5.3 执行NameNode的格式化
cd /usr/local/hadoop-3.2.1
./bin/hdfs namenode -format
5.4 开启NameNode和DataNode守护进程
cd /usr/local/hadoop-3.2.1
./sbin/start-dfs.sh #开启命令 ./sbin/stop-dfs.sh 关闭进程命令
jps #如果出现进程"NameNode"、"DataNode"、"SecondarryNameNode"则表示成功开启
5.5 可以访问本地9870端口查看NameNode和DataNode信息等
5.6 YARN配置
5.6.1 修改配置文件mapred-site.xml
cd /usr/local/hadoop-3.2.1
mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml #如果不是为xml
vim ./etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.6.2 修改配置文件yarn-site.xml
vim ./etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5.6.3启动YARN
#需要先执行./sbin/start-dfs.sh
./sbin/start-yarn.sh #启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver #开启历史服务器,才能在Web中查看任务运行情况
jps #可以看到比之前多了NodeManager和ResourceManager