hadoop安装记录1

本次安装集群信息:
192.168.201.91 hadoop-1
192.168.201.92 hadoop-2
192.168.201.56 hadoop-3
Linux系统:ubuntu 18.04LTS
公司安装的是最新的系统,cdh都还不能兼容,只能苦哈哈的一个个自己安装啦···

============================================================
1.设置新用户wjk/wjk
2.设置三台机品相互免密登录
配置SSH

$ ssh-keygen -t rsa -P ''

将public key加入到authorized_keys中,这样hadoop在运行ssh时就不需要输入密码了

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

现在我们测试一下ssh

$ ssh localhost

如果你被询问是否确认连接,输入yes。如果你发现在即不需要输密码,cool – 至少到目前位置你是正确的。否则,请debug。

$ exit

接下来,为了使master能免密访问slave:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub wjk@hadoop-1
$ ssh hadoop-s1

3.安装Hadoop
Hadoop的各个版本的Release版本在http://hadoop.apache.org/releases.html
在Master和Slave节点上
下载hadoop-2.7.7压缩包,并解压。

$ wget http://www.trieuvan.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
$ sudo tar -xzvf hadoop-2.7.7.tar.gz -C /usr/local
$ cd /usr/local
$ sudo chown -R wjk:hadoop hadoop-2.7.7

分发:

$ sudo scp -r /usr/local/hadoop-2.7.7/ hadoop-3:/usr/local/

4.安装java
此处安装1.8
JAVA_HOME=/opt/jdk/jdk1.8.0_181

配置Hadoop环境

$ cd ~
$ vim .bashrc

将下面的内容复制到.bashrc中

#Hadoop variables
export JAVA_HOME=/opt/jdk/jdk1.8.0_181
export HADOOP_INSTALL=/usr/local/hadoop-2.7.7
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

###end of paste

退出.bashrc

然后将JAVA_HOME配置到/etc/hadoop/hadoop-env.sh里,这个文件指定了Hadoop的守护进程使用的JDK环境变量。

$ cd /usr/local/hadoop-2.7.7/etc/hadoop
$ vim hadoop-env.sh

将下面的三行加入到hadoop-env.sh中,删除原来的 “export JAVA_HOME”那行

# begin of paste
export JAVA_HOME=/opt/jdk/jdk1.8.0_181
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop-2.7.7/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop-2.7.7/lib/"
### end of paste

退出terminal再重新打开

配置Hadoop

$ cd /usr/local/hadoop/etc/hadoop
$ vim core-site.xml

将下面的内容复制到标签内

<property>
   <name>fs.default.name</name>
   <value>hdfs://192.168.201.91:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-2.7.7/tmp</value>
 </property>

$ vim yarn-site.xml
将下面的内容复制到标签内

<property>
 <!-- 指定reducer获取数据的方式-->
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
$ mv mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml

将下面的内容复制到标签内

<!-指定Mapreduce运行在yarn上-->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

创建目录:

$ mkdir -p ~/mydata/hdfs/namenode
$ mkdir -p ~/mydata/hdfs/datanode
$ vim hdfs-site.xml

将下面的内容复制到标签内

 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/wjk/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/wjk/mydata/hdfs/datanode</value>
 </property>

配置从节点

vim /usr/local/hadoop-2.7.7/etc/hadoop/slaves

如下:

hadoop-2
hadoop-3

格式化 namenode
第一次启动hadoop服务之前,必须执行格式化namenode

$ hdfs namenode -format

启动服务

$ start-dfs.sh && start-yarn.sh

使用jps查看服务
$ jps
如果一切顺利,你会看到:
17785 SecondaryNameNode
17436 NameNode
17591 DataNode
18096 NodeManager
17952 ResourceManager
23635 Jps

网页界面
Cluster status: http://192.168.201.91:8088
HDFS status: http://localhost:50070
Secondary NameNode status: http://localhost:50090

错误说明:
1.Error:JAVA_HOME is not set and could not be found 解决
其实是hadoop里面hadoop-env.sh文件里面的java路径设置不对,hadoop-env.sh在hadoop/etc/hadoop目录下,具体的修改办法如下:
sudo vim /usr/local/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
将语句 export JAVA_HOME=$JAVA_HOME
修改为 export JAVA_HOME=/opt/jdk/jdk1.8.0_181
保存后退出。
再次输入start-dfs.sh启动hadoop,则没有报错。

2.Hadoop出现错误:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable,解决方案
1
修改hadoop-env.sh
添加

$ export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop-2.7.7/lib/native/"
$ export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop-2.7.7/lib/"

2在bashrc中加入如下配置:
vim ~/.bashrc
配置如下

export HADOOP_HOME=/opt/jdk/jdk1.8.0_181
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

3 使上面配置生效:
source ~/.bashrc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛@漫步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值