Hadoop 阿里云ecs服务器部署[202107]
一、Jdk安装
1.JDK1.8安装(查看是否已安装其他jdk,需先卸载)
wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
2.解压
tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
3.移动jar并重名
mv java-se-8u41-ri/ /usr/java8
4.配置java环境变量
echo 'export JAVA_HOME=/usr/java8' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
5.验证是否安装成功
java -version
javac
展示如上信息则安装成功
二、Hadoop安装
1.下载hadoop
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
2.解压Hadoop安装包至 /opt/hadoop,并修改名称
tar -zxvf hadoop-3.3.0.tar.gz -C /opt/
mv /opt/hadoop-3.3.0 /opt/hadoop
3.配置环境变量
echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile
4.修改配置文件yarn-env.sh 和 hadoop-env.sh
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh
5.验证是否安装成功
hadoop version
6.修改Hadoop配置文件core-site.xml
vim /opt/hadoop/etc/hadoop/core-site.xml
在节点内插入如下内容
<property>
<!--用来指定使用hadoop时产生文件的存放目录-->
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/tmp</value>
<description>location to store temporary files</description>
</property>
<!--指定namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
7.修改Hadoop配置文件 hdfs-site.xml
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
在节点内插入如下内容
<property>
<!--指定hdfs保存数据的副本数量-->
<name>dfs.replication</name>
<value>1</value>
</property>
<!--指定hdfs中namenode的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/tmp/dfs/name</value>
</property>
<!--指定hdfs中datanode的存储位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/tmp/dfs/data</value>
</property>
8.配置免密登陆1
ssh-keygen -t rsa
一路点击enter,如下图则生成成功
把公钥添加到authorized_keys
cd /root/.ssh
cat id_rsa.pub >> authorized_keys
9.启动hadoop
9.1 初始化namenode
hadoop namenode -format
9.2 给root用户赋权,要不然不能执行start-hfs.sh和start-yarn.sh详见
vi /opt/hadoop/etc/hadoop/hadoop-env.sh
添加如下命令
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
9.3 启动hadoop
启动hdfs
start-dfs.sh
start-yarn.sh
jps查看进程
jsp
9.4 浏览器访问haoop[hadoop3.x修改了部分端口]
http://<ECS公网IP>:8088 和 http://<ECS公网IP>:9870
三、小工具
yum install lrzsz
访问失败请查看安全组是否开放了相应端口
在Hadoop启动以后,namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式
生成公钥和私钥 ↩︎