hadoop集群配置
程序员文章站
2022-06-08 16:44:57
...
有三台机子: 192.168.1.100 node1 master 192.168.1.101 node2 slaves 192.168.1.102 node3 slaves 这是我配置hadoop分布式集群的步骤,如有问题,请指正。 一. 开通ssh,开机自启动,因为hadoop通过SSH通信 root用户:service sshd start chkconfig sshd on reboot 重启 二.添加用户组和用户 hadoop groupadd hadoop adduser -g hadoop hadoop 三.修改HOST 修改2个文件: 1./etc/hosts 192.168.1.100 node1 192.168.1.101 node2 192.168.1.102 node3 2./etc/sysconfig/network,修改 四.配置SSH无密码登陆各机器 我们现在要实现在node1上用hadoop用户可以ssh不输密码直接连通 node2,node3。 切换到hadoop用户 # su hadoop 然后写命令:# ssh-keygen -t rsa,一直回车, 这样就会在当前用户的根目录/.ssh/下生成一对密钥, # cp id_rsa.pub authorized_keys # ssh localhost 看是否能连通本机。第一次登陆会提示Are you sure you want to continue connecting (yes/no)? 回答yes # scp authorized_keys hadoop@node2:~/.ssh/ # scp authorized_keys hadoop@node3:~/.ssh/ # ssh node2 # ssh node3 注:有时候把公钥copy过去也无效,老是让输入密码,这个的原因之一是处于安全问题,需要改变下权限: 到node2和node3的hadoop目录下 //usr/hadop/.ssh/ chmod 600 authorized_keys chmod 700 -R .ssh 五.安装JAVA # mkdir /usr/local/java # cd /usr/local/java # cp jdk-6u22-linux-i586.bin ./ # chmod +x jdk-6u22-linux-i586.bin # ./jdk-6u22-linux-i586.bin # vim /etc/profile,在这个文件末尾配置java的环境变量 export JAVA_HOME=/usr/home/jdk1.6.0_13 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 立即生效 # source /etc/profile # java -version java version "1.6.0_13" Java(TM) SE Runtime Environment (build 1.6.0_13-b03) Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing),提示这些信息,java安装成功 六.安装hadoop 下载hadoop-0.20.203.0rc1.tar.gz # tar zxvf hadoop-0.20.203.0rc1.tar.gz 在当前目录生成 hadoop-0.20.203.0 目录 配置环境变量: # vi /etc/profile export HADOOP_HOME=/usr/home/hadoop/hadoop-0.20.203.0 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH 修改目录权限: chgrp hadoop hadoop-0.20.203.0 chown -R hadoop:hadoop hadoop-0.20.203.0 # cd hadoop-0.20.203.0/conf目录 开始配置hadoop # vi master node1 # vi slaves node2 node3 # vi hadoop-env.sh export JAVA_HOME=/usr/home/jdk1.6.0_13 # vi core-site.xml <property> <name>fs.default.name</name> <value>hdfs://node1:9000</value> </property> <property> <name>webinterface.private.actions</name> <value>false</value> <final>true</final> <desc>这个参数实际上就是为了方便测试用。允许在web页面上对任务设置优先级以及kill任务</desc> </property> <property> <name>fs.trash.interval</name> <value>1440</value> <final>true</final> <desc>trash机制,当你删除DFS上的文件或目录时,会自动mv到当前用户的.Trash目录,保留时长1440分钟</desc> </property> # vi hdfs-site.xml <property> <name>dfs.name.dir</name> <value>/home/hadoop/NameData</value> <desc>数据存放目录</desc> </property> <property> <name>dfs.permissions</name> <value>true</value> <desc>操作dfs文件时,权限验证</desc> </property> <property> <name>dfs.replication</name> <value>2</value> <desc>数据备份数</desc> </property> # vi mapred-site.xml <property> <name>mapred.job.tracker</name> <value>192.168.239.132:9001</value> </property> # hadoop namenode -format 格式化 # bin/start-all.sh 启动
上一篇: hadoop集群配置