首先在虚拟机中安装了Ubuntu14.04LTS
前期工作:
更新源、更新安装vim、安装vmtools工具、安装中文输入法
sudo apt-get update
sudo apt-get install vim
安装vmware tools时提示找不到linux header 的路径:
执行以下步骤:
sudo apt-get update sudo apt-get install build-essential sudo apt-get install linux-headers-$(uname -r) cd /lib/modules/$(uname -r)/build/include/linux sudo ln -s ../generated/utsrelease.h sudo ln -s ../generated/autoconf.h sudo ln -s ../generated/uapi/linux/version.h 再次运行sudo ./vmware-install.pl
在英文版Ubuntu14.04中安装中文输入法:
- 首先在系统设置语言中添加安装中文语言支持
- 然后在ibus的Text Entry Settings设置面板中添加pinyin输入法
- 默认是win+space在输入法之间进行切换
修改主机名:
自己的计算机名通过sudo gedit /etc/hostname文件进行修改
假设共有3台节点(master、slave1、slave2)
本机和子节点ip配置文件:
sudo gedit /etc/hosts 192.168.1.100 master 192.168.1.101 slave1 192.168.1.102 slave2
另:ip配置命令:ifconfig eth0 xxx
(网卡和ip都要根据自己的实际情况进行配置)
创建用户组和用户:
sudo addgroup hadoop
sudo adduser -ingroup hadoop hadoop
给用户添加(root)权限:
sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL下添加 hadoop ALL=(ALL:ALL) ALL
安装SSH
sudo apt-get install rsync
sudo apt-get install ssh (这个安装的时候会自动安装openssh-server)
ssh-keygen -t dsa -f ~/.ssh/id_dsa(生成秘钥,dsa或者rsa类型,不用设置密码,这样可以自动登录)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(将公钥放在authorized_keys授权文件中)
ssh localhost
方法二:
sudo ssh-keygen -t rsa -P "" (这样就不会提示输入密码,然后在.ssh 文件夹下生成私钥和公钥:id_rsa、id_rsa.pub)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (使用公钥生成authorized_keys授权文件)
[注]:
检查ssh服务是否启动:
ps -e | grep ssh
开启重启关闭ssh服务: sudo /etc/init.d/ssh start (restart / stop)
ssh的配置文件在 /etc/ssh/sshd_config
安装完ssh之后可以再windows中通过putty软件输入ip远程登录ubuntu
更详细的putty和ssh使用参见:http://www.linuxidc.com/Linux/2013-07/87368.htm
公钥与私钥的讲解参见:http://blog.csdn.net/tanyujing/article/details/17348321
rsa(非对称)公钥用来加密和解密签章,私钥用来解密和签章。dsa速度较快,用来身份验证。
JAVA SE 下载
[注]在ubuntu下也可以直接使用命令行工具:sudo apt-get install open jdk-6-jre
系统会默认将java jdk安装到/usr/lib/jvm/java-6-openjdk-i386目录下。
手动下载安装和配置:
地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
这里下载的是Java SE 7u67
java7Api:http://docs.oracle.com/javase/7/docs/api/
将下载下来的java jdk放置在~/setup/java-jdk-7u67目录下:
将jdk解压到系统目录中:
cd /usr/local/lib sudo su tar -zxvf /home/sunny/setup/java-jdk-7u67/jdk-7u67-linux-x64.tar.gz chown root:root -R /usr/local/lib/jdk1.7.0_67 chmod 755 -R /usr/local/lib/jdk1.7.0_67
修改系统变量,配置java环境:
gedit /etc/profile export JAVA_HOME=/usr/local/lib/jdk1.7.0_67 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
使之生效: source /etc/profile
检查安装是否成功:java -version
下载hadoop1.2.1
网址:http://mirrors.ibiblio.org/apache/hadoop/common
下载 tar.gz版本
将下载的文件放到~/setup/hadoop目录下,然后在家目录中建立目录~/usr
cd
mkdir -p ~/usr/hadoop
cd ~/usr/hadoop
tar -zxvf ~/setup/hadoop/hadoop-2.4.1.tar.gz
cd ~/usr/hadoop/hadoop-2.4.1/etc/hadoop
修改配置文件
core-site.xml 、mapred-site.xml、hdfs-site.xml、hadoop-env.sh:
方案一:
伪分布式配置
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
------------------------------------------------------
mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<property>
</configuration>
-------------------------------------------------------
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
-------------------------------------------------------
hadoop-env.sh:
export JAVA_HOME=/usr/local/lib/jdk1.7.0_67
格式化namenode文件系统
cd ~/usr/hadoop-1.2.1/
bin/hadoop namenode -format
开启服务:
cd ~/usr/hadoop-1.2.1/bin
./start-all.sh
查看启动的节点:
jps
查看系统运行:
在浏览器中输入localhost:50070
方案二:
分布式配置:
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
---------------------------------------------------
mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
<property>
</configuration>
----------------------------------------------------
hdfs-site.xml:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>~/usr/hadoop-1.2.1/datalog1,~/usr/hadoop-1.2.1/datalog2
</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>~/usr/hadoop-1.2.1/data1,~/usr/hadoop-1.2.1/data2
</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
--------------------------------------------------------------------
hadoop-env.sh:
export JAVA_HOME=/usr/local/lib/jdk1.7.0_67
--------------------------------------------------------------------
修改masters 和 slaves文件
gedit ~/usr/hadoop-1.2.1/conf/masters
master
gedit ~/usr/hadoop-1.2.1/conf/slaves
填写
slave1
slave2
格式化namenode文件系统
cd ~/usr/hadoop-1.2.1/
bin/hadoop namenode -format
复制节点:
在机器slave1和slave2中:
- 安装jdk
- 安装ssh,将master的公钥rsa_id.pub复制到slave节点中,生成authorized_keys文件
- 将master中已经配置好的~/usr/hadoop-1.2.1复制到slave节点中,在子节点中将hadoop-1.2.1目录下的datalog和data文件删除。
开启服务略...
分别开启服务:
开启namenode和secondarynamenode:bin/start-dfs.sh
开启datanode: bin/hadoop-daemon.sh start datenode
开启tasktracker: bin/hadoop-daemon.sh start tasktacker