一.Hadoop的搭建与配置(所有配置集群全部需要配置)
1.环境配置要求
1.Centos7(本机ip 10.0.0.37(配置时注意修改!!!))
2.jdk1.8.0_261-i586
3.hadoop 3.1.4
2.设置机器名称,在任意一台机器Centos7上修改域名映射
1.使用hostname命令查看本机名称。
2.
vi /etc/hosts
域名映射
- 使用scp命令发送其他克隆机上 scp /etc/hosts root@目标IP地址:/etc/hosts
3. 给每台机器生成密钥文件
1.确认生成:
ssh-keygen
2.把每一台机器的密钥都发送到主节点上(包括自己,每个节点都需要执行该命令)
ssh-copy-id root@IP地址
3.在每一台机器上测试是否免密
4. 安装jdk
1.在opt目录下创建jdk目录。
2.导入jdk安装包并安装。
yum install ld-linux.so.2
rpm -ivh jdk-8u261-linux-i586.rpm
3.配置环境变量
#jdk
export JAVA_HOME=/usr/java/jdk1.8.0_261-i586
export PATH=$JAVA_HOME/bin:$PATH
4.保存并退出,刷新修改后的配置文件。
source /etc/profile
5.检查是否安装成功
java -version
java
javac
5. 安装Hadoop
1.在opt目录下创建hadoop目录。
cd /hadoop
2.导入hadoop安装包。
3.配置jhadoop环境变量
#hadoop
export HADOOP_HOME=/opt/modules/hadoop-3.1.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
4.保存并退出,刷新修改后的配置文件。
source /etc/profile
5.修改etc/hadoop中的配置文件
注:除了个别提示,其余文件只用修改10.0.0.37的即可
- 修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<!-- 注意别的slave机需要识别master主机名,否则将不能与主机hdp-01沟通 -->
<value>hdfs://10.0.0.37:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!-- 以下为存放临时文件的路径 -->
<value>/opt/hadoop/hadoop-3.1.1/data/tmp</value>
</property>
</configuration>
- 6.修改hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_261-i586
- 7.修改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<!-- hserver1 修改为你的机器名或者ip -->
<value>10.0.0.37:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/name</value>
</property>
<property>
<name>dfs.replication</name>
<!-- 备份次数 -->
<value>1</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/data</value>
</property>
</configuration>
- 8.修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 9.修改yarn-site.xml文件(只需修改10.0.0.37即可)
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>10.0.0.37</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</propert