Hadoop第一天

来源:互联网 发布:黑马程序员 百度云 编辑:程序博客网 时间:2024/06/07 03:39


Hadoop部署方式:

1.关闭防火墙

2.修改ip

3.修改hostname

4.设置ssh自动登录

5.安装JDK

6.安装Hadoop

伪分布式安装【用root登录】

1.Host-only设置静态IP:

虚拟网络编辑器->仅主机模式->设置子网网段->在windows下的网络连接中VMware Network Adapter VMnet1设置相应的网段,但注意主机和宿主机不要设置一样的ip->在linux中设置静态ip->设置完成后重新启动网卡service network restart   然后主机和宿主机互ping如果不能ping通,见下方问题1


2.修改主机名:

hostname 显示当前用户名

hostname liuke修改当前主机名为liuke,但是只对于当前系统修改了,如果想一劳永逸则需要修改配置文件   vim   /etc/sysconfig/network     然后重启,但是如果要ping liuke还是不行的,因为没有把主机名和ip绑定起来,所以要vim ./etc/hosts 在最后增加一行      192.168.80.88   liuke保存后再ping liuke 是 没问题的

3. 关闭防火墙:

因为在操作hadoop的时候要用到很多的端口,所以直接把防火墙关闭就不用麻烦了,

查看防火墙状态:service iptables status

关闭防火墙:service iptables stop  然后再次验证service iptables status

但是要防止开机自动重启

查看开机配置状态:chkconfig  --list

查看开机防火墙状态:chkconfig --list | grep iptables

关闭所有的防火墙自启情况:chkconfig iptables off

验证是否关闭自启: chkconfig --list | grep iptables  全部显示off则是成功状态

4. SSH(secure shell)的免密码登录

《1》执行命令产生秘钥  ssh-keygen -t rsa  产生秘钥,位于~/.ssh文件中

《2》执行命令 cp ~/.ssh/id_rsa.pub  ~/.ssh/authorized_keys

《3》验证  ssh localhostexit退出

5.安装JDK和Hadoop

《1》清空/usr/local中内容          rm -rf *                         -r代表递归删除-f代表强制删除

《2》用WinSCP软件讲jdk和hadoop移动到/usr/local中

《3》解压jdk ./jdk-6u24-linux-i586.bin发现权限不够, 增加执行权限        chmod u+x jdk-6u24-linux-i586.bin

《4》解压./jdk-6u24-linux-i586.bin    重命名解压出来的文件 mv jdk1.6.0_24 jdk

《5》配置jdk到环境变量中 vim /etc/profile

export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH

保存退出

《6》让配置立即生效    source /etc/profile      java -version验证

6. 安装hadoop

《1》解压hadoop          tar -zxvf  hadoop-2.8.0.tar.gz

《2》重命名解压出来的文件         mv hadoop-2.8.0 hadoop

《3》配置环境变量         vim /etc/profile

export HADOOP_HOME=/usr/local/jdk
export PATH=.
:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

《4》让配置生效          source  /etc/profile


《5》修改hadoop  4ge配置文件,配置伪分布式(需要注意,2.x版本的配置文件在/usr/local/hadoop/etc/hadoop/)

1.hadoop-env.sh 

export JAVA_HOME=/usr/local/jdk/

2.core-site.xml 

<configuration>    <property>        <name>fs.default.name</name>        <value>hdfs://liuke:9000</value>        <description>change your own hostname</description>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/usr/local/hadoop/tmp</value>    </property>  </configuration>

3.hdfs-site.xml

<configuration>    <property>        <name>dfs.replication</name>        <value>1</value>    </property>    <property>        <name>dfs.permissions</name>        <value>false</value>    </property></configuration>

4.mapred-site.xml

需要从mapred-site.xml.template 拷贝mapred-site.xml

<configuration>    <property>        <name>mapred.job.tracker</name>        <value>liuke:9001</value>        <description>change your own hostname</description>    </property></configuration>

7. 然后对hadoop进行格式化hadoop namenode -format


格式化的时候遇到的问题比较多,但最后还是解决了,主要是 1. 2.x已经不用hadoop namenode -format来格式化了,反而用的是 hdfs namenode format

2. 我用的是hadoop2.8版本,但是当我用jdk-6u24-linux-i586.bin的时候,不能格式化,当我换成jdk-8u111-linux-x64.tar.gz时还是报错,所以应该是版本号不兼容64位和32位的问题,所以我换了jdk-7u79-linux-i586.tar.gz,成功格式化。



8.start-all.sh开启hadoop

在2.0以后的版本中开启的服务不会是     namenode datanode secondarynamenode jobtracker tasktracker了,而是用了YARN

namenode datanode secondarynamenode nodemanager resourcemanager

namenode与resourcemanager放在一起,secondarynamenode单独运行,datanode与nodemanager在每台salve服务器上运行。

9.在linux浏览器中输入    liuke:50070 liuke:8088




小知识点:

1. linux系统中如何进入退出vim编辑器

第一种方法:ESC->冒号wq

种方法:ESC->冒号x

第三种方法:ESC->ZZ

2. pwd 显示当前路径




遇到的问题和解决方法:

1.host-only模式下虚拟机ping不通主机 主机却可以ping通虚拟机 解决方案

解决方案:在控制面板->Windows防火墙->允许程序或功能通过Windows防火墙->文件和打印机共享

2.start-all.sh开启hadoop是报错ould not resolve hostname you: Temporary failure in name resolution很多错误

解决方案:在 /etc/profile 中添加如下信息:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

执行 source /etc/profile 使之立即生效。

3.多次格式化会错误

解决方案:删除/usr/local/tmp




原创粉丝点击