##### ####安装hadoop完全分布式集群 ##### ####文件及系统版本: #### hadoop-1.2.1 Java version 1.7.0_79 centos 64位 ####预备 #### 在/home/hadoop/下:mkdir Cloud 把java和hadoop安装包放在/home/hadoop/Cloud下 ####配置静态ip #### master 192.168.116.100 slave1 192.168.116.110 slave2 192.168.116.120 ####修改机器相关名称(都是在root权限下) #### su root vim /etc/hosts 在原信息下输入:(空格+tab) master 192.168.116.100 slave1 192.168.116.110 slave2 192.168.116.120 vim /etc/hostname master shutdown -r now (重启机器) vim /etc/hostname slave1 shutdown -r now vim /etc/hostname slave2 shutdown -r now ####安装openssh #### su root yum install openssh ssh-keygen -t rsa 然后一直确认 把slave1和slave2的公钥发给master: scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:~/.ssh/slave1.pub scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:~/.ssh/slave2.pub 在master下: cd .ssh/ cat id_rsa.pub >> authorized_keys cat slave1.pub >> authorized_keys cat slave2.pub >> authorized_keys 把公钥包发给slave1和slave2: scp authorized_keys hadoop@slave1:~/.ssh/ scp authorized_keys hadoop@slave2:~/.ssh/ ssh slave1 ssh slave2 ssh master 相应的输入yes 到这里ssh无密码登录配置完成 ####设计JAVA_HOME HADOOP_HOME #### su root vim /etc/profile 输入: export JAVA_HOME=/home/hadoop/Cloud/jdk1.7.0_79 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=/home/hadoop/Cloud/hadoop-1.2.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 然后source /etc/profile ####配置hadoop文件 #### 在/home/hadoop/Cloud/hadoop-1.2.1/conf下 vim masters 输入: master vim slaves 输入: master slave1 slave2 vim hadoop-env.sh 输入: export JAVA_HOME=/home/hadoop/Cloud/jdk1.7.0_79 export HADOOP_HOME_WARN_SUPPRESS="TRUE" 然后source hadoop-env.sh vim core-site.xml 输入: ###################################core <configuration> <property> <name>io.native.lib.avaliable</name> <value>true</value> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> <final>true</final> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/Cloud/workspace/temp</value> </property> </configuration> ############################core vim hdfs-site.xml ##############################hdfs <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/Cloud/workspace/hdfs/data</value> <final>true</final> </property> <property> <name>dfs.namenode.dir</name> <value>/home/hadoop/Cloud/workspace/hdfs/name</value> </property> <property> <name>dfs.datanode.dir</name> <value>/home/hadoop/Cloud/workspace/hdfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration> ##################################hdfs vim mapred-site.xml ####################################mapred <configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> </configuration> ######################################mapred 到这里hadoop配置完成 把hadoop发送到slave1和slave2 scp -r hadoop-1.2.1 hadoop@slave1:~/Cloud/ scp -r hadoop-1.2.1 hadoop@slave2:~/Cloud/ ########现在可以启动hadoop啦 ######## 首先格式化namenode hadoop namenode -format (由于前面设计了hadoop-env.sh和系统环境,所以在任意目录下都可以执行) 查看日志没错的话往下 start-all.sh 然后 完整的的话会出现: [hadoop@master ~]$ jps 8330 JobTracker 8452 TaskTracker 8246 SecondaryNameNode 8125 DataNode 8000 NameNode 8598 Jps [hadoop@master ~]$ ssh slave1 Last login: Thu Jan 12 07:08:06 2017 from master [hadoop@slave1 ~]$ jps 3885 DataNode 3970 TaskTracker 4078 Jps [hadoop@slave1 ~]$ ssh slave2 Last login: Thu Jan 12 07:20:45 2017 from master [hadoop@slave2 ~]$ jps 2853 TaskTracker 2771 DataNode 2960 Jps 至此,hadoop完全分布式配置完成。 下面是hadoop的浏览器端口号: localhost:50030/ for the Jobtracker localhost:50070/ for the Namenode localhost:50060/ for the Tasktracker 从此走上大数据这条不归路。。。
转载于:https://blog.51cto.com/10710016/1891505