windows 10开启bash on windows,配置sshd,部署hadoop

1、安装Bash on Windows 

  这个参考官网步骤,很容易安装,https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  安装过程很简单,主要是从应用商店下载bash的时候,比较容易失败,可能需要多试几次。

2、配置SSHD

  自带的命令行比较简陋,操作不方便。可以开启sshd,然后用xshell等终端登录。

  

/etc/ssh/
vim sshd_config

#修改以下几项
Port 2222 #windows 10会默认占用22端口,所以这里需要换成22端口外的其他端口。
ListenAddress 0.0.0.0 
UsePrivilegeSeparation no
PasswordAuthentication yes

#运行
sudo ssh-keygen -A

#测试可以使用ssh username@localhost -p 2222进行登录了 #编辑
/etc/sudoers 添加下面一行(using sudo visudo for safety): %sudo ALL=(ALL) NOPASSWD: /usr/sbin/sshd -D#便于从外部启动sshd。

 

3、开启windows自动运行sshd

  

新建startssh.bat

cd C:\Windows\System32
bash.exe -c "sudo /usr/sbin/sshd -D"

新建 autostartssh.vbe

set ws=wscript.createobject("wscript.shell")
ws.run "startssh.bat /start",0

双击autostartssh.vbe,启动sshd
将autostartssh.vbe加入windows自启动

 

4、创建hadoop用户

sudo useradd -m hadoop

sudo passwd hadoop

sudo adduser hadoop sudo

5、设置免密码登录

使用hadoop账号登录

   cd ~

   ssh-keygen -t rsa

cd .ssh

cat ./id_rsa.pub >> ./authorized_keys

6、配置java环境

vim ~/.bashrc

 

export JAVA_HOME=/home/hadoop/programs/jdk1.8.0_131

export PATH=$PATH:$JAVA_HOME/bin

 

source ~/.bashrc

 

7、安装hadoop

tar -zxf hadoop-2.8.0.tar.gz

cd hadoop-2.8.0

./bin/hadoop version

 

默认单机版,运行测试例子

mkdir ./input

cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

cat ./output/* 

 

8、配置伪分布式

vim etc/hadoop/core-site.xml

 

#路径必须放在能设置linux权限的目录

 

修改为

<configuration>

       <property>

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

            <value>file:/home/hadoop/programs/hadoop-2.8.0/tmp</value>

            <description>Abase for other temporary directories.</description>

       </property>

       <property>

            <name>fs.defaultFS</name>

            <value>hdfs://localhost:9000</value>

       </property>

</configuration>

 

修改 etc/hadoop/hdfs-site.xml

 

<configuration>

       <property>

            <name>dfs.replication</name>

            <value>1</value>

       </property>

       <property>

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

            <value>file:/home/hadoop/programs/hadoop-2.8.0/tmp/dfs/name</value>

       </property>

       <property>

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

            <value>file:/home/hadoop/programs/hadoop-2.8.0/tmp/dfs/data</value>

       </property>

</configuration>

 

格式化hdfs

./bin/hdfs namenode -format

 

vim ~/.bashrc

export HADOOP_SSH_OPTS="-p 2222" #根据实际情况编写,ssh的端口设置

 

vim etc/hadoop/hadoop-env.sh

 

注释掉export JAVA_HOME=${JAVA_HOME}, 添加新的JAVA_HOME

#export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/home/hadoop/programs/jdk1.8.0_131

 

启动

./sbin/start-dfs.sh

停止

./sbin/stop-dfs.sh

 

使用jps来判断是否启动成功, “NameNode”、”DataNode” 和 “SecondaryNameNode”

 

9、运行伪分布式例子

./bin/hdfs dfs -mkdir -p /user/hadoop

./bin/hdfs dfs -mkdir input

./bin/hdfs dfs -put ./etc/hadoop/*.xml input

./bin/hdfs dfs -ls input

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

./bin/hdfs dfs -cat output/*

 

10、配置YARN

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

 

vim etc/hadoop/mapred-site.xml

 

<configuration>

       <property>

            <name>mapreduce.framework.name</name>

            <value>yarn</value>

       </property>

</configuration>

 

vim etc/hadoop/yarn.site.xml

 

<configuration>

       <property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

           </property>

 

#如果出现running beyond virtual memory limits,添加下面这个配置

   <property>

       <name>yarn.nodemanager.vmem-check-enabled</name>

       <value>false</value>

   </property>

 

</configuration>

 

 

./sbin/start-yarn.sh      # 启动YARN

./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行情况

 

运行jps

多了 NodeManager 和 ResourceManager 两个后台进程

 

 

 

posted @ 2017-05-22 00:47  lwli  阅读(1128)  评论(0编辑  收藏  举报