设为首页 收藏本站
查看: 1651|回复: 0

[经验分享] Hadoop集群搭建手册

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-28 09:08:15 | 显示全部楼层 |阅读模式
1 环境准备
A 机器/ip准备 4台虚拟机,Centos6.4系统
   vim /etc/sysconfig/network,修改对应的hostname分别为namenode,datanode1,datanode2,datanode3
   并将下面的内容写入每台机器的/etc/hosts
   192.168.247.129 namenode
   192.168.249.130 datanode1
   192.168.249.131 datanode2
   192.168.249.132 datanode3


B 建立用户(组)及数据目录
建立用户及用户组
   groupadd hadoop
   useradd -g hadoop hadoop
修改权限
   chmod u+w /etc/sudoers
   vim /etc/sudoers  找到root  ALL=(ALL:ALL) ALL,在其下面加入 hadoop  ALL=(ALL:ALL) ALL
   chmod u-w /etc/sudoers
建立相应目录
   namenode
       mkdir /data/hadoop
       mkdir /data/hadoop/name
       mkdir /data/hadoop/tmp
       chown -R hadoop:hadoop /data/hadoop
   datanode
       mkdir /data/hadoop
       mkdir /data/hadoop/data
       mkdir /data/hadoop/tmp
       chown -R hadoop:hadoop /data/hadoop


C 配置ssh免密钥
让各机器之间能ssh免密钥登录,注意是针对hadoop用户。
---------以下操作,每台机器都进行-----------------—-
su hadoop
cd        #切到用户目录
ssh-keygen -t rsa  #一路回车即可
------------------------------------------------
上面的操作将会在~/.ssh目录下生成id_rsa私钥和id_rsa.pub公钥文件
将所有机器的id_rsa.pub文件里面的公钥串拷贝到~/.ssh/authorized_keys文件中
然后将authorized_keys分发到各台机器的~/.ssh/目录中。
测试验证……


D 安装jdk
cd /usr/java    #没有java文件夹 新建一个
下载jdk-8u5-linux-x64.rpm jdk文件到此目录下,注意jdk版本需要1.6及以上。
rpm -ivh jdk-8u5-linux-x64.rpm


将下面加入到/etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


执行source /etc/profile
java -version 测试


2 hadoop配置及安装
A下载安装
    官网放出的安装版本都针对32位系统的,所以要注意如果你的系统是64位,需要在64位系统下重新编译安装包。
    http://down./data/1078830 这里有编译好的64位的版本。


    解压安装包,并将其移到/usr/local中
    tar zxvf hadoop-2.2.0.gz
    mv hadoop_xx /usr/local/
    chown -R hadoop:hadoop /usr/local/hadoop-2.2.0


B 在namenode上修改配置文件
  su hadoop
  cd /usr/local/hadoop/etc/hadoop


  vim hadoop-env.sh 修改JAVA_HOME
  export JAVA_HOME=/usr/java/jdk1.8.0_45


  core-site.xml
  <configuration>
    <property>
        <name>fs.default.name</name> //namenode的配置,机器名加端口;
        <value>hdfs://192.168.247.129:11111</value>
    </property>
  </configuration>
  
  mapred-site.xml
  <configuration>
    <property>
       <name>mapred.job.tracker</name> //JobTracker的配置,机器名加端口;
       <value>namenode:11112</value>
    </property>
  </configuration>


  hdfs-site.xml
  <configuration>
<property>
   <name>dfs.replication</name>
   <value>3</value>
</property>
<property>
   <name>dfs.name.dir</name> //Namenode持久存储名字空间及事务日志的本地文件系统路径;
   <value>/data/hadoop/name</value>
</property>
<property>
   <name>hadoop.tmp.dir</name> //Hadoop的默认临时路径是在/tmp下,最好进行配置,如果不配
   <value>/data/hadoop/tmp/</value>//置,机器重启后需要执行NameNode格式化的命令;
</property>
  </configuration>


  vim masters  
  192.168.247.129


  vim slaves
  192.168.249.130
  192.168.249.131
  192.168.249.132
  注:masters文件用于指定secondary的主机而不是namenode,slaves用于指定datanode和tasktracker,


C 将程序文件拷入到各个datanode中
  su root
  cd /usr/local
  scp -rp hadoop-xx root@192.168.247.130:/usr/local
  
  root登录到datanode,修改程序文件用户
  chown -R hadoop:hadoop /usr/local/hadoop-2.2.0


  su hadoop
  cd /usr/local/hadoop-2.2.0/etc/hadoop
  修改hdfs-site.xml
  <property>
    <name>dfs.data.dir</name> //DataNode存放块数据的本地文件系统路径,逗号分隔的列表
    <value>/data/hadoop/data</value> //注意不同之处在此
  </property>


3 hadoop运行
  cd /usr/loca/hadoop-2.2.0/bin
  ./hadoop namenode -format  #如果有报错,请处理
  cd /usr/local/hadoop-2.2.0/sbin
  ./start_all.sh


  开始运行后通过网页的可以查看相关信息
  http://192.168.247.129:50070
  http://192.168.247.129:50030


  jps  #java自带查看进程的命令


4 hdoop执行测试任务
su hadoop
cd /home/hadoop/
mkdir input
echo ‘hello world’ > input/test1.txt #准备数据
echo ‘hello hadoop’ > input/test2.txt


/usr/local/hadoop-2.2.0/bin/hdfs dfs -put input/ /in #导入数据


/usr/local/hadoop-2.2.0/bin/hdfs dfs -ls /
/usr/local/hadoop-2.2.0/bin/hdfs dfs -ls /in/
/usr/local/hadoop-2.2.0/bin/hadoop jar /usr/local/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /in /out #执行job



/usr/local/hadoop-2.2.0/bin/hdfs dfs -ls /out/
/usr/local/hadoop-2.2.0/bin/hdfs dfs -cat /out/*
hadoop1
hello2
world1


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19800-1-1.html 上篇帖子: 如何从Hadoop安全模式中进入正常模式 下篇帖子: hadoop备战:hadoop,hbase兼容版本号汇总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表