hadoop配置说明

hadoop集群搭建:
一、下载安装所需要的文件
jdk(一般linux自带jdk,是可以用的)
hadoop二进制版(源码的安装方式不同,会更加复杂一些)
服务器
二、安装jdk
将下载好的jdk安装包放在指定位置下,位置可以自己指定,要明白环境变量的意义,放在那都是可以的,环境变量里一般配置是放了绝对路径的,环境变量的作用就是你可以在主界面下直接调用已经配置好的程序,不需要再找到文件所在位置去执行,不过放的时候,尽量选择指定的文件,后期维护的时候,只要文件不乱就可以的
环境变量配置:
jdk解压后,将jdk所在位置放到配置文件中,配置文件有两个,选择其中的一个就行(不要有选择困难症,已经验证过了的,两个文件任何一个都是可以的,对于一般的开发者而言,并没有区别),/root/.bash_profile 或/etc/profile
使用vi /etc/profile 会打开文件,进入文件后找到任意位置进行配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
配置完成后为了让文件有效,执行source /etc/profile即可(注:在路径中,我已经在etc的前边添加了/,所以无论你当前在什么路径下都是可以执行的,这是linux的使用,基础使用,不要去纠结到底要在那执行)
三、解压hadoop
hadoop安装文件上传后,进行解压,解压的代码好像没有发(tar -zxvf 指定文件)
如果你在解压的时候,不是在指定文件夹下,那么你解压之后使用mv的方式将解压后的文件移动到你想要的文件夹下即可,所有的系统其实都只是文件而已,许多文件在运行,构成了系统,所以在使用的时候,我们要明白,不同的文件,移动位置一般不会带来影响,除非说文件的路径在系统变量中写死了,这种情况不可以随意移动外(如果你把环境变量中的路径也进行更改,那么也是可以移动的),其实的都可以的
四、配置env文件
分别在httpfs-env.sh,mapred-env.sh,yarn-env.sh文件中添加java_home环境变量,在这里添加的java_home环境变量到jdk就可以了
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
在hadoop-env.sh文件中添加java_home和hadoop_home
java_home和上述一致,hadoop_home也到版本包就可以了,可以从根目录下开始写起,如
HADOOP_HOME=/usr/local/hadoop/hadoop322
这里我的是hadoop322是因为我对解压后的文件进行了重命名
五、配置core-site.xml(下述两个配置是核心配置)
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    <description>指定namenode的地址</description>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/hadoop322/tmp</value>
    <description>用来指定hadoop_home产生文件的存放目录</description>
</property>
六、配置hdfs-site.xml(注:存储的位置是指定的,可以任意新建,然后将地址指向即可)
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/local/hadoop/hadoop322/hdfs/name</value>
    <description>指定hdfs中namenode的地址</description>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/hadoop/hadoop322/hdfs/data</value>
    <description>用来指定hdfs中datanode的存储位置</description>
</property>
<property>
    <name>dfs.replication</name>
    <value>3</value>
    <description>用来指定hdfs保存数据的副本数量</description>
</property>
<property>
    <name>dfs.secondary.http.address</name>
    <value>节点ip:9001</value>
    <description>secondary namenode节点信息设置</description>
</property>
<property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    <description>用来指定hdfs保存数据的副本数量</description>
</property>
七、配置mapred-site.xml(这里只是进行了最基础的配置,详细配置与说明可以搜索一下,目前没有用到,所以一些功能的说明会有一些看不太懂,所以不做过多的解释)
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description></description>
</property>
八、配置yarn-site.xml
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>10.136.34.191</value>
    <description>指定master的ip</description>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>10.136.34.191:8088</value>
    <description>指定来源</description>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description></description>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    <description></description>
</property>
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
    <description></description>
</property>
九、配置workers
文件作用就是指定datanode的说明,将datanode对应服务器的ip放置进去即可
十、hadoop同步
使用scp -r的方式,将hadoop整个文件夹复制到从服务器中
scp -r /usr/local/hadoop root@目标ip:/usr/local
执行即可
十一、格式化hadoop
在hadoop的bin目录下执行
hdfs namenode -format
注:启动hdfs后,通过jps命令发现datanode未启动,原因可能如下:
datanode存储位置,即在hdfs-site.xml中指定的datanode位置,,在其中找到current/VERSION文件,其中的clusterID对应的值与namenode中current/VERSION文件中的clusterID值不对应,原因是进行了多次的格式化操作。解决方案就是复制一下,让其值相等即可,而且还要和从节点中的值也要保持一致

按照上述方式进行配置后会出现的一个问题是:配置了三个datanode(包含master),但是在web界面只显示了一个,原因是/etc/hosts文件中未进行配置,补充配置即可
vi /etc/hosts
向其中添加每台机器的Ip 和机器名即可,可随意命名。如:
ip1 master
ip2 slave1
ip3 slave2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值