欢迎投稿

今日深度:

Linux上Hadoop从部署环境到启动的步骤及其遇到的问题集合,linuxhadoop

Linux上Hadoop从部署环境到启动的步骤及其遇到的问题集合,linuxhadoop


一、软件下载

Hadoop-2.7.2稳定版 下载地址 

jdk1.8 下载地址

FileZila(传文件到linux虚拟机里面) 下载地址

SecureCrt(linux模拟终端) 下载地址

二、环境配置

1.解压刚才下载的文件 命令分别为(在/home/app目录下)

tar -xvf Hadoop-2.7.2

tar -xvf jdk1.8

2.jdk环境配置

sudo vi /etc/profile;

export JAVA_HOME=/home/app/jdk1.8

export HADOOP_HOME=/home/app/Hadoop-2.7.2

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

         保存退出:按ESC,输入     :wq!

  环境生效source /etc/profile

如果以后环境失效的话 也可以使用该命令是环境生效

3.HADOOP环境配置

      切换到Hadoop配置文件的路径下  cd  /home/app/hadoop-2.7.2/ect/hadoop

需要配置的文件如下

hadoop-env.sh 

sudo vi hadoop-env.sh ,找到 export JAVA_HOME={JAVA_HOME} 修改为 export JAVA_HOME=/home/app/jdk1.8


core-site.xml 

<!-- 指定HADOOP所使用的文件系统schema(URI),NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://
主机名:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/
app/hadoop-2.7.2/tmp</value>
    </property>

hdfs-site.xml

<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
    </property>

mapred-site.xml(目录下是 mapred-site.xml.template,重命名就行了 mv mapred-site.xml.template mapred-site.xml)

<!-- 制定mr运行在yarn上面-->

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
    </property>


yarn-site.xml

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>
主机名</value>
    </property>
<!-- reducer获取数据的方式 -->
    <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
     </property>

三、环境验证及启动

jdk验证 java -version

   java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

hadoop文件系统的格式化

hadoop namenode -format

启动进程

start-all.sh

查看进程是否启动 jps

3635 SecondaryNameNode
4039 NodeManager
3145 NameNode
4363 Jps
3820 ResourceManager
3359 DataNode
 启动成功

四、如果你们很幸运的话,应该就不会看到这一步的,所以这里是结合我遇到的问题解决你遇到的所有问题的

异常①

SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: BigData: BigData: No address associated with hostname

翻译过来就是没有找到地址与主机名映射,以为我们之前配置文件的时候使用的是主机名而不是地址,所以需要配置下hosts

sudo vi /etc/hosts 配置如下

127.0.0.1       localhost
192.168.23.129  BigData
(IP与主机映射)

异常②

16/11/18 19:27:09 WARN namenode.NameNode: Encountered exception during format: 
java.io.IOException: Cannot create directory /home/app/hadoop-2.7.2/tmp/dfs/name/current

没有权限创建目录,因为如果你之前应该是在root权限下创建其父目录的,解决办法,修改文件目录的访问权限

sudo chmod 777 /home/app/hadoop-2.7.2 ,再次格式化,如果出现16/11/18 19:30:23 INFO util.ExitUtil: Exiting with status 0,则格式化成功,完美解决

异常③

如果出现启动Hadoop没有权限,则也可以使用上面的方法,修改hadoop主目录下的权限sudo chmod 777 /home/app/hadoop-2.7.2   或者  sudo chown 777  /home/app/hadoop-2.7.2

异常④

java.io.IOException: Cannot remove current directory: /home/app/hadoop-2.7.2/tmp/dfs/name/current

这个异常是由于,你之前有可能使用root已经格式化一次了,文件目录是在root权限下创建的,你可以使用root权限强制删除该文件

sudo rm -rf /home/app/hadoop-2.7.2/tmp,sudo rm -rf /home/app/hadoop-2.7.2/log,或者使用上面的方式修改该目录的权限

异常⑤

每次切换用户或者重新打开一个窗口,环境失效的问题,

可以将 /etc/profile,配置的环境变量移到~/.bashrc里面。就可以了,重启一下或者使用source ~/.bashrc

五、实现无密码登录

进入到主目录下 cd ~ 使用ls -a,将会看到.ssh的隐藏文件夹,前提是你安装了ssh 安装方法,sudo apt-get install ssh

cd .ssh

ssh-keygen -t rsa (四个回车),生成公私秘钥

会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要登陆的机器上,因为在本阶段,你是在本地启动的,则把公钥拷贝到本地就行了,方法

在当前目录下(/home/yl): sudo touch authorized_keys(创建授权列表文件)

将公钥内容追加到该文件下 cat id_rsa.pub >>authorized_keys

更改该文件的访问权限:sudo chmod 700 authorized_keys

完成,再次启动hadoop进程就可以实现无密码登录了

注意:如果你是两台机器,你如果把公钥考到另外一台机器上,你就需要scp id_rsa.pub Hadoop:/home/yl命令,将文件拷贝到另一台机器上

如果此时出现什么拒绝或权限不足的情况,多半是另一台机器上的用户不对该目录没有访问权限,使用chmod 777 /home/yl进行修改就行了

 




www.htsjk.Com true http://www.htsjk.com/Hadoop/32388.html NewsArticle Linux上Hadoop从部署环境到启动的步骤及其遇到的问题集合,linuxhadoop 一、软件下载 Hadoop-2.7.2稳定版 下载地址  jdk1.8 下载地址 FileZila(传文件到linux虚拟机里面) 下载地址 SecureCrt(linux模拟...
相关文章
    暂无相关文章
评论暂时关闭