hadoop环境配置(ubunbu伪分布式)

 1  安装虚拟机和操作系统

VMware-workstation-full-10.0.0  下载vmware

ubuntu-13.04-server-amd64.iso 下载ubuntu

2、  设置root用户密码

sudo passwd root   

注意 初始安装linux  问题: 初始安装ubuntu server后发现无法进入root,查了一下,如果想进入root帐户,可以使用安装时设置的非root帐号的密码进入,使用空密码是进不去root帐户的,进入root帐户后就可以给root帐户另设置一个密码了  执行:sudo passwd -u root  # 来启用我们的root账户,如果你后悔了可以执行 sudo passwd -l root 来重新lock root用户。

注意:sudo执行时输入的密码都是你当前用户的密码,不是root的密码。而且要保证你的用户具备了这种权限  配置文件在/etc/sudoers中。

然后给root创建一个密码:sudo passwd root   #看准提示进行输入,root的密码最好和其他用户的密码不同,不然会遇到一些麻烦。

现在root用户也不被禁用了,也有密码了,那么如何使用root进行登录呢?

3  上传文件

利用WinSCP上传JDKHADOOP文件,利用 putty连接虚拟机中的ubuntu下载WinSCP下载putty  下载jdk,(一定要注意版本号 32bit 还是 64 bit)下载hadoop(我用的1.2.1)

问题: putty连不上linux,提示:Network errorConnection refused

注意:

执行  

$sudo apt-get install openssh-server  

安装ssh协议 

执行ifconfig显示Ubuntuip地址 

xp中用putty输入Ubuntuipssh协议远程登录

 

4  配置JDKHADOOP

tar -xzvf jdk-7u40-linux-x64.tar.gz

tar -xzvf hadoop-1.2.1.tar.gz

sudo vi /etc/profile

增加:

export JAVA_HOME=/home/szy/jdk1.7.0_40

export PATH=$PATH:$JAVA_HOME/bin: /home/sun/hadoop-1.2.1/bin

source /etc/profile

5、配置HADOOP

配置主机名称及网络

vi /etc/hostname

指定名称为host001

vi /etc/hosts

替换内容为:192.168.137.128(这个是你的虚拟机分配给你的网段 ifconfig 可以看你的ip相关信息) host001

同时加入C:\Windows\System32\drivers\etc\hosts文件

查看是否启用IPV6:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

显示0说明ipv6开启,1说明关闭

关闭ipv6的方法:

sudo vi /etc/sysctl.conf

增加下面几行,并重启

#disable IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

配置SSH

cd /home/ysc

sudo apt-get install openssh-server

ssh-keygen -t rsa(密码为空,路径默认)

cp .ssh/id_rsa.pub .ssh/authorized_keys

ssh host001

yes

cd hadoop-1.2.1

配置HADOOP环境变量

vi conf/hadoop-env.sh

增加:

export JAVA_HOME=/home/szy/jdk1.7.0_40

配置HADOOP运行参数

vi conf/masters

改localhost为host001

 

vi conf/slaves

改localhost为host001

 

vi conf/core-site.xml

 

<property>

<name>fs.default.name</name>

<value>hdfs://host001:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/szy/tmp</value>

</property>

 

vi conf/hdfs-site.xml

<property>

  <name>dfs.name.dir</name>

  <value>/home/szy/dfs/filesystem/name</value>

</property>

<property>

  <name>dfs.data.dir</name>

  <value>/home/szy/dfs/filesystem/data</value>

</property>

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

 

vi conf/mapred-site.xml

                   

<property>

  <name>mapred.job.tracker</name>

  <value>host001:9001</value>

</property>

<property>

  <name>mapred.tasktracker.map.tasks.maximum</name>

  <value>4</value>

</property>

<property>

  <name>mapred.tasktracker.reduce.tasks.maximum</name>

  <value>4</value>

</property>

<property>

  <name>mapred.system.dir</name>

  <value>/home/szy/mapreduce/system</value>

</property>

<property>

  <name>mapred.local.dir</name>

  <value>/home/szy/mapreduce/local</value>

</property>

 以上相关信息的定义你可以去网上查到  如果大家不是很喜欢用vi 编辑器  大家可以用上面的winscp 编辑相关属性 只是个人建议

格式化名称节点并启动集群

[plain] view plaincopy

1.     $ cd hadoop-1.2.1

2.     $ mkdir logs  

3.     $ bin/hadoop namenode -format  

[plain] view plaincopy

1.     $ cd hadoop-1.2.1  

2.     $ mkdir logs  

3.     $ bin/hadoop namenode -format

Bin/hadoop  namenode  -format

启动集群并查看WEB管理界面

Bin/start-all.sh

访问http://host001:50030可以查看 JobTracker 的运行状态

访问http://host001:50060可以查看 TaskTracker 的运行状态

访问http://host001:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 

hadoop jar hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar -inputinput -output output-streaming  -mapper/bin/cat -reducer /usr/bin/wc

hadoop  jar  hadoop-1.2.1/hadoop-examples-1.2.1.jar  wordcount  input  output

停止集群

stop-all.sh

Permission denied: user=Administrator, access=WRITE, inode="root":root:supergroup:rwxr-xr-x
此类错误说明本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

解决方法给相应没权限的目录设置下777权限。如给root目录设置权限

./hadoop fs -chmod 777 /user/root

 

如果出现:Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.ClientProtocol 可以尝试下面解决方法

1、防火墙是否关掉
2、9001 9000的端口是否配置错误Host是Master的IP地址、9001是mapred.job.tracker端口、9000是fs.default.name的端口
3、重启EclipseIDE

你可能感兴趣的:(hadoop环境配置(ubunbu伪分布式))