关闭页面特效

Hadoop环境搭建(centos)

1|0Hadoop环境搭建(centos)


本平台密码83953588abc

1|1配置Java环境


  • 下载JDK(本实验从/cgsrc 文件中复制到指定目录)
mkdir /usr/local/java cp /cgsrc/jdk-8u171-linux-x64.tar.gz /usr/local/java/

JDK至少1.8以上!!!

  • 解压JDK安装包
cd /usr/local/java tar -zxvf jdk-8u171-linux-x64.tar.gz rm -f jdk-8u171-linux-x64.tar.gz
  • 添加环境变量

配置JAVA_HOME环境变量。修改文件vim ~/.bashrc

export JAVA_HOME=/usr/local/java/jdk1.8.0_171 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar export PATH=$PATH:${JAVA_HOME}/bin

如果PATH环境变量修改错误,则可能出现Linux常用命令无法找到的现象!!!

使修改环境生效,source ~/.bashrc.

检查是否设置正确.

echo $JAVA_HOME #检查变量值 java -version #查看java版本

1|2配置分布式模式


选定一台机器作为名称节点(Master),另外两条作为数据节点(Slave)。

1|3配置hosts文件


在Master上修改/etc/hosts文件:

使用命令vim /etc/hosts

ip1 master ip2 slave1 ip3 slave2

测试节点之间是否已经联通:

ping master -c 3 ping slave1 -c 3 ping slave2 -c 3

1|4配置SSH无密码登录


  • 必须要让master节点可以SSH无密码登录到各个节点上。首先,生成master节点的公匙,如果之前已经生成过公匙,必须删除原来的公匙,重新生成一次,命令如下:
cd ~/.ssh #如果没有该目录,先执行一次ssh localhost rm -f ./id_rsa* #删除之前生成的公匙 ssh-keygen -t rsa #执行该命令后,遇到提示信息,均按Enter即可。
  • 为了让master节点能无密码SSH登录到本机,需要在mater节点上执行如下 cat ./id_rsa.pub >> ./authorized_keys.

    检测是否成功,ssh master ,遇到提示信息,yes即可, exit退出。

  • 把master上的公匙传输到slave节点:

scp ~/.ssh/id_rsa.pub root@slave1:/root scp ~/.ssh/id_rsa.pub root@slave1:/root

其中本次实验平台,要把slave1、slave2换成相应的IP。

  • 传输完成后在slave1和slave2节点上将SSH公匙加入授权:
mkdir ~/.ssh cat ~/id_rsa.pub >> ~/.ssh/authoried_keys rm -f ~/id_rsa.pub

1|5配置环境变量


  • 将Hadoop安装包复制到/usr/local目录上:

    cp /cgsrc/hadoop-2.7.1.tar.gz /usr/local/

  • 解压

cd /usr/local tar -zxvf hadoop-2.7.1.tar.gz rm -f hadoop-2.7.1.tar.gz mv hadoop-2.7.1/ hadoop #将hadoop-2.7.1重命名为hadoop
  • 配置环境变量
    • 打开~/.bashrc文件

      vim ~/.bashrc
    • 输入以下内容

      export PATH=$PATH:/usr/1ocal/hadoop/bin:/usr/1ocal/hadoop/sbin
    • 文件生效

      source ~/.bashrc
    • 查看hadoop版本

      hadoop version

1|6配置集群环境


配置集群环境时,需要修改/usr/local/hadoop/etc/hadoop目录下的配置文件,这里仅设置正常启动必须的设置项,包括slaves、core-site.xml、hdfs
-site.xml、mapred-site.xml、yarn-site.xml共五个文件。

  • 修改文件slaves

    需要把所有数据节点的主机名写入该文件,每行一个,默认为localhost
    (即把本机作为数据节点)。在进行集群配置时,可以保留localhost,让master节点同时充当名称节点和数据节点,也可以删除localhost这行,让master节点仅作为名称节点使用。
    本节让master节点仅作为名称节点使用,因此将slaves文件中原来的内容删除,添加如下内容:

    slave1

    slave2
  • 修改文件core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/1ocal/hadoop/tmp</value> </property> </configuration>
  • 修改文件hdfs-site.xml

    对于Hadoop的分布式文件系统HDFS而言,一般是采用元余存储,冗余因子一般是3,也就是说一份数据保存3份副本。而我们只有两个数据节点,即数据只能保存两份,所以,dfs.replication设置为2,文件具体内容如下:
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/1ocal/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/1ocal/hadoop/tmp/dfs/date</value> </property> </configuration>
  • 修改文件mapred-site.xml

    /usr/local/hadoop/etc/hadoop 目录下有一个mapred-site.xml.template,需要复制该文件为mapred-site.xml:

    cp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
  • 修改文件yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>

1|7配置slave节点


将master节点上的/usr/local/hadoop复制到slave节点上。

cd /usr/local rm -rf ./hadoop/tmp #删除临时文件 rm -rf ./hadoop/1ogs/* #删除日志文件 tar -zcf ~/hadoop.master.tar.gz. /hadoop #先压缩再复制 cd ~ scp ./hadoop.master.tar.gz root@slave1: /root scp ./hadoop.master.tar.gz root@slave2: /root

在slave1和slave2上执行如下命令:

rm -rf usr/local/hadoop #如果有旧文件则先删除 tar -zxf ~/hadoop.master.tar.gz -C /usr/1ocal rm -f ~/hadoop.master.tar.gz

1|8启动Hadoop集群


  • 首次启动Hadoop集群时,需要先在master节点执行名称节点的格式化:
    hdfs namenode-format
  • 现在可以启动Hadoop了,启动需要在master节点上进行,执行如下命令:
start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver

__EOF__

作  者SmithBee 嘿嘿
出  处https://www.cnblogs.com/SmithBee/p/12755990.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   SmithBee  阅读(476)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示