Linux环境下安装Hadoop

Hadoop安装

环境:VirtualBox,Linux,jdk1.8,hadoop-2.6.0-cdh5.14.2.tar.gz

hadoop安装:

首先,检查机器是不是安装了jdk1.8

[root@km1 /]#java -version

其次:多台虚拟机免密登录

先查看用户名,看看用哪台机器作为主机
[root@km1 /]#hostname
[root@km1 /]#cd ~
普通登录到192.168.56.162用户
[root@km1 /]#ssh 192.168.56.162
在运行中会问你要密码
很麻烦
所以生成公私钥匙
[root@km1 ~]#ssh-keygen -t rsa -P ''
中间会有停顿,直接回车
生成公私钥
[root@km1 ~]#cd .ssh/
[root@km1 ~]#ls
一下:
会看见
id_rsa	id_rsa.pub	known_hosts	三个文件夹,有.pub表示公钥
其他两台机器同样这么做
[root@km2 ~]#ssh-keygen -t rsa 
[root@km3 ~]#ssh-keygen -t rsa 
然后:
[root@km2 ~]#cd .ssh/
[root@km3 ~]#cd .ssh/
[root@km2 ~]#ls
[root@km3 ~]#ls
因为要免密登录,就需要把主机的公钥复制过来,那么就要删掉原机器上的公钥,私钥也可以顺手删除
[root@km2 .ssh]#rm -rf id_rsa.pub
[root@km3 .ssh]#rm -rf id_rsa.pub
[root@km2 .ssh]#rm -rf id_rsa
[root@km3 .ssh]#rm -rf id_rsa
回到第一台机器那里:拷贝主机的公钥到另外两台机器上去scp指跨服拷贝命令
[root@km1 ~]#scp id_rsa.pub root@192.168.56.162:/root/.ssh/
[root@km1 ~]#scp id_rsa.pub root@192.168.56.163:/root/.ssh/
去第二第三台机器那里
[root@km2 .ssh]#cat id_rsa.pub >> authorized_keys
[root@km3 .ssh]#cat id_rsa.pub >> authorized_keys
这是一个授权命令,不能写错
然后检查:
[root@km3 .ssh]#ls
authorized_keys	id_rsa.pub
授权给authorized_keys,第二台机器也一样
[root@km3 .ssh]#chmod 600 authorized_keys
回到第一台机器就可以进行试验了
[root@km1 .ssh]#ssh 192.168.56.162
[root@km2 ~]#exit
connection to 192.168.56.162 closed

如果想直接用名字登录
则:
[root@km1 .ssh]#vi /etc/hosts
添加:
192.168.56.161 km1
192.168.56.162 km2
192.168.56.163 km3
:wq保存
同样的,另外倆也可以这么做

安装hadoop(413M那个)

[root@km1 ~]#cd /opt/
[root@km1 ~]#ls
hadoop-2.6.0-cdh5.14.2.tar.gz	jdk....		soft
好了,解压hadoop
[root@km1 opt]#tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
移动到soft里
[root@km1 opt]#mv hadoop-2.6.0-cdh5.14.2 soft/hadoop260
进入soft
[root@km1 soft]#cd hadoop260/etc/hadoop
[root@km1 hadoop]#pwd(看你在哪的命令,等同于whereis hadoop)
修改配置:
[root@km1 hadoop]#echo $JAVA_HOME
这是看javajdk路径  /opt/soft/jdk180
修改1: hadoop-env.sh
[root@km1 hadoop]#vi hadoop-env.sh
找到export,贴上自己的路径
export JAVA_HOME=/opt/soft/jdk180
:wq

修改2: vi core-site.xml
新开一个窗口,新建一个tmp文件
[root@km1 hadoop260]#mkdir tmp
新开一个窗口,新建一个tmp文件
[root@km1 hadoop]#vi core-site.xml
<configuration>
 	<property>
                <name>fs.defaultFS</name>
                <value>hdfs://km1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/soft/hadoop260/tmp</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.groups</name>
                <value>*</value>
        </property>
</configuration>
:wq

修改3:vi hdfs-site.xml
[root@km1 hadoop]#vi hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
</configuration>

修改4:vi mapred-site.xml
[root@km1 hadoop]#cp mapred-site.xml.template mapred-site.xml
[root@km1 hadoop]#vi mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

修改5:vi yarn-site.xml
[root@km1 hadoop]#vi yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>km3</value>
        </property>
         <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

修改6:vi slaves(修改从节点)
删掉localhost
添加:
km2
km3
将所有配置远程传输到第二台、第三台机器上
[root@km1 hadoop]#scp -r /opt/soft/hadoop260/ root@192.168.56.162:/opt/soft/
[root@km1 hadoop]#scp -r /opt/soft/hadoop260/ root@192.168.56.163:/opt/soft/
修改profile文件
vi /etc/profile
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
:wq

激活一下:
source /etc/profile
另外两台机器也需如此处理
格式化所有节点:
hdfs namenode -format
然后启动就行:
[root@km1 hadoop]#start-all.sh
行到这里会发现启动报错,那是因为第一台机器没有给authorized_keys授权
那么就自己给自己授权呗
[root@km1 hadoop]#cd /root/.ssh/
[root@km1 .ssh]#ls
[root@km1 .ssh]#cat id_rsa.pub >> authorized_keys
[root@km1 .ssh]#chmod 600 authorized_keys
[root@km1 .ssh]#ssh km1
[root@km1 ~]#exit
重启,如果上面就已经配置过这一步了,那么就不用进行这一步了
休眠重启报错解决:jps缺少datanode或namenode
去cd /opt/soft/hadoop260 目录下删除tmp和log文件夹,再格式化
hdfs namenode -format
重启就有了

退出安全模式
[root@km1 hadoop]#hdfs dfsadmin -safemode leave

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值