Ubuntu 下Hadoop集群安装
(今天终于把word count跑通了,奇迹,以前每次reduce都是跑到16%就停了,至今不知道是什么原因。)
首先准备操作系统环境:
1.我是在虚拟机下玩的,所以先安装一台虚拟机,然后再复制两台出来。(此处省略)
2.安装java环境。通过sudo apt-get install openjdk 或者到官网上下载rpm包都可以,但是ubuntu不能装rpm包,还要下一个工具,具体百度吧。
3.添加java的环境变量 sudo vim /etc/profile
在文件末尾添加上 export JAVA_HOME=/... 你的java根目录
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar 好像就是这两个吧
4.添加hadoop用户和用户组 先添加用户组: addgroup hadoop
再添加用户: adduser -ingroup hadoop hadoop
修改hadoop用户的权限: sudo vim /etc/sudoers
在root ALL=(ALL) ALL下面添加一行
hadoop ALL=(ALL) ALL
将hadoop用户添加到前面安装java的用户组里面去
usermod -a -G xxxGroup hadoop
5.修改机器的host文件
sudo vim /etc/hosts
masterip master
slave1ip slave1
slave2ip slave2
6.安装ssh
sudo apt-get install openssh-server
7.配置hadoop账号的ssh无密码登录
见另一篇博文
8.远程执行命令 ssh hadoop@slave1 "command"
9.远程拷贝 scp -P 端口 local-dir hadoop@slave1:/hadoopdir/
10.配置hadoop
hadoop-env.sh 添加jdk的路径export JAVA_HOME=/usr/lib/jvm/
11.core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master ip:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/temp</value>
</property>
12. mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master ip:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/hadoop/temp</value> // 同样是个临时文件夹
</property>
13. hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name1, /home/hadoop/name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data1, /home/hadoop/data2</value>
</property>
<property>
<name>dfs.replication </name>
<value>3</value>
</property>
14.修改conf/masters, conf/slaves两个文件
把对应的master 和 slave 主机别名写入对应的文件。
将主机上的hadoop整个文件夹scp到slave机器上
(今天终于把word count跑通了,奇迹,以前每次reduce都是跑到16%就停了,至今不知道是什么原因。)
首先准备操作系统环境:
1.我是在虚拟机下玩的,所以先安装一台虚拟机,然后再复制两台出来。(此处省略)
2.安装java环境。通过sudo apt-get install openjdk 或者到官网上下载rpm包都可以,但是ubuntu不能装rpm包,还要下一个工具,具体百度吧。
3.添加java的环境变量 sudo vim /etc/profile
在文件末尾添加上 export JAVA_HOME=/... 你的java根目录
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar 好像就是这两个吧
4.添加hadoop用户和用户组 先添加用户组: addgroup hadoop
再添加用户: adduser -ingroup hadoop hadoop
修改hadoop用户的权限: sudo vim /etc/sudoers
在root ALL=(ALL) ALL下面添加一行
hadoop ALL=(ALL) ALL
将hadoop用户添加到前面安装java的用户组里面去
usermod -a -G xxxGroup hadoop
5.修改机器的host文件
sudo vim /etc/hosts
masterip master
slave1ip slave1
slave2ip slave2
6.安装ssh
sudo apt-get install openssh-server
7.配置hadoop账号的ssh无密码登录
见另一篇博文
8.远程执行命令 ssh hadoop@slave1 "command"
9.远程拷贝 scp -P 端口 local-dir hadoop@slave1:/hadoopdir/
10.配置hadoop
hadoop-env.sh 添加jdk的路径export JAVA_HOME=/usr/lib/jvm/
11.core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master ip:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/temp</value>
</property>
12. mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master ip:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/hadoop/temp</value> // 同样是个临时文件夹
</property>
13. hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name1, /home/hadoop/name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data1, /home/hadoop/data2</value>
</property>
<property>
<name>dfs.replication </name>
<value>3</value>
</property>
14.修改conf/masters, conf/slaves两个文件
把对应的master 和 slave 主机别名写入对应的文件。
将主机上的hadoop整个文件夹scp到slave机器上