hadoop搭建

搭建hadoop集群
先安装jdk 配置好环境变量,环境变量统一配置再  vi ~/.bashrc   这个里面
准备三台虚拟机
192.168.6.128 master
192.168.6.129 slver1
192.168.6.130 slver2
三台都要配置

首先要ssh免密登录
ssh-keygen -t rsa
分别在三台服务器上执行   先看你是什么用户执行的  如果是root都用root用户执行
我现在用的就是root用户执行
敲回车 如果有问题选择Y 
然后再/root/.ssh/  下会生成id_rsa--私钥, id_rsa.pub--公钥
分别把公钥放到其余两台服务器的authorized_keys---(如果没有就创建这样的一个文件)中本机的也要放进去
保存
然后  ssh root@192.168.6.129 如果进去了  就说明配置正确。
重点,没完成好一个搭建,必须要验证测试是否正确


然后下载hadoop,我这下载的是hadoop-2.7.1 要什么版本自己去百度搜
把hadoop都装在/usr/local/tool/ 这个目录下----所有的软件都装在这个下面,如jdk hadoop zookeeper kafka 等 ,方便管理
然后配置hadoop环境变量,
export JAVA_HOME=/usr/local/tool/jdk1.8.0_11
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/tool/hadoop-2.7.1/    ----------这个改成你的版本
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:/usr/local/lib:$HADOOP_HOME/lib/native

配置好环境变量之后  source ~/.bashrc
进入到hadoop的目录  root@master:/usr/local/tool/hadoop-2.7.1#
 cd etc/hadoop/
 ls  
 你就会看到很多配置文件
 我们需要修改几个配置文件
 hadoop-env.sh 
 yarn-env.sh
 core-site.xml
 hdfs-site.xml
 mapred-site.xml  ---没有这个文件,就 mv mapred-site.xml.template mapred-site.xml
 yarn-site.xml
 slaves
 首先修改
 vi hadoop-env.sh  
  export JAVA_HOME=/usr/local/tool/jdk1.8.0_11
  vi yarn-env.sh
   export JAVA_HOME=/usr/local/tool/jdk1.8.0_11
把java——home 放进去,为了保证hadoop能随时找到jdk
然后修改
core-site.xml
 <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/temp</value>
        </property>
         
 放到<configuration> 标签中 
  
  
  
  vi hdfs-site.xml
 <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master:9001</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>  <!-- 这个是备份数-->
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
        <property>
                <name>dfs.web.ugi</name>
                <value>supergroup</value>
        </property>
 
vi mapred-site.xml
       <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>
 vi yarn-site.xml
  <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>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>master:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>master:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>master:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>master:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>master:8088</value>
        </property>
        
        
 vi slaves
 从机的主机名称 或者ip 一个一行,不可以一行写多个
 然后把hadoop 整个复制到从机的目录
 scp -r /usr/local/tool/hadoop-2.7.1 root@192.168.6.129:/usr/local/tool/
 ./bin/hadoop namenode -format  格式化 namenode 
 提示:successfully formatted表示格式化成功
 主节点上/sbin/start-all.sh  然后用jps查看进程
 主 
NameNode
SecondaryNameNode
ResourceManager


DataNode
NodeManager
50070 hdfs web
8088 yarn web 

启动成功之后验证一下 上传文件 创建目录,然后执行一下mapreduce的一个demo
创建一个文件wordcountTestData.text
hello world
hello hello
hello hello
china world
china

hadoop dfs -mkdir /input
hadoop dfs -mkdir /output
hadoop dfs -put /opt/hadoop/input/wordcountTestData.txt /input/wordcountTestData.txt
 hadoop jar /usr/local/tool/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar /input/wordcountTestData.txt /output/wordcountResult-fake-cluster
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值